DEV Community

Srinivasaraju Tangella
Srinivasaraju Tangella

Posted on

Automating Release Updates with Jira and GitHub Issue Tracking — A Practical DevOps Guide

🧠 Introduction

In DevOps, every release should be traceable and auditable — we must know:

Which Jira issues were fixed

Which GitHub pull requests merged

What tag or version was released

Integrating Jira and GitHub connects your development workflow to release management, giving complete visibility from issue creation → code commits → production release.

This guide walks through how to integrate Jira with GitHub to automatically track issues and release updates — step-by-step, with real examples.

⚙️ Prerequisites

Before you begin, ensure you have:

A Jira Cloud account (Atlassian Jira)

A GitHub repository

Admin rights on both

At least one open Jira project and some issues created

🧾 Step 1: Create a Jira Project

  1. In Jira, navigate to Projects → Create Project.

  2. Choose a Software Development Project (Scrum or Kanban).

  3. Set the project key to something like DEVOPS.

  4. Create sample issues:

DEVOPS-101: Fix Dockerfile vulnerability

DEVOPS-102: Add health-check endpoint

Each issue gets a unique key like DEVOPS-101, which we’ll use for linking commits.

🔗 Step 2: Connect Jira with GitHub

  1. In Jira, go to Settings → Apps → Find new apps.

  2. Search for GitHub for Jira.

  3. Click Install, then click Get started.

  4. Choose your GitHub account and grant access to selected repositories.

Once connected, Jira starts automatically detecting commit, branch, and pull request activity from your GitHub repo.

🧩 Step 3: Link Commits and Pull Requests

When making commits or opening pull requests, include the Jira issue key in your messages or titles.

For example:

git commit -m "DEVOPS-101: Fixed Dockerfile base image to reduce size"

Or, for a pull request title:

DEVOPS-102: Added health-check endpoint for Kubernetes readiness

Now Jira will automatically detect and link:

The commit message

The branch

The pull request

You’ll see all of this under the Development section inside the Jira issue.

🧠 Step 4: Track Releases Automatically

You can link your GitHub releases to Jira versions.

  1. In Jira, go to Releases → Create Version, and name it v1.0.0.

  2. In your GitHub repo, tag your release:

git tag -a v1.0.0 -m "Release v1.0.0 - Fixes DEVOPS-101, DEVOPS-102"
git push origin v1.0.0

Once pushed, Jira will automatically:

Map commits to version v1.0.0

Display all issues associated with that release

Mark them as Done in v1.0.0

This creates a clean, version-based audit trail across Jira and GitHub.

⚡ Step 5: Automate Release Notes with GitHub Actions

You can automatically generate Jira-based release notes whenever a GitHub tag is pushed.

Create a file .github/workflows/release.yml:

name: Generate Release Notes
on:
push:
tags:
- 'v*'

jobs:
release_notes:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

  - name: Generate release notes from Jira issues
    uses: devops-infra/action-jira-release-notes@v1
    with:
      jira_host: 'https://yourcompany.atlassian.net'
      jira_user: ${{ secrets.JIRA_USER }}
      jira_token: ${{ secrets.JIRA_TOKEN }}
      jira_project: 'DEVOPS'
      jira_fix_version: '${{ github.ref_name }}'
Enter fullscreen mode Exit fullscreen mode

Whenever you push a tag (like v1.0.1), this action:

Fetches all Jira issues fixed in that version

Generates release notes automatically

Can post them to Slack, Confluence, or GitHub Releases

This completely automates your release communication.

🧩 Step 6: Verify the Integration

Once integration is complete, it’s time to validate it works end-to-end.

Open any Jira issue such as DEVOPS-101.
Under the Development panel, you’ll now see linked GitHub activity — commits, branches, and PRs.
If the pull request was merged, Jira updates the status to reflect it automatically.

Next, visit GitHub and open that pull request.
You’ll notice a Jira issue badge on the right side, showing its title, key, and current status.
This two-way visibility proves your integration works successfully.

Finally, check your Jira Releases page.
When you click on v1.0.0, you’ll see a list of all issues delivered in that version, their resolutions, and associated commits.

🧪 Step 7: Practical Proof (Demo Walkthrough)

Let’s test the flow with one complete cycle:

  1. A developer creates a branch named feature/DEVOPS-101-docker-fix.

  2. Commits code with message DEVOPS-101: updated base image to alpine.

  3. Opens a pull request titled DEVOPS-101: Optimize Docker image size.

  4. The pull request is merged into main.

  5. A new release tag v1.0.0 is created and pushed.

After these actions:

Jira automatically links all commits, branches, and PRs to the issue.

The issue is marked Done under version v1.0.0.

The release version displays which Jira tickets were included.

This provides a full traceable history from code change → review → release → deployment.

🧠 Step 8: Why This Matters for DevOps Engineers

Integrating Jira and GitHub isn’t just about tracking — it’s about control and visibility.

You get complete traceability for every commit and issue.

Releases become fully automated, eliminating manual tracking.

It improves audit readiness — critical for regulated industries.

It helps in post-release analysis: you can see which change caused a bug or regression.

And it boosts team collaboration, as everyone can see what’s being worked on and released.

In short, this bridges your development, CI/CD, and release management workflows seamlessly.

💡 Step 9: Extend with Jenkins Integration (Optional)

If you’re using Jenkins, you can automatically update Jira after deployments using the Jira Steps Plugin.

Example declarative snippet:

post {
success {
jiraSendBuildInfo site: 'jira-site', builds: [[
jobId: env.BUILD_NUMBER,
issueKeys: ['DEVOPS-101'],
pipelineId: 'release-pipeline'
]]
}
}

After a successful deployment, Jira is notified automatically, marking the issue as Released or Deployed.

🏁 Step 10: Conclusion

By connecting Jira and GitHub:

You bring issue tracking, commits, and releases together.

You reduce manual work during versioning and reporting.

You improve transparency across the entire SDLC.

From a DevOps point of view, this is not just a workflow improvement — it’s a foundation for continuous delivery visibility.

Every team member — from developer to release manager — can instantly see what’s shipped, what’s pending, and what’s coming next.

Top comments (0)