jira中issue状态的改变触发jenkins job构建

背景:想通过监控jira中 issue状态的变化去触发jenkins job的构建
  1. 在jenkins中安装插件:JIRA Trigger plugin. 下载地址:https://plugins.jenkins.io/jira-trigger/
    jira中issue状态的改变触发jenkins job构建_第1张图片

  2. 在Jenkins-> Manage Jenkins -> Configure System -> JIRA Trigget Configuration中配置该插件与jira端的关联
    jira中issue状态的改变触发jenkins job构建_第2张图片

  3. 在Jira中配置webhook,管理->系统->高级->webhook
    jira中issue状态的改变触发jenkins job构建_第3张图片

  4. 点击WebHooks,在页面上点击创建Webhooks的按钮
    jira中issue状态的改变触发jenkins job构建_第4张图片

  5. 然后在页面上填写url(格式是:${Jenkins URL}/jira-trigger-webhook-receiver/)名称可以随便命名,并选中事件。
    jira中issue状态的改变触发jenkins job构建_第5张图片

这里可以写JQL函数去限制该webkook对JIRA issue的起效范围,例如:project=DevOps团队 and issuetype=任务
不要勾选排除主体,然后点击“Save”按钮保存

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

  1. 可以先创建一个pipeline job,接着在Jenkins job中配置JIRA Trigger Configuration
    jira中issue状态的改变触发jenkins job构建_第6张图片

上图中,我们通过判断status(即issue的状态)的值的改变来决定是否触发构建,上面:一个是匹配old status 一个是匹配new status.
即jira issue的状态从In Progress—>Done则会触发构建.

之后查看该构建控制台日志,可以发现是jira issue的状态发生变化的log输出.
jira中issue状态的改变触发jenkins job构建_第7张图片

  1. jenkins job中的Parameter mapping->Issue Attribute Path配置是从jira REST API中抽取信息显示到jenkins端
    jira中issue状态的改变触发jenkins job构建_第8张图片

在job console output所在页面点击Parameter 可以看到webhook触发jenkins job构建后传过来的jira信息
jira中issue状态的改变触发jenkins job构建_第9张图片

  • 提示):可以在jenkins端配置多个job使用该插件,当jira issue状态发生变化时可以触发多个jenkins job进行构建
  • 注意):当前1.0.3版本的JIRA Trigger plugin在写JQL函数对webhook作用范围进行限制时,只有在jira webhook中填写才能起作用。

你可能感兴趣的:(jenkins,jira,issue)