Azure DevOps for Jira Integration
How to link Azure DevOps commits, pull requests, and pipeline runs to Defender finding tickets in Jira, so you can verify remediation directly from the Jira issue.
Prerequisites
- Jira site admin access (to install the Marketplace app)
- Azure DevOps organization admin access (to approve the integration)
- Organization:
dev.azure.com/authenticaci - Jira instance:
authentica.atlassian.net
Step 1: Install Azure DevOps for Jira
In Jira
- Navigate to Jira Settings (gear icon) > Apps > Find new apps
- Search for “Azure DevOps for Jira” (by Microsoft)
- Click Get app > Get it free
- Approve the requested permissions
- After installation, you’ll see “Azure DevOps for Jira” under Apps in the top navigation
In Azure DevOps
- Navigate to
https://dev.azure.com/authenticaci> Organization Settings > Extensions - The Jira integration should appear as a pending approval
- Click Approve to allow the integration
Step 2: Connect the Organizations
- In Jira, navigate to Apps > Azure DevOps for Jira > Get started
- Click Add organization
- You’ll be redirected to Azure DevOps for OAuth authorization
- Sign in with your Azure DevOps account and grant access
- Select the
authenticaciorganization - Click Authorize
- Back in Jira, confirm the organization appears in the connected list
Step 3: Verify the Connection
After connecting, test with an existing issue:
- Open any DEVOPS issue in Jira (e.g.,
DEVOPS-120) - Look for the Development panel on the right sidebar
- If the integration is working, it will show “0 commits, 0 branches, 0 pull requests” (or linked items if any exist)
Usage
Smart Commits
Include a Jira issue key in your commit message or branch name. The integration automatically creates a link.
Commit message:
git commit -m "DEVOPS-127 Enable managed identity on wa-eshars-prod app service"Branch name:
git checkout -b DEVOPS-127-managed-identityPull request title:
DEVOPS-127: Enable managed identity for production app servicesAll three patterns create a link from the Jira issue to the corresponding Azure DevOps artifact.
What Appears in Jira
On the Jira issue, the Development panel shows:
- Commits: Number of linked commits, click to see details (message, author, date)
- Branches: Linked branches with status (active/merged/deleted)
- Pull Requests: Linked PRs with status (open/completed/abandoned)
- Builds: If the PR triggers a pipeline, the build status appears here
Verifying Remediation
When an engineer fixes a Defender finding, you can verify the fix from the Jira issue:
- Open the Jira issue (e.g.,
DEVOPS-120— FTPS enforcement) - Check the Development panel for linked PRs/commits
- Click through to the Azure DevOps PR to review the actual code change
- Check the linked build/release to confirm it deployed successfully
- Verify in Azure Defender that the finding now shows as “Healthy”
This creates an audit trail: Finding → Jira ticket → Code change → Deployment → Verification.
Smart Commit Cheat Sheet
| Syntax | Effect |
|---|---|
DEVOPS-120 fix something | Links commit to DEVOPS-120 |
DEVOPS-120 DEVOPS-121 fix both | Links to both issues |
Branch: DEVOPS-120-ftps-fix | Links branch to DEVOPS-120 |
PR title: DEVOPS-120: Enable FTPS | Links PR to DEVOPS-120 |
Troubleshooting
| Problem | Cause | Fix |
|---|---|---|
| Development panel missing on issues | App not installed or not connected | Check Apps > Azure DevOps for Jira and verify organization is connected |
| Commits not linking | Issue key not in commit message | Verify the commit message contains DEVOPS-XXX (case-sensitive, must be uppercase) |
| OAuth token expired | Token periodically expires | Re-authorize at Apps > Azure DevOps for Jira > Organization > Reconnect |
| Wrong organization linked | Multiple Azure DevOps orgs | Remove incorrect org and add the right one (authenticaci) |
| Build status not showing | Pipeline not triggered by the linked PR | The integration only shows builds triggered by the linked commits/PRs |
| Slow to sync | Sync delay | Allow up to 10 minutes for new commits/PRs to appear in Jira |
Maintenance
- Monthly: Check that the OAuth connection is active at Apps > Azure DevOps for Jira
- On team changes: Ensure new team members know the smart commit convention
- If Azure DevOps org changes: Update the connected organization in the Jira app settings