Recently we witnessed a growing interest in GitLab and especially in its advanced built-in CI/CD component. To answer that interest, we have written a few papers on that topic and held several meetings (all of them recorded). As a result we were asked a number of questions about GitLab CI/CD.
In this post I want to address two of those questions:
Whether it is possible to integrate Jira with GitLab?
Whether it is possible to integrate Jira with GitLab CI/CD?
The answer is a resolute Yes.
We have studied that issue and will show the way to do it.
The connection is possible both in the self-hosted version (i.e. on-premises on your own data center or in a private cloud hosting) and in the public cloud version (aka “gitlab dot com”). In fact the connection is possible in all GitLab CI/CD and Jira distribution forms.
Based on our experience, we recommend building a plan on how you are going to use those features. In particular your development procedures, use of CI/CD, user training, etc.
How will it all work together?
The following diagram shows the process we have built and often present to companies, which we advise on the development flows and CI/CD pipelines.
This process is very basic and is supposed to be modified according to projects’ specific needs, but it already shows all “classic quartet” (see the link below) steps.
Here is an explanation of this diagram:
- The group leader creates an issue in JIRA to fix a bug or develop a feature and assigns it to a developer. The issue is in the “To Do” status.
- The developer starts working. He moves the issue to status “Doing”, then creates a branch and clones or pulls the repo to his workstation.
- After the feature is developed/the bug is fixed, the developer pushes his work to the GitLab server, which triggers a CI pipeline.
- If the pipeline succeeds, the developer creates a Merge Request, thus starting a code review.
- As a result of the code review, the developer may be requested to do a number of changes before the Merge Request is merged, with each change triggering a CI pipeline.
- At last, the Pull Request is merged into the master branch, and again a CI pipeline runs to check the merge result.
- Some changes may be needed on the master branch, after which the software is marked as a new baseline and the JIRA issue is marked as “Done”
- Note that there can be many variations on this flow. E.g., there can be an additional JIRA status, “QA Testing” to which the issue moves when a Pull Request is merged.
Summing up (and adding some points we have learned in our tests):
- It is possible to integrate Jira with GitLab CI/CD (thus taking advantage of all GitLab CI/CD features).
- Yes you also integrate Jira with GitLab (in the past we had written a paper on that topic and published a video demonstrating that integration).
- Alternatively, you can use GitLab as an all-in-one tool, which replaces Jira
ALM-Toolbox offers ALM and DevOps solutions including git, GitLab, Jira, Kubernetes, GitHub, Jenkins, Bitbucket and more. We help customers build end-to-end solutions including dev, test and prod environments; moving to containers and to the cloud.
We provide consulting, licenses, private hosting in the cloud, training, add-on development and we support and sell variety of DevOps and ALM tools.
Questions? Contact us: email@example.com or +972-722-240-5222 / 1-866-503-147