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 のあるリポジトリー
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 のリポジトリーンのシークレット
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 を検査できます。