首先解答一個疑問:是Jira整合Jenkins還是Jenkins整合Jira。Jenkins可以 整合Jira ,Jira也可以整合Jenkins。這兩個工具都提供了相關的外掛程式實現。本篇文章就來介紹下Jenkins和Jira互相整合需要做哪些配置,記住外掛程式是少不了的,並且要保證Jira和Jenkins之間能夠正常訪問。 Jenkins Jira外掛程式安裝
這裡Jenkins主要安裝的有: Jira Issue Updater JIRA plugin JIRA Trigger Plugin
註:上面JIRA Plugin for Jenkins外掛程式是Jira需要的,需要下載手動上傳。下載地址: https://repository.marvelution.com/content/repositories/releases/com/marvelution/jira/plugins/jenkins-jira-plugin/
註:盡量下載比較靠後的版本。
Jenkins 系統配置Jira配置
註:這裡的配置都是根據外掛程式需要而配置的,有些是沒有必要配置的。
Jenkins Project配置構建後Jira操作
註:還有其它的JIRA配置項,下來再仔細研究下。
Jira 安裝Jenkins Integration for JIRA外掛程式
Jira配置applications和Jenkins websites
添加應用:
添加Jenkins:
添加後:
主要這裡報了一個異常警告:
這裡就用到了前面所說的JIRA Plugin for Jenkins外掛程式,安裝上傳後就沒有了,勾選前面的checkbox框就可以操作了:
Jenkins構建部署錯誤測試
此測試為驗證jenkins構建部署失敗時能否自動往Jira上新增一條問題記錄。構建過程中發現Jenkins for Jira外掛程式還存在一定的問題,報如下錯誤:
此問題在Jenkins網站問題中有記錄:https://issues.jenkins-ci.org/browse/JENKINS-38293可以參考。修改Jenkins 構建後Jira的配置:
報錯問題解決,但是仍然不明白Jira上面為何沒有建立一個新的issue,很有可能少了點配置。 Jira BUG狀態改變觸發Jenkins構建
原理:Jira利用webhooks串連Jenkins,Jenkins通過jira-trigger-plugin擷取觸發構建事件。 jira-trigger-plugin說明配置
首先我們來看看jira-trigger-plugin,GItbub:https://github.com/jenkinsci/jira-trigger-plugin我們從中大致可以知道有4個步驟:
第一步:瞭解Jira觸發器外掛程式的特性
第二步:配置Jira webhooks
第三步:Jenkins全域配置之JIRA觸發器配置
第四步:配置Jenkins Job Project構建觸發器
jira-trigger-plugin執行個體配置
下面我們就配置一個issue Updated的觸發構建webhook.
第一步:在jira>System>Advance中找到webhooks 並建立
建立後的視圖如下:
第二步:配置Jenkins全域Jira觸發器
第三步:修改Jenkins Job project的構建觸發器
此處配置的BUG狀態由In Progress變為Done的都觸發Jenkins構建。
第四步:修改BUG狀態驗證是否觸發構建
以上操作儲存後,修改任意bug狀態由In Progress變為Done,Jenkins發起了新的構建任務,如下控制台輸出:
關於修改的BUG觸發記錄: