A Step-By-Step Guide to JIRA and Subversion SVN Integration:
JIRA is a very powerful issue & project tracking tool and is most popularly known by its use for bug tracking as well.
The other tools from the Atlassian suite which cover the ALM approach and that are tightly integrated with JIRA include Confluence for collaboration among project teams and Zephyr for Jira for complete test management activities.
Thus we could see that the above 3 tools are tightly integrated and provide the teams with an end to end visibility of all the project artifact status and progress.
Table of Contents:
Introduction
One of the important step involved in this whole process is to know how we LINK the tasks/bugs to the source code which could be in Subversion or Git repositories. This process, in turn, is very important for considering traceability.
In this tutorial, we will take an in-depth look at how a JIRA task will be linked during Subversion commit.
Recommended Reading=> Series of Atlassian Jira Tutorials
Pre-Requisites
- JIRA 7.3.X installed.
- Subversion repository created.
Install the Subversion Plugin to JIRA
The first step in integration is to install the Subversion plugin into JIRA. Click here to download the plugin.
The Subversion plugin from the above URL is compatible with version 7.3.x only.
Launch JIRA to install the plugin as shown in the below image. Go to Settings => Add-ons => Manage add-ons => Upload add-on option and upload the plugin.
The JIRA add-on or Plug-in that is installed will be shown as in the below image.
After the add-on is installed, refresh the page once. This plugin or add-on will help to see the Subversion commits linked to the JIRA issue.
As the Subversion add-on is uploaded, you need to add the Subversion repository URL. Click on the Subversion Repositories under the Add-ons.
We have the following Subversion repository shown in the Visual SVN server and here, that will be added in JIRA.
In this case, the repo URL is http://l-0310:89/svn/Integration/
Back in the JIRA add-ons screen, click on Add to enter the Subversion repository URL as shown below.
Add the URL along with the Username and Password and click on Add.
The repository added is now active and can be integrated with SVN commits. If there are multiple Subversion repositories to be integrated, then they can be added as well.
In the Administration page, click on System TAB => Services and edit the Subversion Index Update Service.
Set the index to Daily at an interval of every 15 minutes or as per the project need. This service will help to update the JIRA issue with SVN commit messages. Once this is done, click on Update.
Create a JIRA Issue of Type Bug for Integration
The use case here is to link any JIRA issue with the source code changes in the SVN repository. Thus we are creating a Bug issue in JIRA, which will be used during SVN commit. The issue number for the Bug created in this example is DEM-1.
Modify the file in the SVN repository and while doing SVN commit, provide the issue ID number which is DEM-1 as shown in the comments or message of the commit window.
Click Ok. As the update frequency is set to 15 mins, the JIRA issue will be updated with the links after every 15 mins. All the SVN commit details will be shown in the Subversion TAB of the issue as shown below.
The integration provides complete transparency of the details of the source code changes with respect to the JIRA issue without which there is no way to track the changes.
Conclusion
An ALM tool is advocated for an end to end development and delivery, just because of the following reasons:
- Single source of truth with one repository.
- Better communication or collaboration between the project team members.
- Ensuring real-time visibility and updates of all the integrated project artifacts.
- Standard process (Agile or Waterfall) enforced.
- End to End traceability.
- Productivity through better utilization of all the resources.
In this tutorial, we have seen how 2 powerful tools are integrated, thereby providing better transparency through the linking of SVN Commit with JIRA issue.
Most of the organizations also do use GitLab which is a web-based Git repo manager that provides source code repository, project planning features and CI/CD capabilities.
In the upcoming tutorials, we will discuss how JIRA and IBM Rational Team Concert will be integrated with GitLab with similar use cases as shown in this article.