实际项目中,经常会手动修改jira中issue的状态,则如果这个状态的改变能够触发jenkins的构建,这个是特别有效有用

比如修复某些bug的,就可以指定bug状态变了才构建,不会因为多次提及代码而重复构建


1、在jenkins中安装该插件:http://wiki.jenkins-ci.org/display/JENKINS/JIRA+Trigger+Plugin


2、在jira中配置webhook,即钩子,jira—>管理—>系统—>高级,找到WebHook


点击WebHooks,在页面上点击创建webhooks的按钮


之后在页面上填写url(格式是:${Jenkins URL}/jira-trigger-webhook-receiver/),并选中事件


然后点击“Save”按钮保存

上述的配置,在官网的文档中也有详细描述:https://github.com/jenkinsci/jira-trigger-plugin

3、在Jenkins—>系统管理—>系统设置中,需要配下该插件和jira的关联


4、回到jira刚才配置WebHooks的页面,点击配置的jenkins的url:如http://172.16.2.56:8090/jira-trigger-webhook-receiver/

页面出现这样的提示,则说明jenkins和jira之间的WebHooks即钩子配置成功


5、接着在具体的job中配置JIRA Trigger Configuration


上图中,我们通过判断status(即issue的状态)的值的改变来决定是否触发构建,上面:一个是匹配旧状态 一个是匹配新状态

即如果issue=YIN-12的状态从In Progress—>In Review则会触发构建


如果只配置一个old value,如下图所示,则表明issue=YIN-12的状态从In Progress开始发生改变,就会触发构建

6、查看Jenkins构建记录

首先在job的页面,可看到该构建是由WebHooks触发的


之后查看该构建控制台日志,可发现是由issue的状态发生改变触发该构建的


Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐