If you ask a developer, product manager, and QA “why integrate your Git repository with Jira,” they will all give different answers. Some like it for reducing context switching and providing automation options, while others value the transparency and improved traceability. But no matter who you ask, everyone is unanimous: this integration is immensely useful for the teams.
In this article, we focus on the most popular Git applications: GitHub, GitLab, and Bitbucket. We explain how to connect them to Jira Cloud and provide you with practical tips on making the most out of this integration. You will learn how to use smart commits, leverage automation, and gain extra value from third-party apps.
The Basics: What Can You Do With The Help Of This Integration?
Connecting your Git repositories to Jira creates an important link between a Jira ticket and your code. With real-time synchronization between the two platforms, you avoid the need to switch back and forth and write updates manually. The key actions in your Git app will be reflected in the corresponding Jira ticket. You simply need to mention its issue key / work item key when creating a new branch, commit, or pull request.
In particular, you will be able to:
- View commit history, branch, and pull request details in Jira
- Check pull request statuses directly from your Jira board
- Quickly access a pull request or branch from the ticket details
- Automatically update work statuses based on Git activity
- Add comments and log work in Jira directly from your Git app
- Get more context for code changes with business details from Jira
The key benefits of setting up a Git and Jira integration include:
- Less context switching: You can seamlessly move from Jira to your Git app if needed, or you can just manage your Jira work items without leaving your Git platform. This is much more efficient and improves focus.
- Transparency: This integration helps keep everything organized and transparent. A product manager can see what was done for each work item without leaving Jira. In turn, developers can gain more context for old code changes by checking which Jira tasks they are related to:

- Better communication: Transparency facilitates more effective collaboration, especially for cross-functional processes. Getting necessary information is easier, leading to better alignment and organization among teams.
- Time optimization: As routine updates become automated, teams spend less time manually syncing statuses or adding links between Jira and Git.
These and other benefits are why this integration is so widely used. The value it delivers results in streamlined processes and increased productivity.
How to Set Up a Git and Jira Integration for a Cloud Instance?
There are two main options:
- Connect Git and Jira natively: Jira has a built-in Git connector, but it’s only available for Bitbucket.
- Use a Git app from the marketplace: Available for various platforms, including GitHub and GitLab.
The process itself is straightforward. First, you need to install the integration app (except for Bitbucket) and connect your repositories. Then, link Git activity to Jira work items by using issue keys. After this, you will be able to view dev information in Jira tickets, use smart commits, and set up automation to further optimize your work. Let’s explore this in detail.
Install the Integration App and Connect Your Repositories
Bitbucket
For a native integration with Bitbucket, open your Jira project and navigate to Settings -> Products -> Integrations block, where you can find DVCS accounts. Then, connect your account and grant the requested permissions. Your repositories will be automatically connected to Jira.
For other tools, use an app from the Atlassian marketplace.
GitHub
Install GitHub for Jira and connect your GitHub account. Select your organization and specify which GitHub repositories you want to link. This can be All repositories or Only select repositories. Grant the requested access permissions, allowing Jira to pull information from GitHub and vice versa.
GitLab
Once you have installed GitLab for Jira, follow the wizard’s prompts to complete the setup. Specify which version of GitLab you are using: for the cloud-hosted version, select GitLab.com. Then, sign in to GitLab and authorize GitLab for Jira. Once done, link your GitLab groups.

To complete the integration process, you will need administrator permissions, as well as the relevant permissions on your version control platform. For the most up-to-date information on the required permissions, it’s best to review the requirements provided by your Git platform during the integration setup.
Please note that this article focuses on the integration with the cloud versions of Git platforms. If you need to connect Jira to GitHub Enterprise Server, Self-managed GitLab, or Bitbucket Data Center, please refer to the official documentation.
Link Your Git Activity to Jira Work Items
Even though your repositories are already connected, the synchronization with Jira may not be complete yet. To finalize this process, you need to link your Git activity to specific Jira issues (work items). This can be done by simply including Jira work item keys in your Git messages:
- Commits
- Branch names
- Pull request titles and descriptions
A work item key (or Jira issue key) is a combination of letters and numbers that serves as a work item identifier in Jira – for instance, TA-9082 or PROJ-123. You can find it at the top of a work item view. On your Jira board, it’s at the bottom of the card.
When you mention a work item key in your Git message, the system recognizes it, and the message is then associated with the work item it mentioned.
For example, this can be a commit message like this one:
git commit -m “TWM-93 <Fixed all bugs>”
Information about this commit will be available in the Development section of the mentioned work item’s view. You can link branches and pull/merge requests to specific Jira work items in the same way.
It’s enough to use one work item key and push changes to the connected repository to complete the synchronization with Jira. After several minutes, it should be fully connected to your version control application. Needless to say, you can still use work item keys in your Git messages whenever you need to link an action to a Jira work item.
View Development Information and Create Branches in Jira
You can monitor Git actions in Jira in several ways, each providing a different perspective. Let’s have a look at these options.
Check your repositories and pull requests from the Code tab
Once your Git and Jira integration is set up, the two apps will be fully synced. As a result, you will be able to see the connected repositories and the latest activity on the Code tab in the Development section in Jira:

Get granular details from a work item view
In addition, you can view development information directly from your Jira work items. Open a work item view, which is an individual page for the selected Jira task, story, bug, etc. Find the Development section in the menu on the right, and click on any branch or commit message.
In the pop-up window that appears, you will see the detailed development information:

This includes a list of commits with various details and a link to the repository. Additionally, there is information about the associated branches and pull requests. This is especially valuable for product managers, as they can easily see all the dev events linked to a specific work item.
Monitor the overall progress from the Release Hub
If you have a company-managed project and work with fix versions in Jira, you can also track ticket statuses from the release hub. In the Jira project menu on the left pane, find Releases in the Development section. Select the release you need and scroll down to Issues/Work Items.
You will see Git statuses for each work item, if relevant. The status icons have different colors:
- Green – there is a merged pull request for this ticket
- Black – there is a pull request that is still waiting for review or approval
- Blue – a branch has been created, but there is no pull request yet
- No icon – there’s no development activity for this work item

Create branches, commits, and pull requests from the work item view
In addition to monitoring Git information, you can also perform various actions directly from Jira. Open a work item view and navigate to the Development section. From there, you can create branches, commits, and pull requests.
For example, to create a branch, select your source code integration from the dropdown and provide the required details: repository, branch from, and branch name. These steps are the same for both GitLab and GitHub integration.

Alternatively, you can simply copy the text from the box, as shown below, and run this command in the terminal in your Git project. In this case, you don’t need to specify any additional information, and the branch will be created more quickly.

Use Smart Commits to Manage Jira Work from Your Git App
It’s possible to make changes to Jira work items directly from a Git platform. This is done with the help of smart commits, which are commands included in commit messages. They enable you to perform actions such as:
- Adding comments to the specified Jira work items
- Recording time-tracking information
- Changing an issue’s workflow status / work item status
This allows you, for example, to move Jira tickets from In progress to In review or Done without leaving your Git app, and so on. Once Jira is integrated with GitHub, GitLab, or Bitbucket, smart commits should be enabled by default.
A smart commit message has the following syntax:
<ignored text> <ISSUE_KEY> <ignored text> #<COMMAND> <optional COMMAND_ARGUMENTS>
The system won’t consider parts of the message marked as ignored. In its simplest form, such a message can only consist of an issue key and a command, such as “TA-095 #close” or “RW-123 #comment fixed.”
Here are the syntax formulas for each of the available commands:
- #comment <comment_string>
- #time <value>w <value>d <value>h <value>m <comment_string>
- #<transition_name> #comment <comment_string>
The <comment string> is an optional element for all commands except for the first one, #comment. When specifying the transition name, you need to provide a Jira issue status that is included in your team’s Jira workflow (such as Ready for QA or Completed). If the status name has more than one word, replace spaces with hyphens, for example: #ready-for-qa.
For more information, please refer to the official documentation.
Using smart commits helps developers reduce context switching and enhances transparency.
Monitor Git Activity on a Dashboard in Jira
For product managers, it’s important to see the team’s overall progress and analyze productivity. This allows them to identify bottlenecks, assess delivery speed, and spot potential problems in a timely manner.
This can be achieved with the help of a productivity dashboard. Let’s examine some of your options.
A Native Development Dashboard
Jira now offers a built-in dashboard that helps you track various productivity metrics. It combines data from Jira and your version control platform. This is convenient as a product manager can see development activity directly from Jira.
The dashboard includes a bar chart showing the number of work items completed per week. It also has scorecards with various metrics, such as overdue work, pull request cycle time, and vulnerabilities from the linked security containers. You can click the scorecards to open detailed graphs.

In addition, the dashboard lists the latest Git activity and suggests recommendations for the next work items to focus on.
To access this dashboard, navigate to the project settings -> Development -> Development (beta).
A Smart Productivity & Team Activity Dashboard
While the native dashboard provides a general overview, it lacks flexibility and detail. In particular, it doesn’t help you analyze team performance in depth or track individual productivity.
However, you can do this with a third-party plugin, Smart Productivity & Team Activity Dashboard for Jira. It includes more metrics and can provide significant value to product managers.
The Smart Productivity Dashboard gathers data from Jira, Confluence, and GitHub, allowing you to:
- Track key productivity metrics: The number of work items created and closed by assignees, the number of commits and PR data, productivity median by team, % of median for individual contributions, and more.
- Analyze individual performance using the Team filter on the Metrics breakdown tab. Select the person you need and specify other parameters to see their weekly performance by project, sprint, epic, and issue type / work item type.
- Define role-based benchmarks and analyze individual contributions in comparison to the median for the person’s role. For example, you will have different productivity criteria for a Developer and a Product Designer. A performance of less than 100% means it’s below the guild median, and vice versa.
The charts can be configured to show performance insights by platform. This dashboard creates full transparency for product managers. It enables them to see how the team is performing at the project, epic, work, and sprint levels. This understanding is crucial for spotting bottlenecks, adjusting workloads, and improving efficiency.
To start using it, install the Smart Productivity & Team Activity Dashboard from the Atlassian Marketplace. For the dashboard to collect data correctly, you will also need to have a Git and Jira integration set up. For more details on creating and using your Smart Dashboard, see our article “How to calculate productivity in Jira.”
Add Third-Party Apps to Enhance Your Git And Jira Integration
Once you have integrated your version control platform with Jira, you can advance to the next level. To maximize the impact of this integration, consider using additional third-party solutions. They can be utilized in many different ways, expanding Jira’s functionality where you need it, depending on your use case. Let’s take a look at some examples.
Install a Feature Flag Management App to Improve Transparency
Sometimes, you need to deploy a release even though some features you’re working on are not ready yet. In such cases, you can hide those features under a feature flag. The code that requires further work will be included in the release, but users won’t have access to that functionality. Once it’s completed, remove the flag, making it visible to users.
Feature flags can be tracked from Jira with the help of a feature flag management app, such as LaunchDarkly or Split. Many other similar apps are available in the Atlassian marketplace. When you use one, the information about the feature flags related to a work item will be displayed in the development section of the work item view:

These details will then appear in Jira Release Hub. Using such tools increases transparency and enhances collaboration. A product manager and their teammates can easily see which feature flags are applied to work related to a specific Jira ticket. This ensures that no important details are overlooked and that everyone remains on the same page.
Use Smart Checklist For Jira to Boost Efficiency
Another helpful app to try is Smart Checklist for Jira by Titan Apps. It allows you to add structured checklists with rich formatting to your Jira issues. These checklists can be saved as templates and applied automatically to Jira work items. As a result, you will save time on recurring tasks and processes as you won’t have to enter all the details manually.
Another significant benefit is that this integrates your company’s best practices into your team’s daily work. With Smart Checklist, you can codify a process in the form of actionable ToDo items. This ensures that everyone follows the same sequence of steps and doesn’t miss anything important. Such process standardization makes teamwork smoother and faster-paced.
Example: a Free Code Review Template
Here’s what it looks like in practice. We’ve prepared a reusable Smart Checklist template for code review. It lists the main steps to complete and provides additional details in the expandable section next to each checklist item:

## Code review
– **Requirements.** Make sure that the code performs correctly and covers all requirements as described in the feature ticket.
> * Does this code change fulfill its intended purpose?
> * Does the code cover all requirements as described in the feature ticket?
> * Are there any unhandled edge cases or error scenarios?
– **Readability.** Make sure that the code is readable and easy to understand. Suggest breaking up the code or reorganizing it to improve the readability for other developers.
> * Is the code easy to understand?
> * Are variable names and function names clear and descriptive?
– **Maintainability.** Evaluate the code for maintainability, making sure it is modular, reusable, and easy to modify and extend.
> * [DRY principle.](https://en.wikipedia.org/wiki/Don%27t_repeat_yourself) Are there any duplicated sections of code that could be consolidated into reusable functions or classes?
> * Will this change add undesirable compile-time or run-time dependencies?
> * Are there any best practices, design patterns, or language-specific patterns that could enhance the code significantly?
> * Does this code follow the single responsibility principle?
– **Performance and Security.** Evaluate the code for performance and security.
> * Will this code change negatively impact system performance?
> * Is there a way to significantly improve the code’s performance?
> * Are sensitive data such as user data and credit card information being securely handled and stored?
– **Testability.** Evaluate the code for testability, ensuring it can be easily tested and that any necessary unit tests or integration tests have been written.
> * Is the code testable?
> * Do the existing tests reasonably cover the code change?
> * Are there any other essential unit, integration, or system tests that should be added?
– **Documentation.** Verify that the code includes appropriate documentation, ensuring that it is clear, concise, and up to date.
> * Does the code include appropriate documentation?
> * Is the documentation clear, concise, and up-to-date?
– **DevOps**. Verify that all the steps needed to be done after the PR deploy are described.
> * Are there any risks related to the deployment of this PR in terms of production operation?
This template is free and easy to use. Install Smart Checklist for Jira and simply copy and paste this template into the Smart Checklist window of your work item. Alternatively, create a new template from scratch for other tasks or processes. Use the built-in markdown editor to customize the template to your specific process. You can also:
- Add headers
- Tag teammates
- Include deadlines
- Set custom statuses for each action item
- Add links to action items
- Mark steps as mandatory
- Save checklists as templates (see the screenshot below)

If a checklist is saved as a template, it can be easily added to any new task, either manually or with the help of automation. For more details, please see the Smart Checklist documentation.
Set up Automation for Jira to Optimize Processes
Automation for Jira is a powerful instrument that is often used to enhance the impact of a Git and Jira integration. One of the most common use cases is automatically updating Jira work item statuses based on Git activity.
For example, when a pull request is merged, a corresponding ticket can be transferred from In Progress to Merged. This saves time and reduces context switching. A developer can keep their Jira issues / work up to date without leaving their Git app.
In Automation for Jira, there is a dedicated DevOps section featuring a set of triggers you can use for this and other purposes:

Example 1. When a Pull Request is Merged, Transition the Jira Work Item to the Merged Status
Below is a scheme with the rule for the use case we mentioned earlier. When a pull request is merged in your Git app, this information will be synced with Jira (thanks to the Git and Jira integration you set up earlier). Once Jira registers this new information, the rule will be triggered, and the work item status will change to Merged:

This option can be more or less useful depending on your team’s workflow. If you typically have several pull requests per work item, it would make sense to change the status only when the last one is merged. In this case, you can add a regex to the rule: for example, to change the work status only if the pull request title matches a regex: ^Final merge.*
Example 2. When a Pull Request is Created, Add a Code Review Checklist to the Jira Work Item
As we mentioned in the previous section, Smart Checklist for Jira offers a free Code Review template. It helps the reviewer to check the code quality without missing any essential parameters. We can set up Automation for Jira that will add this checklist to your work item when a pull request is created for this work item.
In the Jira Automation section, add a new rule and select Pull request created as a trigger. For the action, pick Edit work item. In the Choose fields dropdown, select Checklists.
Then, insert the Code Review checklist in the markdown formatting. You can copy it here:
## Code review
– **Requirements.** Make sure that the code performs correctly and covers all requirements as described in the feature ticket.
> * Does this code change fulfill its intended purpose?
> * Does the code cover all requirements as described in the feature ticket?
> * Are there any unhandled edge cases or error scenarios?
– **Readability.** Make sure that the code is readable and easy to understand. Suggest breaking up the code or reorganizing it to improve the readability for other developers.
> * Is the code easy to understand?
> * Are variable names and function names clear and descriptive?
– **Maintainability.** Evaluate the code for maintainability, making sure it is modular, reusable, and easy to modify and extend.
> * [DRY principle.](https://en.wikipedia.org/wiki/Don%27t_repeat_yourself) Are there any duplicated sections of code that could be consolidated into reusable functions or classes?
> * Will this change add undesirable compile-time or run-time dependencies?
> * Are there any best practices, design patterns, or language-specific patterns that could enhance the code significantly?
> * Does this code follow the single responsibility principle?
– **Performance and Security.** Evaluate the code for performance and security.
> * Will this code change negatively impact system performance?
> * Is there a way to significantly improve the code’s performance?
> * Are sensitive data such as user data and credit card information being securely handled and stored?
– **Testability.** Evaluate the code for testability, ensuring it can be easily tested and that any necessary unit tests or integration tests have been written.
> * Is the code testable?
> * Do the existing tests reasonably cover the code change?
> * Are there any other essential unit, integration, or system tests that should be added?
– **Documentation.** Verify that the code includes appropriate documentation, ensuring that it is clear, concise, and up to date.
> * Does the code include appropriate documentation?
> * Is the documentation clear, concise, and up-to-date?
– **DevOps**. Verify that all the steps needed to be done after the PR deploy are described.
> * Are there any risks related to the deployment of this PR in terms of production operation?
Save and turn on the rule. Here’s what the automation scheme looks like:

Now, opening a pull request in your Git app will trigger this automation, and the Code Review checklist will be added to the corresponding work item.
Similarly, you can set up automation for other events using the available DevOps triggers.
Common Mistakes Made When Setting Up a Git and Jira Integration
To wrap up, let’s explore some common pitfalls you should be aware of:
- Different emails for a Git app and Jira: For the integration to function properly, your Jira account email must match your Git app account email. If there’s a mismatch, the system won’t recognize the changes as made by the same user.
- Misaligned permissions: You need to have the proper permissions on both platforms to use the integration. For example, if you write a smart commit #comment, you need to have the comment rights for your Jira project. If that is not the case, the command won’t work.
- Missing issue keys / work item keys: While data is synced automatically, you still need to manually provide issue keys in the branch names, commits, and pull request titles or descriptions. If the issue key is missing, this dev activity won’t be recorded as related to a specific work item and won’t be available in Jira.
- Incorrect smart commit syntax: If a command is typed with mistakes, the dev information won’t be synced with Jira. Please refer to the official documentation for details regarding the correct syntax.
Hopefully, these insights will help you avoid common mistakes and ensure your Git and Jira integration runs smoothly and efficiently.
