This infographic visualizes the strategy for creating a browser extension to solve release data fragmentation, based on the provided technical report.
Release information is scattered across platforms, forcing manual data compilation and leading to a lack of real-time visibility.
Contains the planned scope via 'Fix Versions' and issue tracking.
≠
Data Silos
Holds the actual codebase, commits, and release tags.
A browser extension acts as a bridge, querying both platforms to present a single, cohesive release summary directly in the user's workflow.
Jira API
Fetches Issues
Correlates Data
GitLab API
Fetches Commits
The extension is built on a modern, event-driven architecture to ensure security and performance, with components communicating via message passing.
User-facing interface for inputs and displaying the final summary.
Handles all API calls, authentication, and data processing logic.
Injects into Jira/GitLab pages to read DOM or add UI elements if needed.
The extension's core logic involves fetching data from specific API endpoints and then correlating it by parsing Jira issue keys from GitLab artifacts.
Jira: /rest/api/3/search
Retrieves issues via JQL (e.g., `fixVersion = "1.2.0"`).
GitLab: /projects/:id/repository/tags
Identifies release tags to define scope.
GitLab: /projects/:id/repository/commits
Fetches all code changes between two release tags.
Authentication is challenging. GitLab supports a client-side friendly OAuth (PKCE) flow, while Jira's requires a backend for full security, making PATs a simpler, though less secure, alternative for a pure extension.
A unified view leads to enhanced transparency, streamlined audits, and empowered teams.
A single source of truth for release content.
Eliminates manual report generation.
Creates a clear, verifiable audit trail.
Empowers stakeholders with accurate data.