このトピックでは、Webhook を使用してパイプラインをトリガーする方法について説明します。
前提条件
Webhook トリガーを有効にすると、パイプラインの実行を自動化できます。これにより、パイプラインジョブが合理化され、シームレスな統合と効率的なデプロイメントが可能になります。
パイプラインの設定ページで、[トリガー設定] タブをクリックし、[Webhook トリガー] スイッチをオンにします。ページに [汎用 Webhook] と [パイプラインソース Webhook] の URL が表示されます。使用する URL の横にあるコピーアイコンをクリックします。次に、右上の [保存のみ] または [保存して実行] をクリックして、設定を完了します。
Webhook トリガーを使用してパイプラインを実行するには、[Webhook トリガー] スイッチがオンになっていることを確認してください。Webhook トリガーは通常、コードソース外のサードパーティツールからの呼び出しに使用されますが、自社システム向けに構成することもできます。
Webhook によるパイプラインのトリガー
方法 1:汎用 Webhook トリガー
パイプラインで Webhook トリガーを有効にした後、次のコマンドを実行してパイプラインをトリガーします。
curl --header "Content-Type: application/json" --request POST --data "{}" http://flow-openapi.aliyun.com/pipeline/webhook/your-webhook
方法 2:パイプラインソース Webhook トリガー
パイプラインソース Webhook トリガーの URL は、コードソーストリガー の URL と同じです。ユースケースに最適な構成を選択できます。
方法 3: 環境変数 Webhook トリガー
Webhook トリガーは環境変数をサポートしており、変数のデフォルト値を使用してパイプラインをトリガーしたり、実行コマンドで値を上書きしたりできます。手順は次のとおりです。
パイプライン編集ページで、[変数とキャッシュ] タブを選択します。左側のペインで、[変数] を選択し、[文字列変数] セクションに環境変数を追加します。
-
To trigger the pipeline and override an environment variable's default value, include the new value in the request data.
curl --header "Content-Type: application/json" --request POST --data "{\"abc\":\"456\"}" http://flow-openapi.aliyun.com/pipeline/webhook/your-webhook -
In the example, the environment variable
abchas a default value of123before the pipeline is triggered. After the trigger, the pipeline prints the variable's value as456.[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 リクエストを再送信して、修正されたことを確認します。