6.6. Pipelines as Code での受信 Webhook の使用
受信 Webhook URL と共有シークレットを使用して、リポジトリーでパイプラインの実行を開始できます。
受信 Webhook を使用するには、Repository カスタムリソース定義 (CRD) の spec セクション内で次のように指定します。
- Pipelines as Code が一致する受信 Webhook URL。
Git プロバイダーおよびユーザートークン。現時点で、Pipelines as Code は
github、gitlab、およびbitbucket-cloudをサポートします。注記GitHub アプリケーションのコンテキストで受信 Webhook URL を使用する場合は、トークンを指定する必要があります。
- 受信 Webhook URL のターゲットブランチおよびシークレット。
例: 受信 Webhook のある Repository CRD
apiVersion: "pipelinesascode.tekton.dev/v1alpha1"
kind: Repository
metadata:
name: repo
namespace: ns
spec:
url: "https://github.com/owner/repo"
git_provider:
type: github
secret:
name: "owner-token"
incoming:
- targets:
- main
secret:
name: repo-incoming-secret
type: webhook-url
例: 受信 Webhook の repo-incoming-secret のシークレット
apiVersion: v1
kind: Secret
metadata:
name: repo-incoming-secret
namespace: ns
type: Opaque
stringData:
secret: <very-secure-shared-secret>
Git リポジトリーの .tekton ディレクトリーにあるパイプライン実行をトリガーするには、以下のコマンドを使用します。
$ curl -X POST 'https://control.pac.url/incoming?secret=very-secure-shared-secret&repository=repo&branch=main&pipelinerun=target_pipelinerun'
Pipelines as Code は受信 URL を照合し、それを push イベントとして扱います。ただし、Pipelines as Code は、このコマンドによってトリガーされたパイプライン実行のステータスを報告しません。
レポートまたは通知を取得するには、finally タスクを使用してこれをパイプラインに直接追加します。または、tkn pac CLI ツールを使用して Repository CRD を検査できます。