###Inspiration

The inspiration came from exploring Atlassian's Forge platform and the need to create unified experiences across Jira and Confluence. We wanted to build a cross-product app that demonstrates how modern cloud development can seamlessly integrate with Atlassian's ecosystem.

### What it does

This Forge app creates a personalized greeting experience that works in both Jira and Confluence. It:

  • Displays a personalized welcome message using the current user's display name
  • Detects and shows the current UI theme (light/dark mode)
  • Automatically adapts to work in both Jira project pages and Confluence space pages
  • Provides a foundation for building more complex cross-product features

###How we built it

We built this using Atlassian's Forge platform with:

  • React and Forge UI Kit 2 for the frontend interface
  • Forge Bridge API to access user context and make authenticated API calls
  • Cross-product manifest configuration to deploy to both Jira and Confluence
  • Modern JavaScript with hooks for state management
  • Forge resolvers for backend logic and context-aware responses

###Challenges we ran into

  • Handling API differences between Jira and Confluence REST endpoints
  • Implementing fallback logic when one product's API isn't available
  • Managing asynchronous user data fetching with proper error handling
  • Understanding Forge's security model and permission scopes
  • Ensuring the app works seamlessly across different Atlassian products

### Accomplishments that we're proud of

  • Successfully created a truly cross-product app that works in both Jira and Confluence
  • Implemented intelligent API fallback logic for maximum compatibility
  • Built a clean, modern React interface using Forge's UI components
  • Achieved proper error handling and user-friendly fallbacks
  • Created a foundation that can be extended for more complex features

What we learned

  • How to leverage Forge's unified platform for cross-product development
  • The nuances of different Atlassian product APIs and their authentication
  • Best practices for handling asynchronous operations in Forge apps
  • The importance of graceful degradation when APIs are unavailable
  • How to use Forge's context system to create product-aware experiences

###What's next for My first Forge App

  • Add interactive features like user preferences storage
  • Implement team collaboration features that sync across Jira and Confluence
  • Create custom UI components for richer user experiences
  • Add analytics to track usage patterns across products
  • Explore AI/automation capabilities using Forge's platform features
  • Expand to support more Atlassian products like Bitbucket or Trello

Built With

Share this project:

Updates