🌤️ weather-gadget-jira

Inspiration

The inspiration for weather-gadget-jira stemmed from the need to streamline workflows inside Jira without constantly switching tabs to check weather conditions. Whether coordinating outdoor work, events, or simply staying informed while planning across geographies, having weather updates embedded in Jira project pages enhances situational awareness for teams. The goal was to provide real-time, location-specific weather data within Jira in a secure, compliant, and developer-friendly way.

What it does

This Forge-powered app allows users to enter a city name and fetch live weather updates directly within Jira. The app shows temperature, humidity, pressure, wind speed, and precipitation (if available). It fetches this data from the OpenWeatherMap API via a secure backend resolver, ensuring compliance with Atlassian’s Content Security Policy (CSP) while delivering a seamless UI experience using React.

How we built it

The project was built using Atlassian Forge with the Custom UI template. The frontend was developed using React (create-react-app) and deployed inside the Forge environment. To securely fetch data from OpenWeatherMap, we implemented a Forge resolver function using @forge/api, which allows backend HTTP calls. The frontend and backend communicate using @forge/bridge and invoke(). We configured manifest.yml to define project modules and grant external fetch permissions to the OpenWeatherMap domain. Development was done locally using forge tunnel, and deployed via forge deploy.

Challenges we ran into

The main challenge was handling CSP restrictions in Forge, which blocked direct API calls from the frontend. We overcame this by offloading API calls to the backend resolver and invoking it securely from the React UI. Additional challenges included handling edge cases where weather data was incomplete (e.g., no rain reported) and managing frontend build issues due to outdated or deprecated dependencies in create-react-app.

Accomplishments that we're proud of

I am proud to have built a fully functional, secure, and responsive weather app embedded directly in Jira. Overcoming the CSP limitation and achieving a clean separation of concerns between the UI and backend logic was a big win. The final user experience is simple yet valuable for teams who want context-aware planning features without leaving their workflow.

What we learned

I have gained hands-on experience working with the Atlassian Forge platform, particularly in understanding its security model, resolver functions, and integration patterns. I also learned how to structure Forge apps using React and Custom UI, manage build pipelines, and work around frontend-backend communication limits with @forge/bridge. This project deepened our understanding of building secure, cloud-native extensions within strict platform guidelines.

What's next for weather-gadget-jira

Future enhancements include adding geolocation support to auto-detect the user's city, displaying weather icons, and supporting 3-day or 7-day forecasts. We also plan to improve the UI with better styling, error handling for invalid city inputs, and possibly integrate with other APIs like air quality or sunrise/sunset times. Long-term, we may publish the app to the Atlassian Marketplace for public use.

Built With

Share this project:

Updates