How and Why to Integrate Gitlab with JIRA

Continued from page 2. 

After you've successfully created a new JIRA account, you'll configure it to work with your GitLab project.

Configuring JIRA

In your newly created JIRA instance, the first step is to create a new JIRA user with access to all the projects.

  • Making sure you're logged into JIRA as an admin user, the user with access to all projects so that you can manage user permissions on a higher level, which you'll do in the next step.
  • Create a new user (under Administration/User Management), and call it gitlab, making sure you give it read/write access to all projects in JIRA, which will make it easier in the long run when adding new projects, with the same user. In the example below, use the gitLab user's email address,
  • Take note of the username and password, because you'll need them later.
Configuring JIRA - Activily Dashboard


Configuring JIRA - Site Administration

  • Next, create a new group and call it something like "GitLab-developers," adding the user you just created to that group.
  • Then within Application Access/View configuration, add the group you just created to jira-software-users.
Configuring JIRA - Add user to groups


Configuring JIRA - Create group

Now, before moving on to setting up GitLab, set up a mock project with which to work. Call it GitR. Go to Settings -> Projects -> Create New Project.


Configuring JIRA - Scrum software develpment

Take note of the KEY and URL of your JIRA project, because you'll be referring to them later.

With that last step, you're now ready to move on to setting up GitLab.

Configuring GitLab

First create a new GitLab project, as shown below:

Configuring GitLab - New project

In your GitLab project, to complete the JIRA integration within the project repository, go to Services/JIRA and complete the details to connect to your specific JIRA instance and project.

Configuring GitLab - complete the details to connect to your specific JIRA instance and project
Configuring GitLab - JIRA upated

You will need to set the following:

  • URL — The base URL of your JIRA project, which you've recorded previously.
  • Project Key — The key of your specific project, such as PROJ, which you've recorded previously.
  • Username — The username of the GitLab user you created.
  • Password — The password of the GitLab user you created.
  • JIRA Issue Transition — The id of the transition that moves your issue to the closed state. You can find this under JIRA workflow administration.
Configuring GitLab - GitLab Merge request

By following those two steps, you've integrated the GitLab and JIRA project, and they're ready to be bi-directionally engaged.


Some important terminology for you to understand:

  • JIRA Issue — Different organizations and projects track different kinds of issues, which could represent a software bug, project or business task, or helpdesk ticket. Issues could also be of different types, such as task, bug, epic, etc.
  • JIRA Resolution — Issues that are resolved could mean different things, from an item being fixed to closed, but conceptually means the status has changed. JIRA has default statuses, which the project administrator could customize further.
  • JIRA Closure — When an issue has reached its final status, marked as closed.
  • GitLab Issue — An issue reported within GitLab and is trackable within GitLab. Issues are created via the new issue button and subsequently added to the issue tracker of the project.

Helpful Resources

Be sure to read the next Application Development article: How to Hide API Keys When Building Web Apps On CodePen


Comments (0)