GitLab has a fully featured toolset that propels teams to work cohesively across a singular platform collaboratively towards achieving software excellence, while optimizing team synergy and productivity when going from idea to production. As for project management, JIRA is well known for planning, tracking, and releasing software, serving as the conduit of communication between project managers and developers. But what if you could integrate those two platforms? How would this help improve the engineer's development workflow?
GitLab acts as a great integrator that seamlessly fits into the software development workflow to ensure developers and project managers remain in tune. In this article, I dive into how to integrate GitLab with JIRA, and look at the advantages of this integration, explaining why you would want to do so. I assume you already have some familiarity with both GitLab and JIRA.
What is JIRA?
JIRA is a project management platform that provides teams with the tools necessary to plan, create, track, prioritize, and distribute tasks amongst engineers, and to manage user stories, sprints, releases, reports, and more. It offers a range of tools to facilitate project management, such as a helpdesk system, a marketing campaign platform, and portfolio planning structure. For example, all of the ongoing engineering tasks that go into ProgrammableWeb are project managed with JIRA. In comparison, GitLab's very own Issue Board provides a simple and concise in-tool way to create and track issues, sufficient for most purposes and scenarios without the extended bells and whistles of JIRA.
In this article you'll learn how you can leverage GitLab in JIRA projects to propel your development workflow to a whole new level, creating a more engaging relationship between developers and project managers.
Why use GitLab with JIRA?
Where GitLab is geared towards developers, and JIRA is more project management driven, the goal with projects has always been for teams to work more closely. While managers tend to not meddle in GitLab, it can also be said that developers don't share the same passion for wanting to contribute in JIRA. By integrating GitLab into JIRA, this takes away a major pain point, because this lets developers articulate to the project team through an environment they're more comfortable with, through their git commit statements.
Commenting on JIRA Issues Within git
The first benefit to look at is using git commit messages to mention and write comments in a specific JIRA issue. This way, when developers mention specific JIRA issues within their git commits by issue number, the aforementioned JIRA issue will subsequently get that new comment, as well as a link that refers to that specific JIRA commit, as illustrated below:
When a developer refers to a specific JIRA ticket number in a commit message, a relationship between the git commit and JIRA ticket is established, making it easier for both developers and managers to follow the progress of that user story together. This is a really nice way of tying together the development and project tracking efforts contextually and centrally.
Closing JIRA Issues Within git
JIRA uses a combination of project name and issue number to refer to an issue within a project. For example, "WebLaunch-10" refers to issue 10 within a project named "WebLaunch." When a Gitlab project receives a git commit message that refers to a specific issue (i.e., "WebLaunch-10"), the appropriate action is automatically taken in the corresponding JIRA project. For example, a commit message to close the WebLaunch-10 issue would look like:
WebLaunch-10 #close Fixed this today
The commit message above signifies the intent to close the issue via his or her git commit, as annotated with the comment, "Fixed this today." This way the developer conveniently notifies the project team (via JIRA) about the closing of a particular issue without separately having to go into JIRA to mark the status as closed. The commit statement is automatically attached to the issue in JIRA. This saves time for developers while ensuring greater transparency for the rest of the team.