

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

# GitLab kelompok webhooks
<a name="gitlab-group-webhook"></a>

Anda dapat menggunakan webhook CodeBuild GitLab grup untuk memulai build pada peristiwa webhook dari repositori apa pun dalam grup. GitLab Webhook grup bekerja dengan salah satu jenis acara GitLab webhook yang ada, dan dapat dikonfigurasi dengan menambahkan konfigurasi cakupan saat membuat webhook. CodeBuild Anda juga dapat menggunakan webhook grup untuk [menyiapkan GitLab pelari yang dihosting sendiri CodeBuild di dalamnya](gitlab-runner.md) untuk menerima `WORKFLOW_JOB_QUEUED` peristiwa dari beberapa repositori dalam satu proyek.

**Topics**
+ [

# Siapkan GitLab webhook grup
](gitlab-group-webhook-setup.md)
+ [

# Filter acara webhook GitLab grup (konsol)
](gitlab-group-webhook-events-console.md)
+ [

# Filter acara webhook GitLab grup ()CloudFormation
](gitlab-group-webhook-events-cfn.md)

# Siapkan GitLab webhook grup
<a name="gitlab-group-webhook-setup"></a>

Langkah-langkah tingkat tinggi untuk mengatur GitLab webhook grup adalah sebagai berikut. Untuk informasi selengkapnya tentang GitLab webhook grup, lihat. [GitLab kelompok webhooks](gitlab-group-webhook.md)

1. Tetapkan lokasi sumber proyek Anda ke`CODEBUILD_DEFAULT_WEBHOOK_SOURCE_LOCATION`.

1. Dalam konfigurasi lingkup webhook, atur ruang lingkup ke`GITLAB_GROUP`.

1. Tentukan nama sebagai bagian dari konfigurasi cakupan webhook. Untuk webhook grup, ini adalah nama grup.
**catatan**  
Jika jenis sumber proyek adalah`GITLAB_SELF_MANAGED`, Anda juga perlu menentukan domain sebagai bagian dari konfigurasi lingkup webhook.

1. (Opsional) Jika Anda hanya ingin menerima peristiwa webhook untuk repositori tertentu dalam organisasi atau perusahaan Anda, Anda dapat menentukan `REPOSITORY_NAME` sebagai filter saat membuat webhook.

1. Saat membuat webhook grup, pastikan CodeBuild memiliki izin untuk membuat webhook tingkat grup di dalamnya. GitLab Untuk melakukannya, Anda dapat CodeBuild OAuth menggunakannya CodeConnections. Untuk informasi selengkapnya, lihat [GitLab akses di CodeBuild](access-tokens-gitlab-overview.md).

   Perhatikan bahwa webhook grup bekerja dengan salah satu jenis acara GitLab webhook yang ada.

# Filter acara webhook GitLab grup (konsol)
<a name="gitlab-group-webhook-events-console"></a>

Saat membuat GitLab proyek melalui konsol, pilih opsi berikut untuk membuat webhook GitLab grup dalam proyek. Untuk informasi selengkapnya tentang GitLab webhook grup, lihat. [GitLab kelompok webhooks](gitlab-group-webhook.md)

1. Buka AWS CodeBuild konsol di [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home).

1. Buat proyek build. Untuk informasi selengkapnya, lihat [Buat proyek build (konsol)](create-project.md#create-project-console) dan [Jalankan build (konsol)](run-build-console.md).
   +  Dalam **Sumber**: 
     +  Untuk **penyedia Sumber**, pilih **GitLab**atau **Dikelola GitLab Sendiri**.
     +  **Untuk **Repositori**, pilih GitLab webhook cakupan.** 

        GitLab Repositori akan secara otomatis diatur ke`CODEBUILD_DEFAULT_WEBHOOK_SOURCE_LOCATION`, yang merupakan lokasi sumber yang diperlukan untuk webhook grup. 
**catatan**  
Saat menggunakan webhook grup, pastikan itu CodeBuild memiliki izin untuk membuat webhook tingkat grup di dalamnya. GitLab Jika Anda menggunakan [ OAuthkoneksi yang ada](access-tokens-gitlab-overview.md#connections-gitlab), Anda mungkin perlu membuat ulang koneksi untuk memberikan izin CodeBuild ini.  
![\[Konfigurasi GitLab webhook cakupan.\]](http://docs.aws.amazon.com/id_id/codebuild/latest/userguide/images/gitlab-group-source.png)
   +  Dalam **acara webhook sumber utama**: 
     +  Untuk **nama Grup**, masukkan nama grup.

       Jika jenis sumber proyek adalah`GITLAB_SELF_MANAGED`, Anda juga perlu menentukan domain sebagai bagian dari konfigurasi grup webhook. Misalnya, jika URL grup Anda adalah**https://domain.com/group/group-name**, maka domain tersebut**https://domain.com**.
**catatan**  
 Nama ini tidak dapat diubah setelah webhook dibuat. Untuk mengubah nama, Anda dapat menghapus dan membuat ulang webhook. Jika Anda ingin menghapus webhook sepenuhnya, Anda juga dapat memperbarui lokasi sumber proyek ke GitLab repositori.   
![\[Konfigurasi webhook grup.\]](http://docs.aws.amazon.com/id_id/codebuild/latest/userguide/images/gitlab-group-webhook-primary-events.png)
     +  (Opsional) Di **grup filter peristiwa Webhook**, Anda dapat menentukan [peristiwa mana yang ingin memicu build baru](gitlab-webhook.md). Anda juga dapat menentukan `REPOSITORY_NAME` sebagai filter untuk hanya memicu build pada peristiwa webhook dari repositori tertentu.  
![\[Filter yang hanya memicu build pada peristiwa webhook dari repositori tertentu.\]](http://docs.aws.amazon.com/id_id/codebuild/latest/userguide/images/github-organization-webhook-filter-groups.png)

       Anda juga dapat mengatur jenis acara `WORKFLOW_JOB_QUEUED` untuk menyiapkan GitLab pelari yang dihosting sendiri. Untuk informasi selengkapnya, lihat [GitLab Pelari yang dikelola sendiri di AWS CodeBuild](gitlab-runner.md).

1. Lanjutkan dengan nilai default dan kemudian pilih **Create build project**.

# Filter acara webhook GitLab grup ()CloudFormation
<a name="gitlab-group-webhook-events-cfn"></a>

 Untuk menggunakan CloudFormation template untuk memfilter peristiwa webhook grup, gunakan `ScopeConfiguration` properti AWS CodeBuild proyek. Untuk informasi selengkapnya tentang GitLab webhook grup, lihat. [GitLab kelompok webhooks](gitlab-group-webhook.md)

 Bagian CloudFormation template yang diformat YAML berikut membuat empat grup filter. Bersama-sama, mereka memicu build ketika satu atau semua mengevaluasi ke true: 
+  Grup filter pertama menentukan permintaan tarik dibuat atau diperbarui pada cabang dengan nama referensi Git yang cocok dengan ekspresi reguler `^refs/heads/main$` oleh GitLab pengguna yang tidak memiliki ID `12345` akun. 
+  Grup filter kedua menentukan permintaan push dibuat pada file dengan nama yang cocok dengan ekspresi reguler `READ_ME` di cabang dengan nama referensi Git yang cocok dengan ekspresi reguler `^refs/heads/.*`. 
+ Grup filter ketiga menentukan permintaan push dengan pesan head commit yang cocok dengan ekspresi `\[CodeBuild\]` reguler.
+ Grup filter keempat menentukan nama GitLab CI/CD pipeline job request with a CI/CD pipeline yang cocok dengan ekspresi `\[CI-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: GITLAB
      Location: source-location
    Triggers:
      Webhook: true
      ScopeConfiguration:
        Name: group-name
        Scope: GITLAB_GROUP
      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/.+
        - - Type: EVENT
            Pattern: WORKFLOW_JOB_QUEUED
          - Type: WORKFLOW_NAME
            Pattern: \[CI-CodeBuild\]
```