How to Track Issues Between Jira and GitLab Automatically With 2-Way Sync

How to Track Issues Between Jira and GitLab Automatically With 2-Way Sync

Do you have teams working in both Jira and GitLab simultaneously? How do you keep up with changes from end-to-end? If you find the manual process of copying updates back and forth tedious, you’re not alone. Many development teams struggle with the disconnect between their GitLab code repositories and Jira project management boards. So here’s one solution to help you keep them both in sync continually in real-time.

This article will show you how anyone can set up a secure, reliable 2-way integration between GitLab and Jira with automated updates in just 10-15 minutes. No code, no scripting, no troubleshooting or keeping up with API changes. Unito takes care of all that for you with a fully configurable, no-code solution that automatically populates itself with your fields from GitLab and Jira. The platform is SOC 2 Type II Compliant and Unito never stores user data. It is simply a bridge between projects that allows your key issue details to sync bi-directionally.

New to Unito? Here’s more information about our GitLab Jira integration.

In this article:

Feel free to skip ahead if you’ve already started building your GitLab Jira integration.

By the end of this article, you’ll have a clear, integrated workflow that automatically:

  • Creates new Jira tasks, issues or stories based on activity in your GitLab repositories.
  • Creates new issues in a GitLab repository based on your activity in a Jira project.
  • Updates Jira Cloud and GitLab in either direction automatically whenever manual changes occur.

This integration can be built with Jira Sync directly from your Jira interface or through Unito’s standalone sync platform.

If you haven’t already, sign up for Unito now! It’s free for 14 days!

Setup in Jira

If you’re connecting Jira to Unito via OAuth2, then you can simply follow the on-screen instructions when adding your account for the first time:

Here’s a separate guide on how to connect a local Jira Server on-premise to Unito. You can also connect your server via ngrok.

Here’s how to configure Jira if you aren’t using OAuth2 (click to expand)

There are a few steps involved before we can set up a two-way sync with Unito, but we promise it’s worthwhile. The benefit of eliminating manual tasks for your team indefinitely far outweighs the time it takes to set up your automation rules now. So let’s dive in.

Jira profile page to change email contact visibility
Changing your Jira contact email visibility enables Unito to discover your account and sync Jira issues to GitLab.

Step 1. Get your labels or custom fields organized

The number one piece of advice we offer all new Unito users about building their first flow is this:

Get organized first! Unito syncs work based on rules you provide. But in order to set conditions for your flow, those rules must be based on a certain logic related to your fields. For example, only sync Jira issues with the GitLab label.

You can even use single-select custom fields to apply new rules. Unito’s rules and field mappings adapt to your instances and use case!

Jira fields that can be used to set rules:

  • Assignee
  • Component
  • Epic
  • Fix version
  • Flagged
  • Issue status
  • Issue type
  • Label
  • Priority
  • Sprint

GitLab fields that can be used to set rules

  • Assignee
  • Label
  • Milestone
List of GitLab fields which can be used to set rules in Unito for 2-way sync

Step 2. Connect Jira and GitLab to Unito

  • From the Unito App, select +Create Flow.
  • Select Start Here to connect Jira and GitLab.
  • Then +Choose account to pick an account for each tool.
    • The first time you do this, you must go through a quick authorization sequence. Simply follow the on-screen instructions.
  • Next, pick a Notion Database and Trello board to keep in sync.
  • Click Confirm.

First, connect your GitLab account and Jira Cloud account to Unito. This process involves granting necessary permissions to Unito for accessing your GitLab repositories and Jira instance.

Unito's tool connection screen showing how to add accounts for Jira and GitLab in 2-way sync.

Note: In order for Unito to create new issues in GitLab or Jira, the account connecting to Unito must have also have permission to create, edit, or otherwise modify those issues.

Step 3. Pick a direction for new GitLab or Jira issues

Flow direction determines how new issues in GitLab or Jira are created by Unito. 

Later we’ll tell Unito which tasks and issues to keep synced. You can choose to have new GitLab repositories sync with an existing Jira project or vice versa.

Screenshot illustrating the flow direction between Jira and GitLab in Unito.

Select Confirm when you’ve chosen a flow direction.

Learn more about flow direction.

Step 4. Set rules to sync issues between Jira and GitLab

Set up rules to filter which GitLab issues and Jira issues to sync. This step ensures that only relevant data is shared between GitLab and Jira. If you chose a two-way flow, you’ll have to set rules for both directions.

Select Add a new rule to begin.

Screenshot of Unito's rules configuration interface, displaying conditional rules for syncing GitLab and Jira issues.

In the above examples, we’re syncing issues based on common labels and issue type in Jira and GitLab.

You can learn more about setting up rules here.

Here you can choose which fields (details) to sync between GitLab and Jira to track information and deployment frequency data. This ensures that updates in pull requests or Jira issue keys are reflected on both platforms.

First, you’ll be asked whether you want to set up your field mappings from scratch or let Unito do this automatically.

You can add additional mappings by selecting +Add Mapping, then Select a field in both tools to pair the fields together.

Here’s a look at our auto-mapped fields between GitLab and Jira:

Screenshot of field mappings in Unito's interface between GitLab and Jira projects.
With two-way updates, changes made in either tool will automatically update the other. A one-way update restricts changes to a single direction.

Most fields will automatically be mapped for two-way updates, but you can modify them individually if you prefer one-way updates in some cases.

Screenshot displaying the mapping of labels in Unito's interface. It shows a 'Labels' section with a two-way arrow, indicating synchronization between labels 'bug' and 'Priority:3' from Jira to GitHub and vice versa. There's also a button to 'Add more labels' for additional synchronization options
Any symbol with a gear icon indicates fields with single-select or multi-select options that can be paired together between GitLab and Jira.

Click Confirm to proceed.

Find out more about setting field mappings.

Step 6. Launch your GitLab Jira integration

Now it’s time to launch your GitLab-Jira integration. This integration facilitates project management, enhances team visibility, and improves deployment information sharing.

If you followed the steps above, your flow will now automatically create new issues in both tools based on specific activity in the other, while keeping paired fields up to date.

If you have any questions, don’t hesitate to reach out and let us know.

GitLab and Jira documentation for Unito users

What’s next after connecting GitLab and Jira with Unito?

Now that you’ve set up your integration between Jira and GitLab, you can unify project management and improve cross-team visibility across tools with real time two way updates.  

You can also read more about Unito’s integrations for Jira and GitLab to better understand their capabilities and limitations.

Why connect GitLab with Jira?

Connecting GitLab and Jira saves time, helps teams and squads collaborate more efficiently, and turns both GitLab and Jira into a united source of truth.

The end result will be a simple workflow that enables you to automatically create and sync new issues in one repo or project, based on manual changes in the other.

This 2-way integration is most useful for: software developers, quality assurance teams, product managers, DevOps teams, customer support, or cybersecurity specialists.

Streamlined collaboration between dev teams

Unito’s 2-way integration eliminates the need to search for specific issues or tasks. Instead, teams can simply stay in their preferred GitLab or Jira interface and watch those work items appear in their projects and repositories.

Facilitate software project management

Unito’s GitLab Jira integration becomes an invaluable asset for project managers juggling multiple teams at once. You can eliminate tool-switching and human error so you can focus on overseeing projects and reporting on progress.

FAQ

How does the GitLab-Jira integration improve project management for software development teams?

By linking GitLab repositories to Jira projects, teams can automate the tracking of code changes, pull requests, smart commits, and issue resolution, enhancing collaboration and efficiency.

Can I integrate multiple GitLab organizations with a single Jira instance?

Yes, this integration works to enable any GitLab repository to connect with a Jira instance, enabling you to manage several projects and teams within a single Jira Cloud account.

How do I ensure that only relevant issues are synced between GitLab and Jira?

You can set up rules and filters based on labels, issue keys, or other criteria to ensure that only pertinent GitLab issues from a new repository and Jira issues are synchronized.

How does the integration automatically sync deployment information between GitLab and Jira?

Integrating Jira with your GitLab organization leverages real-time syncing to automatically update deployment information in both tools. When a new deployment occurs in GitLab, the corresponding issue in Jira is updated with this information, and vice versa, ensuring both repositories are always in sync.

Can I add more apps to the GitLab-Jira integration with Unito, and how does that work?

Yes, you can configure the integration to include other project management or development tools, even additional Jira accounts, creating a comprehensive ecosystem that automatically works together, ensuring seamless data flow and collaboration across all platforms. Browse Unito’s full list of connectors for more.

What is the significance of the issue key in syncing repositories, and how is it used?

The issue key is a critical component in syncing repositories as it serves as a unique identifier for issues after you integrate Jira. So, when connected GitLab, the issue key can be used to link commits, pull requests, and branch names directly to the corresponding Jira issue, automating the tracking of changes and facilitating easier navigation between the two platforms.

Can the integration help reduce cycle time by automatically updating issues across platforms?

By ensuring that updates, such as status changes or new comments, are automatically reflected across both GitLab and Jira, the integration helps in reducing the cycle time.

It minimizes the need for manual updates and checks in Jira server or GitLab cloud, streamlining the workflow and helping teams to move faster from development to deployment.

Who should sync GitLab and Jira with Unito?

Imagine a software development team working on a new feature for their product or application. The team might use GitLab for code repository management, pull requests, version control, and tracking code-related issues.

Meanwhile, a project management tool such as Jira software, on the other hand, might be used for sprint planning or tracking non-code related work.

The biggest differentiator is the power of real-time 2-way updates between issues in Jira and GitLab. No native integration can keep your Jira tasks or issues in sync with a GitLab repository in real-time. So, while it is possible to simulate 2-way sync with a series of complex automations and other platforms, only Unito was built to achieve this quickly and easily for users of all backgrounds and experience.