

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

# Acara webhook Bitbucket
<a name="bitbucket-webhook"></a>

Anda dapat menggunakan grup filter webhook untuk menentukan peristiwa webhook Bitbucket mana yang memicu build. Misalnya, Anda dapat menentukan bahwa build hanya dipicu untuk perubahan pada cabang tertentu. 

Anda dapat membuat satu atau beberapa grup filter webhook untuk menentukan peristiwa webhook mana yang memicu build. Build dipicu jika grup filter apa pun mengevaluasi true, yang terjadi ketika semua filter dalam grup dievaluasi menjadi true. Saat Anda membuat grup filter, Anda menentukan: 

**Sebuah acara**  
Untuk Bitbucket, Anda dapat memilih satu atau beberapa acara berikut:  
+ `PUSH`
+ `PULL_REQUEST_CREATED`
+ `PULL_REQUEST_UPDATED`
+ `PULL_REQUEST_MERGED`
+ `PULL_REQUEST_CLOSED`
Jenis acara webhook ada di header di `X-Event-Key` lapangan. Tabel berikut menunjukkan bagaimana nilai `X-Event-Key` header memetakan ke jenis acara.  
Anda harus mengaktifkan `merged` acara dalam pengaturan webhook Bitbucket Anda jika Anda membuat grup filter webhook yang menggunakan jenis acara. `PULL_REQUEST_MERGED` Anda juga harus mengaktifkan `declined` acara dalam pengaturan webhook Bitbucket Anda jika Anda membuat grup filter webhook yang menggunakan jenis acara. `PULL_REQUEST_CLOSED`    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/codebuild/latest/userguide/bitbucket-webhook.html)
Untuk`PULL_REQUEST_MERGED`, jika permintaan tarik digabungkan dengan strategi squash dan cabang permintaan tarik ditutup, komit permintaan tarik asli tidak ada lagi. Dalam hal ini, variabel `CODEBUILD_WEBHOOK_MERGE_COMMIT` lingkungan berisi pengidentifikasi komit gabungan yang terjepit.

**Satu atau lebih filter opsional**  
Gunakan ekspresi reguler untuk menentukan filter. Agar peristiwa memicu build, setiap filter dalam grup yang terkait dengannya harus mengevaluasi ke true.    
`ACTOR_ACCOUNT_ID`(`ACTOR_ID`di konsol)  
Peristiwa webhook memicu build saat ID akun Bitbucket cocok dengan pola ekspresi reguler. Nilai ini muncul di `account_id` properti `actor` objek di payload filter webhook.  
`HEAD_REF`  
Peristiwa webhook memicu build saat referensi kepala cocok dengan pola ekspresi reguler (misalnya, `refs/heads/branch-name` dan`refs/tags/tag-name`). `HEAD_REF`Filter mengevaluasi nama referensi Git untuk cabang atau tag. Nama cabang atau tag muncul di `name` bidang `new` objek di `push` objek payload webhook. Untuk peristiwa permintaan tarik, nama cabang muncul di `name` bidang di `branch` objek `source` objek di payload webhook.  
`BASE_REF`  
Peristiwa webhook memicu build saat referensi dasar cocok dengan pola ekspresi reguler. `BASE_REF`Filter hanya berfungsi dengan peristiwa permintaan tarik (misalnya,`refs/heads/branch-name`). `BASE_REF`Filter mengevaluasi nama referensi Git untuk cabang. Nama cabang muncul di `name` bidang `branch` objek di `destination` objek di payload webhook.  
`FILE_PATH`  
Webhook memicu build saat jalur file yang diubah cocok dengan pola ekspresi reguler.  
`COMMIT_MESSAGE`  
Webhook memicu build saat pesan head commit cocok dengan pola ekspresi reguler.  
`WORKFLOW_NAME`  
Webhook memicu build saat nama alur kerja cocok dengan pola ekspresi reguler.

**catatan**  
Anda dapat menemukan payload webhook di pengaturan webhook repositori Bitbucket Anda. 

**Topics**
+ [Filter acara webhook Bitbucket (konsol)](bitbucket-webhook-events-console.md)
+ [Filter peristiwa webhook Bitbucket (SDK)](bitbucket-webhook-events-sdk.md)
+ [Filter acara webhook Bitbucket ()CloudFormation](bitbucket-webhook-events-cfn.md)

# Filter acara webhook Bitbucket (konsol)
<a name="bitbucket-webhook-events-console"></a>

 Untuk menggunakan Konsol Manajemen AWS untuk memfilter acara webhook: 

1.  Pilih **Bangun ulang setiap kali perubahan kode didorong ke repositori ini** saat Anda membuat proyek Anda. 

1.  Dari **jenis Acara**, pilih satu atau beberapa acara. 

1.  Untuk memfilter saat peristiwa memicu build, di bawah **Memulai build dalam kondisi ini**, tambahkan satu atau beberapa filter opsional. 

1.  Untuk memfilter saat peristiwa tidak dipicu, di bawah **Jangan memulai build dalam kondisi ini**, tambahkan satu atau beberapa filter opsional. 

1.  Pilih **Tambahkan grup filter** untuk menambahkan grup filter lain. 

 Untuk informasi selengkapnya, lihat [Buat proyek build (konsol)](create-project.md#create-project-console) dan [WebhookFilter](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_WebhookFilter.html)di *Referensi AWS CodeBuild API*. 

Dalam contoh ini, grup filter webhook memicu build untuk permintaan tarik saja:

![\[Grup filter webhook yang memicu build untuk permintaan tarik saja.\]](http://docs.aws.amazon.com/id_id/codebuild/latest/userguide/images/pull-request-webhook-filter-bitbucket.png)


Menggunakan contoh dua grup filter, build dipicu ketika salah satu atau keduanya mengevaluasi ke true:
+ Grup filter pertama menentukan permintaan tarik yang dibuat atau diperbarui pada cabang dengan nama referensi Git yang cocok dengan ekspresi reguler `^refs/heads/main$` dan referensi kepala yang cocok`^refs/heads/branch1!`. 
+ Grup filter kedua menentukan permintaan push pada cabang dengan nama referensi Git yang cocok dengan ekspresi `^refs/heads/branch1$` reguler. 

![\[Contoh dari dua grup filter.\]](http://docs.aws.amazon.com/id_id/codebuild/latest/userguide/images/pull-request-webhook-filter-head-base-regexes-bitbucket.png)


Dalam contoh ini, grup filter webhook memicu build untuk semua permintaan kecuali peristiwa tag. 

![\[Grup filter webhook yang memicu build untuk semua permintaan kecuali peristiwa tag.\]](http://docs.aws.amazon.com/id_id/codebuild/latest/userguide/images/pull-request-webhook-filter-exclude-bitbucket.png)


Dalam contoh ini, grup filter webhook memicu build hanya jika file dengan nama yang cocok dengan ekspresi `^buildspec.*` reguler berubah. 

![\[Grup filter webhook yang memicu build hanya jika file dengan nama yang cocok dengan ekspresi reguler yang ditentukan.\]](http://docs.aws.amazon.com/id_id/codebuild/latest/userguide/images/pull-request-webhook-filter-file-name-regex.png)


Dalam contoh ini, grup filter webhook memicu build hanya ketika file diubah `src` atau `test` folder.

![\[Grup filter webhook yang memicu build hanya jika file diubah dalam folder tertentu.\]](http://docs.aws.amazon.com/id_id/codebuild/latest/userguide/images/pull-request-webhook-filter-file-name-combined-regex.png)


Dalam contoh ini, grup filter webhook memicu build hanya jika perubahan dilakukan oleh pengguna Bitbucket yang tidak memiliki ID akun yang cocok dengan ekspresi reguler. `actor-account-id` 

**catatan**  
 Untuk informasi tentang cara menemukan ID akun Bitbucket Anda, lihat https://api.bitbucket.org/2.0/users/*user-name*, di mana nama *user-name* pengguna Bitbucket Anda. 

![\[Grup filter webhook yang memicu build hanya jika perubahan dilakukan oleh pengguna Bitbucket yang tidak memiliki ID akun.\]](http://docs.aws.amazon.com/id_id/codebuild/latest/userguide/images/pull-request-webhook-filter-actor-bitbucket.png)


Dalam contoh ini, grup filter webhook memicu build untuk acara push saat pesan head commit cocok dengan ekspresi reguler. `\[CodeBuild\]` 

![\[Grup filter webhook yang memicu build untuk acara push saat pesan head commit cocok dengan ekspresi reguler.\]](http://docs.aws.amazon.com/id_id/codebuild/latest/userguide/images/pull-request-webhook-filter-commit-message.png)


# Filter peristiwa webhook Bitbucket (SDK)
<a name="bitbucket-webhook-events-sdk"></a>

 Untuk menggunakan AWS CodeBuild SDK untuk memfilter peristiwa webhook, gunakan `filterGroups` bidang dalam sintaks permintaan metode `CreateWebhook` atau `UpdateWebhook` API. Untuk informasi selengkapnya, lihat [WebhookFilter](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_WebhookFilter.html) di dalam *Referensi API CodeBuild *. 

 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_MERGED, PULL_REQUEST_CLOSED"
    }
  ]
]
```

 Untuk membuat filter webhook yang memicu build hanya untuk cabang tertentu, gunakan `pattern` parameter untuk menentukan ekspresi reguler untuk memfilter nama cabang. Menggunakan contoh dua grup filter, build dipicu ketika salah satu atau keduanya mengevaluasi ke true:
+ Grup filter pertama menentukan permintaan tarik yang dibuat atau diperbarui 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 `^refs/heads/myBranch$` reguler. 

```
"filterGroups": [
  [
    {
      "type": "EVENT",
      "pattern": "PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED, PULL_REQUEST_CLOSED"
    },
    {
      "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. Dalam contoh ini, build dipicu untuk semua permintaan kecuali peristiwa tag. 

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

Anda dapat membuat filter yang memicu build hanya jika perubahan dilakukan oleh pengguna Bitbucket dengan ID akun. `actor-account-id` 

**catatan**  
 Untuk informasi tentang cara menemukan ID akun Bitbucket Anda, lihat https://api.bitbucket.org/2.0/users/*user-name*, di mana nama *user-name* pengguna Bitbucket Anda. 

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

Anda dapat membuat filter yang memicu build hanya jika file dengan nama yang cocok dengan ekspresi reguler dalam `pattern` argumen berubah. Dalam contoh ini, grup filter menetapkan 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 menetapkan bahwa build dipicu hanya ketika file diubah `src` atau `test` folder.

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

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

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

# Filter acara webhook Bitbucket ()CloudFormation
<a name="bitbucket-webhook-events-cfn"></a>

 Untuk menggunakan CloudFormation template untuk memfilter peristiwa webhook, gunakan `FilterGroups` properti AWS CodeBuild proyek. Bagian CloudFormation template yang diformat YAML berikut membuat dua grup filter. Bersama-sama, mereka memicu pembuatan ketika salah satu atau keduanya mengevaluasi ke BETUL: 
+  Grup filter pertama menentukan permintaan tarik dibuat atau diperbarui pada cabang dengan nama referensi Git yang cocok dengan ekspresi reguler `^refs/heads/main$` oleh pengguna Bitbucket yang tidak memiliki ID akun. `12345` 
+  Grup filter kedua menentukan permintaan push dibuat pada cabang dengan nama referensi Git yang cocok dengan ekspresi `^refs/heads/.*` reguler. 
+ Grup filter ketiga menentukan permintaan push dengan pesan head commit yang cocok dengan ekspresi `\[CodeBuild\]` reguler.

```
CodeBuildProject:
  Type: AWS::CodeBuild::Project
  Properties:
    Name: MyProject
    ServiceRole: service-role
    Artifacts:
      Type: NO_ARTIFACTS
    Environment:
      Type: LINUX_CONTAINER
      ComputeType: BUILD_GENERAL1_SMALL
      Image: aws/codebuild/standard:5.0
    Source:
      Type: BITBUCKET
      Location: source-location
    Triggers:
      Webhook: true
      FilterGroups:
        - - Type: EVENT
            Pattern: PULL_REQUEST_CREATED,PULL_REQUEST_UPDATED
          - Type: BASE_REF
            Pattern: ^refs/heads/main$
            ExcludeMatchedPattern: false
          - Type: ACTOR_ACCOUNT_ID
            Pattern: 12345
            ExcludeMatchedPattern: true
        - - Type: EVENT
            Pattern: PUSH
          - Type: HEAD_REF
            Pattern: ^refs/heads/.*
          - Type: FILE_PATH
            Pattern: READ_ME
            ExcludeMatchedPattern: true
        - - Type: EVENT
            Pattern: PUSH
          - Type: COMMIT_MESSAGE
            Pattern: \[CodeBuild\]
          - Type: FILE_PATH
            Pattern: ^src/.+|^test/.+
```