如何通过Jenkins Pipeline使用Jira插件更新Jira默认字段(如Fix versions)
Jenkins Pipeline更新Jira默认字段(以Fix versions为例)
已知你已配置好Jira Plugin并能执行基础查询,要通过Pipeline更新指定Issue的默认字段(比如Fix versions),可以使用JIRA Pipeline Steps插件提供的jiraEditIssue步骤,以下是具体实现:
完整Pipeline示例
pipeline { agent any stages { stage('Update Jira Issue') { steps { script { // 直接通过IssueKey更新Fix versions(替换为你的实际信息) jiraEditIssue( issueKey: 'PROJ-123', // 替换成目标Issue的Key fields: [ fixVersions: [ [name: '1.0.0'] // 填入要设置的版本名称,也可以用[id: '版本ID'] ] ] ) // 可选:如果需要基于现有Fix versions追加新版本 // def targetIssue = jiraSearch(jql: "key = 'PROJ-123'") // def updatedVersions = targetIssue.fields.fixVersions ?: [] // updatedVersions.add([name: '1.0.0']) // jiraEditIssue( // issueKey: targetIssue.key, // fields: [fixVersions: updatedVersions] // ) } } } } }
关键说明
- 核心步骤
jiraEditIssue:这是JIRA Pipeline Steps插件提供的编辑Issue方法,支持修改Jira的标准字段和自定义字段。 - Fix versions参数格式:由于Fix versions是多值字段,需要传入包含版本对象的数组。可以通过
name(版本名称)或id(版本ID)指定版本,两种方式二选一即可。 - 字段名对应规则:要使用Jira REST API的标准字段名(驼峰式),比如:
- Summary对应
summary - Assignee对应
assignee(格式为[name: '用户名']或[accountId: '用户ID']) - Priority对应
priority(格式为[name: 'High']或[id: '优先级ID'])
- Summary对应
- 权限验证:确保Jenkins配置的Jira凭证拥有修改该Issue的权限,否则会执行失败。
常见场景扩展
- 清空Fix versions:将
fixVersions设为空数组[]即可。 - 同时修改多个字段:在
fields中添加多个键值对,比如:fields: [ fixVersions: [[name: '1.0.0']], summary: '更新后的Issue标题', assignee: [name: 'dev-user'] ]
内容的提问来源于stack exchange,提问作者Izaya
相关产品推荐
相关产品推荐

