[英]how to trigger gitlab webhook on merge only
提前感謝您的幫助,
我目前有一個 Gitlab Webhook 在“合並請求事件”選項上成功觸發了 Jenkins 作業:在此處輸入圖像描述
但是,這會為合並請求的每個階段觸發 Jenkins 作業,因此每當創建、更新、合並和關閉請求時,都會觸發 URL 並為每個階段運行作業。
是否可以將 Webhook 限制為**僅**觸發合並批准(因此僅在按下合並按鈕時)。 在此處輸入圖像描述
Webhook 有效負載在“action”標簽下的每個階段傳遞,但只關心“合並”操作。 至於請求的創建、更新或關閉,我不需要作業在這些階段運行。
.. 我試圖在 Jenkins 端解決這個問題 - 我正在使用通用 Webhook 觸發器插件,我正在為觸發器傳遞 JSON 有效負載 - 所以我可以根據發送的“動作”值來操縱作業。
然而,這還不夠,因為 Gitlab Webhook 始終會在每次“合並事件”時從 Gitlab 端觸發,從而導致多次調用 Jenkins 作業。
我找到了答案,這是通用 Webhook 觸發器插件的方式。
因為我從 Gitlab Webhook 負載中提取了“action”變量:
我現在可以將此變量添加到同一個 Jenkins 插件中的“可選過濾器”:
在這里我可以重新使用合並操作變量並查找傳入的“合並”值。
現在我的工作只有在我正在拉的變量中找到這個表達式時才會運行。
另外..我可以將多個變量添加到“可選過濾器”中,並使它們依賴於傳入的表達式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.