View a markdown version of this page

Filter peristiwa GitHub webhook (SDK) - AWS CodeBuild

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Filter peristiwa GitHub webhook (SDK)

Untuk menggunakan AWS CodeBuild SDK untuk memfilter peristiwa webhook, gunakan filterGroups bidang dalam sintaks permintaan metode UpdateWebhook API CreateWebhook atau. Untuk informasi selengkapnya, lihat WebhookFilter di dalam Referensi API CodeBuild .

Untuk informasi selengkapnya tentang acara GitHub webhook, lihatGitHub acara webhook.

Untuk membuat filter webhook yang memicu build hanya untuk permintaan tarik, masukkan yang berikut ini ke dalam sintaks permintaan:

"filterGroups": [ [ { "type": "EVENT", "pattern": "PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED, PULL_REQUEST_REOPENED, PULL_REQUEST_MERGED, PULL_REQUEST_CLOSED" } ] ]

Untuk membuat filter webhook yang memicu build untuk cabang tertentu saja, gunakan pattern parameter untuk menentukan ekspresi reguler untuk memfilter nama cabang. Menggunakan contoh dua grup filter, build dipicu ketika salah satu atau keduanya mengevaluasi menjadi true:

  • Grup filter pertama menentukan permintaan tarik yang dibuat, diperbarui, atau dibuka kembali pada cabang dengan nama referensi Git yang cocok dengan ekspresi reguler ^refs/heads/main$ dan referensi kepala yang cocok^refs/heads/myBranch$.

  • Grup filter kedua menentukan permintaan push pada cabang dengan nama referensi Git yang cocok dengan ekspresi reguler^refs/heads/myBranch$.

"filterGroups": [ [ { "type": "EVENT", "pattern": "PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED, PULL_REQUEST_REOPENED" }, { "type": "HEAD_REF", "pattern": "^refs/heads/myBranch$" }, { "type": "BASE_REF", "pattern": "^refs/heads/main$" } ], [ { "type": "EVENT", "pattern": "PUSH" }, { "type": "HEAD_REF", "pattern": "^refs/heads/myBranch$" } ] ]

Anda dapat menggunakan excludeMatchedPattern parameter untuk menentukan peristiwa mana yang tidak memicu build. Misalnya, dalam contoh ini build dipicu untuk semua permintaan kecuali peristiwa tag.

"filterGroups": [ [ { "type": "EVENT", "pattern": "PUSH, PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED, PULL_REQUEST_REOPENED, PULL_REQUEST_MERGED, PULL_REQUEST_CLOSED" }, { "type": "HEAD_REF", "pattern": "^refs/tags/.*", "excludeMatchedPattern": true } ] ]

Anda dapat membuat filter yang memicu build hanya ketika file dengan nama yang cocok dengan ekspresi reguler dalam pattern argumen berubah. Dalam contoh ini, grup filter menentukan bahwa build dipicu hanya ketika file dengan nama yang cocok dengan ekspresi reguler ^buildspec.* berubah.

"filterGroups": [ [ { "type": "EVENT", "pattern": "PUSH" }, { "type": "FILE_PATH", "pattern": "^buildspec.*" } ] ]

Dalam contoh ini, grup filter menentukan bahwa build dipicu hanya ketika file diubah dalam test folder src atau.

"filterGroups": [ [ { "type": "EVENT", "pattern": "PUSH" }, { "type": "FILE_PATH", "pattern": "^src/.+|^test/.+" } ] ]

Anda dapat membuat filter yang memicu build hanya ketika perubahan dilakukan oleh pengguna Server GitHub Perusahaan GitHub atau pengguna tertentu dengan ID akunactor-account-id.

catatan

Untuk informasi tentang cara menemukan ID GitHub akun Anda, lihat https://api.github.com/users/user-name, di user-name mana nama GitHub pengguna Anda.

"filterGroups": [ [ { "type": "EVENT", "pattern": "PUSH, PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED, PULL_REQUEST_REOPENED, PULL_REQUEST_MERGED, PULL_REQUEST_CLOSED" }, { "type": "ACTOR_ACCOUNT_ID", "pattern": "actor-account-id" } ] ]

Anda dapat membuat filter yang memicu build hanya ketika pesan komit kepala cocok dengan ekspresi reguler dalam argumen pola. Dalam contoh ini, grup filter menentukan bahwa build dipicu hanya ketika pesan komit kepala dari peristiwa push cocok dengan ekspresi reguler\[CodeBuild\].

"filterGroups": [ [ { "type": "EVENT", "pattern": "PUSH" }, { "type": "COMMIT_MESSAGE", "pattern": "\[CodeBuild\]" } ] ]

Untuk membuat filter webhook yang memicu pekerjaan alur kerja build for Ac GitHub tions saja, masukkan yang berikut ini ke dalam sintaks permintaan:

"filterGroups": [ [ { "type": "EVENT", "pattern": "WORKFLOW_JOB_QUEUED" } ] ]