JIRA Integration

Situation

Set up a configuration to generate builds of a project and achieve below purposes:

  1. QuickBuild should use next unreleased version of that project in JIRA as version of the new build.
  2. For JIRA issues marked as fixed in SCM commit comments, QuickBuild should update status of these issues in JIRA to be resolved under the developer's JIRA account.
  3. QuickBuild should mark corresponding versions of the project in JIRA as released.
  4. For all above resolved issues, QuickBuild should update the fix version/s field to include the build version.
  5. When navigate to build detail, issue keys in the commit comments should be rendered as issue links.
  6. User should be able to view all resolved/related issues in a particular build.
  7. User should be able to view all builds and SCM changes relating to a particular issue at JIRA side.

Demonstration

  1. Switch to versions screen of the demo JIRA instance. The next unreleased version is the same as next build version displayed at QuickBuild side. You will also find that all built versions at QuickBuild side are marked as released here.
  2. Switch to scm changes page of latest build of the demo project. All issue keys in the commit message are hyper-linked to JIRA.
  3. Switch to issues page of latest build of the demo project. All issues corresponding to current build are listed there, and QuickBuild has resolved all issues under the name of "robin" at JIRA side based on "fix" keywords found in robin's commit message.
  4. Click any issue key in the issues page to get navigated to issue detail page in JIRA, and you will find that the issue's fix version/s field is updated to include current build version.
  5. In the issue detail page opened above, you will find two additional tabs, respectively QB Builds, and QB Changes. The QB Builds tab displays all builds relating to this issue, while QB Changes tab displays all SCM changes relating to the issue. You may also be able to view/diff changed files in QB Changes tab.

Resolution

To get QuickBuild displaying JIRA issues:

  1. Configure JIRA to accept remote API calls. Remote API call option can be turned on/off by logging in as JIRA administrator, switching to Administration tab, clicking General Configuration link at left side of the screen, and clicking the edit configuration link.
  2. Set up JIRA server information at QuickBuild side by switching to the JIRA server setting page.

To configure QuickBuild to pick up next unreleased JIRA version as next build version, switch to general setting page and specify next build version as Use first unreleased version of associated JIRA project.

To configure QuickBuild to auto-update status of JIRA issues based on issue actions in SCM commit messages, you will need to add the Update JIRA Issues step as shown in steps page of the demo project. QuickBuild tries to update issues using developer's own JIRA account, and this required that:

  1. The user name in SCM system can be mapped to a QuickBuild user. Taking the demo project for example, the user "robin" is mapped to QuickBuild user "robinshine" in repository definition. This requirement will be automatically met if your SCM system and QuickBuild have been configured to authenticate against the same LDAP system. Refer to the LDAP Authentication for details.
  2. If user name/password of the mapped QuickBuild user is not the same as in JIRA, you will need to specify JIRA account by editing my setting page of the QuickBuild user. This requirement will be automatically met if QuickBuild and JIRA have been configured to authenticate against the same LDAP system. Refer to the LDAP Authentication for details.

To configure QuickBuild to auto-release corresponding JIRA versions and update fix version/s field of relevant issues, you will need to add the Release JIRA Version step as shown in steps page of the demo project. Also please make sure that the JIRA account specified at JIRA server setting page has below permissions:

  1. Be able to release existing versions and create new versions in relevant projects in JIRA.
  2. Be able to update issues of corresponding projects.

To configure JIRA to display QB Builds tab and QB Changes tab, do the following:

  1. Install the QuickBuild plugin for JIRA following instructions in this page.
  2. Start up JIRA, login as JIRA administrator, switch to Administration tab, and click the QuickBuild Server link at left side of the screen. In the QuickBuild servers page, we've specified below setting for this demo:
    1. Server Name: Demo QuickBuild Server
    2. Host URL: http://demo.pmease.com
    3. User name/password: specify the QuickBuild account with permission to access build changes
    4. Associated Projects: TST=Demo/Build Setup Tutorials/JIRA Integration

Labels:

Enter labels to add to this page:
Wait Image 
Looking for a label? Just start typing.