架构目的:
通过jira工单状态变更来触发jenkins任务的构建操作
架构图:
1.jenkins安装jira插件
系统管理→插件管理
可选插件
搜索jira
勾选JIRA Trigger
点击直接安装
2.jenkins配置
2.1系统设置
系统管理→系统设置
找到JIRA Trigger Configuration
填入jira的url、用户名、密码信息
点击保存
2.2任务配置
对任务进行配置
找到构建触发器
勾选Build when an issue is updated in JIRA(JIRA问题更新)
字段说明:
JQL filter:business = OSC AND project = NOVA
JIRA Field ID:status
New value:Done
Jenkins parameter:HARBOR_VERSION
Custom Field ID:ID
注:过滤问题,工单类型为osc工单同时项目为nova,当工单状态变为Done的时候触发构建操作,传入的版本参数为tag号版本
例:
3.jira配置
3.1网络钩子WebHooks配置
左上角点击设置->系统
在左边导航栏找到网络钩子
点击创建网络钩子
基础信息填写
填入网络钩子名称
状态开启
URL填入: http://[jenkins ip地址:端口]/jira-trigger-webhook-receiver/
描述非必填
jenkins那边配置的是问题事件,其它事件就不介绍了,根据需要勾选
问题事件配置
business = OSC AND project = NOVA是jenkins那边配置的JQL filter
已更新对应jenkins里Build when an issue is updated in JIRA触发器
JQL filter还有很多参数,我填的component是模块
因为是spring cloud项目,问题更改了哪个模块,就去重新部署某个微服务项目
参数一览
出现以下页面,点击一下链接,验证一下是否成功
出现以下页面就表示配置成功
目前为止,所有配置都已完成
创建jira工单任务:
当工单状态变成完成的时候,会触发jenkins的构建操作
例:
创建jira工单:
当工单状态变为done即为完成状态,会自动触发jenkins任务的构建操作