jenkins集成jira

一、插件准备

1、jira中安装插件

Jenkins Integration for JIRA Server

2、Jenkins中安装插件

JIRA Integration for Jenkins
Jira Issue Updater
JIRA Pipeline Steps
JIRA plugin
JIRA Trigger Plugin
JiraTestResultReporter plugin
https://repository.marvelution.org/content/repositories/releases/org/marvelution/jji/assemblies/jenkins-jira-plugin/

二、jenkins中的配置

1、创建API token(jira中可使用api token,亦可使用用户名密码认证)

系统管理-全局安全配置-取消掉“防止跨站点请求伪造”选项(否则使用API跨站点请求的时候,会返回403)-允许创建api token

用户-设置-API Token-Add new Token(后续在jira中使用token时,可到此处复制token)

2、系统管理-系统设置-JIRA-Steps中添加JIRA sites并测试连接

 

Jira Trigger Configuration-输入jira路径及用户名密码

三、Jira中配置

1、添加应用程序连接:

应用程序-应用程序链接-输入jenkins地址-创建新链接

配置传出认证:点击编辑-传出认证-基本访问-输入jenkins用户名、密码

2、配置Jenkins configuration:应用程序-Jenkins configuration-Add Site-输入jenkins地址及用户名密码(亦可使用api token)

3、添加网络钩子:

设置-系统-WebHook-创建WebHook,填写详细信息并设置触发规则

其中url为http://你的Jenkins地址/jira-trigger-webhook-receiver/

四、jenkins中创建job

1、构建触发器

跟jira相关的触发器有两类:

(1)Build when a comment is added to JIRA

JQL filter:指定触发对象,project=WUZ指的是jira中项目关键字为WUZ的项目

Comment pattern:jira备注中填写的comment,当用户在jira中添加指定备注时,会触发jenkins构建

Jenkins parameter:jenkins中的参数名称

Issue attribute path:jira issue中提取出得需要传给jenkins的属性值

下图样例中,当关键字为”TES”的项目中添加了备注信息:”build this please”,将触发jenkins构建,并将jira issue的ID传给参数JIRA_ISSUE_KEY,可在后面的pipeline中调用;

(2)Build when an issue is updated in JIRA

JIRA fiels ID:变更项

Compare new value:新的状态值

Compare old value:原始状态值

下图样例中,选择status作为jenkins构建的触发项,即issue的状态由TO DO 变更为In Progress时,触发jenkins构建建,并将此时的issue状态传给参数JIRA_ISSUE_KEY1

3、编写构建pipeline

  1. node {
  2. stage(‘Preparation’) {
  3. echo “${WORKSPACE}”
  4. echo “${JIRA_ISSUE_KEY}”
  5. }
  6. }
  7. node {
  8. stage(‘TransitionIssue’) {
  9. withEnv([‘JIRA_SITE=jira1’]) {
  10. def transitionInput =
  11. [
  12. transition: [
  13. id: ’31’
  14. ]
  15. ]
  16. jiraTransitionIssue idOrKey:”${params.JIRA_ISSUE_KEY}” , input: transitionInput
  17. }
  18. }
  19. }

4、样例效果

jenkins编译结果:

 

jira变更记录:

 

Leave a Reply

邮箱地址不会被公开。 必填项已用*标注

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>