在自由式Jenkins作业中,有一个称为"JIRA: Update relevant issues"
的后构建步骤。这项工作将在适当的JIRA任务(基于提交消息)中添加注释,以说明构建成功还是失败。
我想在管道工作中做同样的事情。
据我所知,没有任何内置功能可以像自由样式作业的构建后步骤那样一步完成所有操作。
我 am 能够使用jiraComment
管道步骤向Jira项目添加注释,但是我仍然需要从提交消息中找出哪些Jira项目需要更新。 / p>
我正在尝试使用jiraIssueSelector管道步骤来做到这一点。
当我在我的Jenkinsfile中添加以下内容时:
def issueKeys = jiraIssueSelector(issueSelector: [$class: 'DefaultIssueSelector'])
echo "${issueKeys.size()}"
并使用提交消息"DEVO-2398 DEVO-2399"
对提交运行它,它为我提供输出
[Pipeline] jiraIssueSelector
[Pipeline] echo
0
jiraIssueSelector在提交消息中找不到任何 jiraIssues。
当我针对同一个git commit使用JIRA: Update relevant issues
后构建步骤运行自由式作业时,它将发现两个Jira问题。我得到以下输出:
[JIRA]正在更新问题DEVO-2399
[JIRA]正在更新问题DEVO-2398
所以我的问题是双重的:
jiraComment
和jiraIssueSelector
相比,在管道中复制Jira构建后步骤的功能是否更简单?jiraIssueSelector
在做什么?当在Jira后构建步骤能够找到它们时,为什么在提交消息中找不到任何Jira问题?