繁体   English   中英

JIRA:如何仅在工作流程的单个过渡中触发Webhook?

[英]JIRA: How to make a webhook fire for only a single transition, of a workflow?

场景是

git-> JIRA->詹金斯

在Git中进行提交,必须更改JIRA中的问题状态,这反过来又应该触发Jenkins中的工作构建。

方法尝试

  1. 我在JIRA中创建了一个WebHook。 该Webhook包含Jenkins作业的URL。
  2. 将此WebHook附加到JIRA的工作流程中,作为发布功能
  3. 工作流程很简单。 它说:[InReview]-> [InProgress]-(Aprrove)-> [Done]
  4. Webhook连接到从[进行中]到[完成]的过渡
  5. WebHook中提到了IssueKey和Issue-Updated。 IssueKey将使WebHook仅适用于特定问题。 Issue-Updated是在更新特定问题时将触发WebHook的事件。

现在,当我执行Git提交时,Jira问题的状态从InReview更改为InProgress,并出现一个批准按钮。 当我签入Jenkins时,由于此问题的更改而触发了构建。 我再次回到JIRA,单击“批准”按钮,“发布”状态从“进行中”更改为“完成”,这也触发了Jenkins的构建。

我的要求是,仅在InProgress to Done状态更改时才发生Jenkins构建。 我无法指出为什么从InReview到InProgress过渡会触发Jenkins构建的原因。

关于此的任何指示将大有帮助。 提前致谢。

经过大量的尝试和试验,最终JQL为我完成了窍门。 我对WebHook进行了如下编辑:

在“ 事件 (与事件相关的事件)”部分(“事件和工作日志的事件。您可以指定JQL查询以仅发送由匹配问题触发的事件。”部分)中,输入:

issuekey = "Issue-ID" AND status = "In Review"

上面代码行中提到的“问题ID”仅供参考。 实际上,它是一个3字母的单词,后跟发行号,例如: ABC-1

这将触发从特定状态转换的动作(webhook)。 这个故事的寓意是:所有的转变,其源从"this value"在JQL查询status="this value" ,将触发网络挂接。

编辑1:为了使Webhook更具过渡特定性,以便它只触发一个过渡,我们可以将JQL用作:

status CHANGED FROM "In Progress" TO "Open"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM