In this post, we’ll look at the official integration between Azure DevOps and Atlassian’s Jira software.
Love it or hate it, Jira is among other things one of the most widely used issue tracking tools, and in July 2019 Microsoft rolled out a new Jira app that can be used to sync issues between DevOps and Jira, enabling end to end traceability between both platforms from when an issue is reported to when a deployment is released fixing it.
There are a number of limitations. At present, the official plugin doesn’t support DevOps repositories. Only GitHub repositories are supported, although Azure Repos support is planned soon. Build information also isn’t available - the app will only show deployments made in the Jira issue.
The integration also doesn’t change much from DevOps - there’s no UI integrating with Jira reporting or issues, and you can’t easily view a summary of Jira cards from pull requests commit messages.
That said, to get started, you’ll need to:
- Be a Jira administrator, or have the ability to request a Jira app be installed within your organisation’s Jira installation
- Use Jira Cloud - on-premise installations aren’t supported
- Use GitHub for your source code
It’s also worth noting that for now this app only supports showing deployment traceability in Jira - other information such as build numbers or tasks will not show.
Getting started
First you’ll need to install the Azure Pipelines for Jira application, available for free in the Atlassian marketplace.
Then, once you’ve installed the app you’ll be prompted to add your DevOps organisation. Click “Add organisation”, and you’ll be prompted to enter your credentials. It should then list all your organisations in a table view.
Enabling support in DevOps
Now we need to add the Jira integration to our DevOps release pipeline. Open the DevOps portal, and navigate to your project and release pipeline.
Click “Edit” on the release pipeline you’d like to integrate Jira with, and then click “Options”. Click “Integrations” and you’ll see the option to “Report deployment status to Jira”.
Check the box, and you should see your Jira software cloud account listed from the previous step. If you don’t see it, check your Jira account to make sure you’ve added the organisation successfully in the DevOps app.
You’ll also see the ability to map your stages to a set list of deployment types. These deployment types are set by Microsoft, and you’ll have to pick from the list and match them as best you can to your stages. At present, there are 5 deployment types:
- Production
- Staging
- Testing
- Development
- Unmapped
These deployment types then show in your Jira cards as commits which contain your story numbers move through your deployment process.
Referencing Jira issues
The app works by searching your commit history (both commit and pull request messages) for Jira issue keys. If you’re not sure about how to find an issue key see this article on Atlassian’s website.
To enable the linking, once you’ve followed the above steps simply add the issue number into your commit messages when you write them. We tend to stick to the format “[ISSUE-KEY] Fixed an issue with something” as the short message title, but the exact format is up to you.
The app then searches your commit history and will automatically update the issue when you create and deploy a release in your pipelines. It’s that simple.