当特定 JIRA 项目下的所有问题的状态更改为“IN PROGRESS”状态时触发 Jenkins 构建

Posted

技术标签:

【中文标题】当特定 JIRA 项目下的所有问题的状态更改为“IN PROGRESS”状态时触发 Jenkins 构建【英文标题】:Triggering Jenkins build when the status of all the issues under a particular JIRA project is changed to "IN PROGRESS" state 【发布时间】:2018-09-28 17:03:08 【问题描述】:

我有一个场景,当特定 JIRA 项目下的所有问题都更改为 “IN PROGRESS” 状态时,应该自动触发 Jenkins 构建。假设我的 JIRA 项目中有 3 个问题,其中 2 个处于 “TO DO” 状态,其中一个处于 “IN PROGRESS” 状态。仅当剩余 2 个票证也从 “TO DO” 移动到 “IN PROGRESS”

时,才应触发 Jenkins 构建

我可以使用 Jenkins 中的 JIRA webhook 和 JIRA 触发器插件自动触发 Jenkins 构建,方法是选择 在 JIRA 中更新问题时构建选项并传递所需的Jenkins 作业中的参数,但我需要一个条件,即仅当特定项目的 所有 问题(而不仅仅是一个)更新为 “IN PROGRESS”吉拉。有没有可能有这样的东西?

【问题讨论】:

【参考方案1】:

其中一个解决方案是使用 JIRA 的 REST API 并每隔 x 分钟轮询一次,以检查与您的查询匹配的所有问题是否都处于“进行中”状态。您甚至可以将这两者结合起来 - 在您收到来自 JIRA 的 webhook 的调用后,您可以通过调用 REST API 来检查状态来做出响应。

【讨论】:

以上是关于当特定 JIRA 项目下的所有问题的状态更改为“IN PROGRESS”状态时触发 Jenkins 构建的主要内容,如果未能解决你的问题,请参考以下文章

如何将 SwiftUI 状态从特定值更改为新状态值设置动画?

当复选框将状态更改为“已检查”(纯javascript)时跨表行

如何使用 jira-ruby gem 将转换更改为 ruby​​ 中的问题?

怎么在jira中将问题状态由open改为in progress

当状态更改为媒体结束时,QMediaPlayer 状态未停止

如何在数组中设置特定对象的状态