Inspiration

The idea for the Jira Weather Dashboard Gadget came from a desire to enhance the productivity dashboard experience. As many teams use Jira dashboards daily, I realized that integrating weather information directly into this workflow could help teams plan their days better, especially for field work or outdoor activities, without needing to switch contexts or applications.

What it does

The Jira Weather Dashboard Gadget allows users to:

  1. Configure their specific location by entering city and country
  2. Choose between metric and imperial measurement units
  3. View current weather conditions including temperature, "feels like" temperature, and humidity
  4. See weather icons that visually represent current conditions
  5. Access a 5-day forecast to help with sprint and weekly planning All displayed directly within their Jira dashboard without leaving the platform

How I built it

I built the gadget using Atlassian Forge, a cloud app development platform specifically designed for Atlassian products. The development process involved:

  1. Creating the app structure using the Forge CLI and the jira-dashboard-gadget template
  2. Developing the frontend using Forge UI Kit components like Box, Inline, Text, and Image
  3. Implementing backend resolvers that securely communicate with OpenWeatherMap APIs
  4. Building a configuration interface that allows users to customize their experience
  5. Using environment variables to securely store API keys
  6. Handling asynchronous API calls and implementing proper error handling
  7. Styling the interface to be consistent with Atlassian design patterns

Challenges I ran into

  1. API Integration: Working with external APIs while respecting Forge's security model required careful implementation
  2. Data Processing: Converting the OpenWeatherMap forecast data (which comes in 3-hour increments) into a meaningful daily forecast required additional logic
  3. State Management: Ensuring the gadget remained responsive while handling multiple API calls and state changes
  4. Error Handling: Creating a graceful experience when API calls fail or return unexpected data
  5. Permission Configuration: Understanding and properly implementing the required permissions in the manifest file
  6. UI Constraints: Designing an information-rich interface that works within the space constraints of a dashboard gadget

Accomplishments that I am proud of

  1. Creating a fully functional app that integrates external data into the Jira experience
  2. Implementing a clean, intuitive UI that adheres to Atlassian design principles
  3. Successfully working with Forge's security model while still providing valuable external data
  4. Building a configuration experience that makes setup simple for end users
  5. Creating an app that genuinely improves workflow efficiency for weather-dependent teams

What I learned

This project was an excellent opportunity to dive deep into Forge, Atlassian's cloud app development platform. Through building this gadget, I gained valuable experience with:

  1. Forge UI Kit: I learned how to leverage Forge's UI Kit components to create responsive, accessible interfaces that match Atlassian's design patterns
  2. Forge Permissions Model: Understanding how to properly declare and use external API permissions was crucial for integrating with the OpenWeather API
  3. State Management: I implemented proper state handling for user inputs and API responses
  4. Environment Variables: I learned how to securely store and use API keys without exposing them in the client code
  5. Form Handling: Creating intuitive configuration forms with validation improved my skills in building user-friendly interfaces

What's next for Jira Weather Dashboard Gadget

  1. Add weather alerts and notifications for extreme conditions
  2. Implement location detection based on user preferences
  3. Create team-specific views that could show weather for multiple office locations
  4. Add historical weather data visualization for planning purposes
  5. Include integrations with calendar events that might be weather-dependent

This project demonstrated the power of Forge to extend Atlassian products with valuable integrations that enhance the user experience while maintaining security and performance.

Share this project:

Updates