簡體   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