Atlassian Compass Integration
Topics
What is Atlassian Compass?
Compass is a mission control for your distributed architecture, namely
proper artifactory natively integrated into Jira
proper implementation of Component field for Jira issue (though it’s called CompassComponent)
proper scoring of your entire architecture landscape healthiness
Why we decided to integrate Release Management with Atlassian Compass?
For a long time we are considering how to connect a notion of version/package we have in Release Management App with a notion of product being released. Once of the mostly used use case for the App is using versions to track releases of specific components (Services, Microservices, Databases, ETLs, Web, Mobile Apps, etc.) and package them into release that goes cross components and either needs to be delivered together or could be turned on with feature flag when all the components are upgraded.
From this perspective integration with Compass for us is either a silver bullet or something very close to it as it gives Release Management users:
Connect releases with software components (artifactory items)
Understand dependency between components and thus propagate this dependency to release management
Understand health check (scoring) of components as a quality gateways prior to release
Introduce a notion of the team owning the component and therefore act as enginning arm behind the release (if not owning the release as well)
etc.
Compass tab on Release details
Starting from the late Feb’23 release of the App you can now enjoy the integration with Compass. To check it out click on any version or release. You will see a new “Compass“ tab available between “Issues“ and “Commits“.
If you are using Release Management integration with Git, Bitbucket and CI/CD tools there’s no need to configure the shakehand with Compass - we will re-use your generated token.
If you are new to these integrations or had no chance to configure Release Management integration with Git, Bitbucket and CI/CD tools yet please check out this section to generate API token.
Compass Components
Once configured you can click up on look up of Compass Components to assign specific components to your release.
From Compass we will pull
Name of the Components and Compass specific icon of this component/type. By clicking on the name you will navigate to Compass to gain more details.
Description of the Components
Tier of the Components in the hierarchy
Team the owns the Component. By clicking you will be navigated to the Compass space of the team.
Scorecard of the component to outline health check details.
To remove Release <> Component binding click on the “X“ button on the right.
Impacted components
In addition to Components you assigned manually we will check all the issues assigned to the release and outline all CompassComponents defined for issue giving you an indication that those “probably“ should be included in the list.
Component Dependencies
If you have some Compass Components defined on the “Components“ tab, switching to “Dependencies“ tab will lead you to other “Depends on“ and “Depended by“ Compass Components.
This is a good indicator to check what other Component Releases might be impacted by the change. Or if existing component release might be impacted by any other dependency.
Coming soon
We are working at the moment onto Teams sections of integration. Shortly after we will also deliver a functionality to filter by Compass Components, Teams on Board, Roadmap, Calendar and List views. Also “maybe“ swimlanes per Compass Components.
We also consider adding standard components (Component field on issue Level) and let users configure whether to use Jira Standard Components or Compass Components.
Release Management App for Compass (Coming soon)
In addition to leveraging Compass Components, their Dependencies and Teams owning it in Release Management we also plan to deliver a Free Release Management App for Compass Apps Marketplace.
The idea of the App is pretty much the same as our Release Management panel for issue view, namely
For each Compass Component outline the list of versions delivered / planned
Packages these versions are included and status of the packages
Environments that the versions are deployed to, incl. build numbers