Jenkins – GitHub and JIRA Integration Overview
In an Application Lifecycle Management (ALM) ecosystem, the choice of systems and the collaboration between the cross-functional teams play a great role. While the choice of systems impacts the productivity of a team, the cross-functional collaboration helps the teams get complete context of the business requirements.
Best-of-breed systems such as Jenkins, GitHub and JIRA bring rich functionalities to the ecosystem. When GitHub is integrated with JIRA and Jenkins, all stakeholders have real-time visibility into the commits made by the development team. It is also easier to enforce authentic commits against each work item, and access the changes/edits made to the commit files from JIRA itself.
How Jenkins – GitHub – JIRA integration is beneficial for an enterprise
- Track commit volume, track commit trends and edits/changes to commit files in real time
- Enforce authentic commits to make sure each commit is happening against a scheduled and open workitem
- Eliminate manual effort to close JIRA workitem by automating the state transition on GitHub commit
With Jenkins + GitHub + JIRA integration, enterprises can:
How OpsHub Integration Manager integrates Jenkins, GitHub and JIRA
OpsHub Integration Manager integrates Jenkins, GitHub and JIRA bi-directionally. It ensures that all historical and current data is available to each user, in that user’s preferred system, with full context, in real-time. All the details related to a commit made against a work-item in JIRA can be tracked from JIRA itself. For example, for each commit that development team makes in GitHub, GitHub synchronizes a ‘commit entity’ linked to the specific requirement id back to JIRA. Each ‘commit entity’ includes information such as ‘who did the commit?’, ‘when was the commit done?’,and ‘which part of the code was committed?’. The integration of Jenkins also ensures elimination of developer’s effort to close JIRA workitem by automating the state transition on GitHub commit.
Entities that can be synchronized between Jenkins, GitHub and JIRA
Use Case: Jenkins integration with JIRA and GitHub
Problem statement: No control on backlogs getting committed – therefore, anyone can commit on a defect that is not even present in the active sprint.
Solution: If JIRA, GitHub, and Jenkins are integrated using OpsHub Integration Manager, then OpsHub Integration Manager can put a check that user can only commit on a defect that is present in active sprint.
- A developer works on a ‘defect’ in JIRA and runs a test case against it. The test case passes.
- The developer then commits against the ‘defect’ in GitHub.
- As the ‘defect’ against which the developer has committed is not in active sprint, when Jenkins runs a pre-scheduled test on it, the commit fails.
- The status of the commit synchronizes to JIRA.
Benefits of integration for Jenkins, GitHub and JIRA users
Jenkins and GitHub users
- Each commit can be traced back to its respective workitem at any given point in time from GitHub itself
- Enforced checkpoints ensure that no mandatory steps/checks are missed while making a commit – this leads to high success rate for commits
- Traceability for business requirements throughout the ALM tool chain
- Direct visibility into customer issues and their priorities
- Visibility into the volume, quality of commits, and commit trends in real-time