首页 > 解决方案 > 从 Jenkins Pipeline 构建更新 Jira 项目:jiraIssueSelector 没有发现任何问题

问题描述

在自由式 Jenkins 作业中,有一个称为"JIRA: Update relevant issues". 该作业将在适当的 JIRA 任务中添加注释(基于提交消息),说明构建是成功还是失败。

[![JIRA:更新相关问题][1]][1][1]:https://i.stack.imgur.com/aBJVZ.png

我想从管道工作中做同样的事情。

据我所知,没有任何内置程序可以像自由式作业的后期构建步骤那样一步完成所有这些工作。

我可以使用管道步骤向 Jira 项目添加评论,但jiraComment仍然需要从提交消息中找出需要更新哪些 Jira 项目。

我正在尝试使用jiraIssueSelector管道步骤来做到这一点。

当我将以下内容放入我的 Jenkinsfile 中时:

    def issueKeys = jiraIssueSelector(issueSelector: [$class: 'DefaultIssueSelector'])    
    echo "${issueKeys.size()}"

并使用提交消息对提交运行它"DEVO-2398 DEVO-2399",它给了我输出

    [Pipeline] jiraIssueSelector
    [Pipeline] echo
    0

在提交消息jiraIssueSelector中没有找到任何jiraIssues。

JIRA: Update relevant issues当我针对同一个 git 提交使用构建后步骤运行自由式作业时,它发现了两个 Jira 问题。我得到以下输出:

[JIRA] Updating issue DEVO-2399
[JIRA] Updating issue DEVO-2398

所以我的问题是双重的:

  1. 有没有比组合jiraComment和更简单的方法来复制管道中 Jira 构建后步骤的功能jiraIssueSelector
  2. 假设没有,我做错了jiraIssueSelector什么?当 Jira 构建后步骤能够找到它们时,为什么在提交消息中没有发现任何 Jira 问题只是找到它们就好了?

标签: jenkins-pipeline

解决方案


推荐阅读