本文主要介紹了如何使用Webhook觸發方式運行流水線。
前提條件
開啟配置Webhook觸發可以快捷的實現流水線自動化任務運行,使流水線任務運行更簡潔,做到無縫整合與高效部署。
在流水線配置頁面單擊觸發設定頁簽,開啟Webhook觸發開關後,頁面將顯示通用Webhook和流水線源Webhook兩個URL地址,單擊對應URL右側的複製按鈕擷取地址,然後單擊右上方僅儲存或儲存並運行完成配置。
重要
若您需要使用Webhook觸發運行流水線,請您先確保Webhook觸發開關是開啟狀態。Webhook觸發通常適用於代碼源以外的第三方工具調用,同時也支援自有系統配置後進行觸發運行流水線。
Webhook觸發運行流水線
方式一:通用Webhook觸發
啟用流水線Webhook觸發後,可以直接使用以下命令觸發運行流水線。
curl --header "Content-Type: application/json" --request POST --data "{}" http://flow-openapi.aliyun.com/pipeline/webhook/your-webhook
方式二:流水線源Webhook觸發
流水線源Webhook觸發的地址與代碼源觸發一致,您可以結合需求情境選擇配置即可。
方式三:環境變數Webhook觸發
Webhook觸發支援環境變數觸發,您可以使用預設的變數參數與預設值進行觸發;也可以在運行命令中自訂預設值,使用變數參數和新定義的預設值來觸發。具體操作如下:
在流水線編輯頁面選擇變數和緩衝頁簽,在左側選擇變數,於字元變數地區添加環境變數。
-
使用變數參數和新定義的預設值來觸發。
curl --header "Content-Type: application/json" --request POST --data "{\"abc\":\"456\"}" http://flow-openapi.aliyun.com/pipeline/webhook/your-webhook -
觸發前樣本中的環境變數
abc預設值123,觸發後的流水線列印變數值輸出456。[executionStep begins at 2024-10-12 14:19:25] ################################################################## # name : Command # version : v1.0.69 # description : execute shell command # help url : https://atomgit.com/flow-step/Command.git # build id : f097ed94-f9fa-40cc-a34a-64741c07ed4a ################################################################## 2024-10-12 14:19:25 [INFO] Given shell executor: [] useGivenShell: [false] 2024-10-12 14:19:25 [INFO] Invoke script with shell [bash] 2024-10-12 14:19:25 [INFO] ------ User Command Content ------ # input your command here echo ${abc} 2024-10-12 14:19:25 [INFO] ------ User Command Content ------ 2024-10-12 14:19:25 [INFO] 456 2024-10-12 14:19:25 [SUCCESS] run step successfully!
對於任意第三方對接,均可以通過以上方式觸發運行流水線。
常見問題
通過Webhook觸發流水線失敗,提示:許可權不足
當使用 Webhook 觸發流水線時,系統會預設以最近一次啟用 Webhook 觸發功能的使用者身份執行流水線,繼承該使用者的許可權上下文。如果該使用者權限不足或已被移除許可權,將導致觸發失敗。請按以下步驟更新許可權操作:
-
禁用Webhook觸發功能。
-
由可以成功運行流水線的使用者重新啟用Webhook觸發功能。
-
重新發起Webhook請求進行驗證。