Inspiration
As a developer, I was frustrated by the constant context-switching between Jira, GitHub Actions, and GitLab CI to track deployment statuses. Teams waste hours manually updating issue statuses after pipeline runs, and critical failures often go unnoticed until someone manually checks. I wanted to build a solution that brings CI/CD visibility directly into Jira where development teams already work, eliminating friction and improving team productivity.
What it does
CI/CD Pipeline Dashboard for Jira is a unified monitoring solution that integrates both GitHub Actions and GitLab CI pipelines directly into Jira issues. The app provides:
Real-time pipeline status displayed in custom Jira issue panels with visual indicators (success/failed/running)
Dual platform support - automatically detects and displays pipelines from both GitHub Actions and GitLab CI
Smart automation - automatically transitions issue statuses based on pipeline results (In Progress → Ready for Review → Done)
Instant failure notifications - adds comments with error details and direct links to logs when pipelines fail
Rovo AI agent - enables conversational queries about pipeline status, failed deployments, and team-wide analytics
Team-wide visibility - developers can see pipeline metrics including success rates, average duration, and recent failures across the entire project
How we built it
The app is built using Atlassian Forge with a modern tech stack:
Frontend: Custom UI using React with Forge Bridge API for seamless Jira integration
Backend: Node.js 22.x on ARM64 architecture for optimal performance
Webhooks: Dual webhook handlers that process events from both GitHub Actions and GitLab CI in real-time
Storage: Forge Storage API with startsWith() queries for efficient pipeline data retrieval
AI Integration: Four Rovo agent actions with natural language prompts for conversational pipeline insights
Architecture: Event-driven design with defensive programming patterns for reliability
Key technical implementations:
Webhook payload normalization to handle different event structures from GitHub and GitLab
Auto-detection of CI/CD source platform with visual indicators (🐙 GitHub / 🦊 GitLab)
Forge resolver functions for fetching pipeline data and managing Jira transitions
Hot-reload development workflow for rapid iteration
Challenges we ran into
Storage API Limitations - Forge Storage doesn't support complex WHERE clauses with LIKE operators. I had to pivot to using startsWith() queries and implement client-side filtering for pattern matching.
Sandboxed iframe restrictions - Initial attempts to open external links via failed due to popup blockers. Solved by using Forge's router.open() API for proper navigation.
Dual platform complexity - GitHub Actions and GitLab CI have completely different webhook payload structures. I built a normalization layer that maps both to a unified data model, enabling the same UI to work seamlessly with both platforms.
Rovo without Premium tier - Testing Rovo Chat requires a Premium Atlassian account. I implemented a test interface within the Jira panel that directly invokes Rovo actions, demonstrating functionality without needing the chat UI.
Real-time updates - Coordinating webhook timing with Jira API rate limits required careful error handling and retry logic to ensure reliable status updates.
Accomplishments that we're proud of
Dual platform support - Most CI/CD integrations support only one platform. Supporting BOTH GitHub Actions and GitLab CI in a single app is unique and valuable for teams using multiple platforms
Production-ready quality - Successfully tested with real pipelines, verified auto-comments appearing within 39 seconds of failure, and confirmed status transitions work correctly
Complete Rovo implementation - Built 4 fully functional AI agent actions (getPipelineStatus, getFailedPipelines, getDeploymentHistory, getPipelineTrends) with working test interface
Zero manual configuration - The app auto-detects pipeline sources and extracts issue keys from commit messages, requiring no setup beyond webhook configuration
Enterprise-grade reliability - Defensive programming with fallbacks for undefined data, comprehensive error handling, and graceful degradation
What we learned
Forge limitations and workarounds - Learned the boundaries of Forge Storage API and creative solutions like startsWith() queries with client-side filtering
Event-driven architecture at scale - Designing webhook handlers that process thousands of events reliably requires careful thought about idempotency and error recovery
Cross-platform normalization - Building abstractions that work across different CI/CD platforms taught me valuable lessons about API design and data modeling
Rovo agent development - Gained deep understanding of configuring AI agents with natural language prompts and action modules
Developer experience - The importance of inline testing interfaces when external dependencies (like Premium tiers) aren't available
What's next for CI/CD Pipeline Dashboard for Jira
Short-term improvements:
Add @mention support in failure comments to notify assignees directly
Implement environment detection (staging vs production) for smarter status transitions
Add pipeline trigger button to run CI/CD directly from Jira
Support additional platforms (CircleCI, Jenkins, Azure Pipelines)
Long-term vision:
Deployment timeline visualization - Visual history of all deployments with filtering and search
Sprint/Epic analytics - Aggregate pipeline metrics across sprints showing success rates, MTTR, and deployment frequency
Predictive insights - Use historical data to predict pipeline failure likelihood and suggest fixes
Slack/Teams integration - Broadcast critical failures to communication channels
Custom workflows - Allow teams to configure their own status transitions and notification rules
The goal is to make this the go-to CI/CD monitoring solution for Atlassian ecosystem, helping thousands of development teams work faster and ship with confidence.
Built With
- javascript
- rovo
Log in or sign up for Devpost to join the conversation.