

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# GitLab Gruppen-Webhooks
<a name="gitlab-group-webhook"></a>

Sie können CodeBuild GitLab Gruppen-Webhooks verwenden, um Builds für Webhook-Ereignisse von jedem Repository innerhalb einer Gruppe aus zu starten. GitLab Gruppen-Webhooks funktionieren mit allen vorhandenen GitLab Webhook-Ereignistypen und können konfiguriert werden, indem beim Erstellen eines Webhooks eine Bereichskonfiguration hinzugefügt wird. CodeBuild Sie können Gruppen-Webhooks auch verwenden, um [selbst gehostete GitLab Runner einzurichten, um `WORKFLOW_JOB_QUEUED` Ereignisse aus mehreren Repositorys innerhalb eines CodeBuild](gitlab-runner.md) einzigen Projekts zu empfangen.

**Topics**
+ [Richten Sie einen Gruppen-Webhook ein GitLab](gitlab-group-webhook-setup.md)
+ [Filtert GitLab Gruppen-Webhook-Ereignisse (Konsole)](gitlab-group-webhook-events-console.md)
+ [GitLab Gruppen-Webhook-Ereignisse filtern ()CloudFormation](gitlab-group-webhook-events-cfn.md)

# Richten Sie einen Gruppen-Webhook ein GitLab
<a name="gitlab-group-webhook-setup"></a>

Die allgemeinen Schritte zum Einrichten eines GitLab Gruppen-Webhooks lauten wie folgt. Weitere Informationen zu GitLab Gruppen-Webhooks finden Sie unter. [GitLab Gruppen-Webhooks](gitlab-group-webhook.md)

1. Stellen Sie den Quellpfad Ihres Projekts auf ein`CODEBUILD_DEFAULT_WEBHOOK_SOURCE_LOCATION`.

1. Stellen Sie in der Bereichskonfiguration des Webhooks den Bereich auf `GITLAB_GROUP` ein.

1. Geben Sie einen Namen als Teil der Bereichskonfiguration des Webhooks an. Für Gruppen-Webhooks ist dies der Gruppenname.
**Anmerkung**  
Wenn der Quelltyp des Projekts lautet`GITLAB_SELF_MANAGED`, müssen Sie im Rahmen der Konfiguration des Webhook-Bereichs auch eine Domain angeben.

1. (Optional) Wenn Sie nur Webhook-Ereignisse für bestimmte Repositorys innerhalb Ihrer Organisation oder Ihres Unternehmens erhalten möchten, können Sie dies bei der Erstellung des Webhooks `REPOSITORY_NAME` als Filter angeben.

1. Wenn Sie einen Gruppen-Webhook erstellen, stellen Sie sicher, dass CodeBuild Sie berechtigt sind, innerhalb von Gruppen Webhooks auf Gruppenebene zu erstellen. GitLab Dazu können Sie jedoch verwenden CodeBuild OAuth . CodeConnections Weitere Informationen finden Sie unter [GitLab Zugriff in CodeBuild](access-tokens-gitlab-overview.md).

   Beachten Sie, dass Gruppen-Webhooks mit allen vorhandenen GitLab Webhook-Ereignistypen funktionieren.

# Filtert GitLab Gruppen-Webhook-Ereignisse (Konsole)
<a name="gitlab-group-webhook-events-console"></a>

Wenn Sie ein GitLab Projekt über die Konsole erstellen, wählen Sie die folgenden Optionen aus, um einen GitLab Gruppen-Webhook innerhalb des Projekts zu erstellen. Weitere Informationen zu GitLab Gruppen-Webhooks finden Sie unter. [GitLab Gruppen-Webhooks](gitlab-group-webhook.md)

1. Öffnen Sie die AWS CodeBuild Konsole unter [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home).

1. Erstellen Sie ein Build-Projekt. Weitere Informationen finden Sie unter [Erstellen Sie ein Build-Projekt (Konsole)](create-project.md#create-project-console) und [Ausführen eines Build (Konsole)](run-build-console.md).
   +  In **Source (Quelle)**: 
     +  **Wählen Sie als **Quellanbieter **GitLab****oder GitLab Self Managed.**
     +  Wählen Sie für **Repository** die Option **GitLabScoped** Webhook aus. 

        Das GitLab Repository wird automatisch auf `CODEBUILD_DEFAULT_WEBHOOK_SOURCE_LOCATION` gesetzt. Dies ist der erforderliche Quellpfad für Gruppen-Webhooks. 
**Anmerkung**  
Wenn Sie Gruppen-Webhooks verwenden, stellen Sie sicher, dass Sie CodeBuild über die erforderlichen Rechte verfügen, um innerhalb dieser Webhooks auf Gruppenebene zu erstellen. GitLab Wenn Sie eine [bestehende OAuth Verbindung](access-tokens-gitlab-overview.md#connections-gitlab) verwenden, müssen Sie die Verbindung möglicherweise neu generieren, um diese Berechtigung zu erteilen CodeBuild .  
![\[Die Konfiguration eines Webhooks mit GitLab Gültigkeitsbereich.\]](http://docs.aws.amazon.com/de_de/codebuild/latest/userguide/images/gitlab-group-source.png)
   +  Unter **Webhook-Ereignisse der Primärquelle:** 
     +  Geben Sie **unter Gruppenname** den Gruppennamen ein.

       Wenn der Quelltyp des Projekts lautet`GITLAB_SELF_MANAGED`, müssen Sie im Rahmen der Webhook-Gruppenkonfiguration auch eine Domäne angeben. Wenn die URL Ihrer Gruppe beispielsweise lautet**https://domain.com/group/group-name**, dann ist die Domain. **https://domain.com**
**Anmerkung**  
 Dieser Name kann nicht geändert werden, nachdem der Webhook erstellt wurde. Um den Namen zu ändern, können Sie den Webhook löschen und neu erstellen. Wenn Sie den Webhook vollständig entfernen möchten, können Sie den Speicherort der Projektquelle auch auf ein Repository aktualisieren. GitLab   
![\[Die Konfiguration von Gruppen-Webhooks.\]](http://docs.aws.amazon.com/de_de/codebuild/latest/userguide/images/gitlab-group-webhook-primary-events.png)
     +  (Optional) In **Webhook-Ereignisfiltergruppen** können Sie angeben, welche [Ereignisse Sie einen neuen Build auslösen möchten](gitlab-webhook.md). Sie können auch `REPOSITORY_NAME` als Filter angeben, dass nur Builds für Webhook-Ereignisse aus bestimmten Repositorys ausgelöst werden.  
![\[Ein Filter, der nur Builds auf Webhook-Ereignissen aus bestimmten Repositorys auslöst.\]](http://docs.aws.amazon.com/de_de/codebuild/latest/userguide/images/github-organization-webhook-filter-groups.png)

       Sie können den Ereignistyp auch auf festlegen, `WORKFLOW_JOB_QUEUED` um selbst GitLab gehostete Runner einzurichten. Weitere Informationen finden Sie unter [Selbstverwaltete Läufer GitLab in AWS CodeBuild](gitlab-runner.md).

1. Fahren Sie mit den Standardwerten fort und wählen Sie dann **Build-Projekt erstellen**.

# GitLab Gruppen-Webhook-Ereignisse filtern ()CloudFormation
<a name="gitlab-group-webhook-events-cfn"></a>

 Um eine CloudFormation Vorlage zum Filtern von Gruppen-Webhook-Ereignissen zu verwenden, verwenden Sie die Eigenschaft des AWS CodeBuild `ScopeConfiguration` Projekts. Weitere Informationen zu GitLab Gruppen-Webhooks finden Sie unter. [GitLab Gruppen-Webhooks](gitlab-group-webhook.md)

 Der folgende Teil einer CloudFormation Vorlage im YAML-Format erstellt vier Filtergruppen. Zusammen lösen sie einen Build aus, wenn eine oder alle Werte den Wert true ergeben: 
+  Die erste Filtergruppe gibt an, dass Pull-Requests für Branches mit Git-Referenznamen, die dem regulären Ausdruck entsprechen, `^refs/heads/main$` von einem GitLab Benutzer ohne Konto-ID erstellt oder aktualisiert `12345` werden. 
+  Die zweite Filtergruppe gibt an, dass Push-Anfragen für Dateien, deren Namen dem regulären Ausdruck `READ_ME` entsprechen, in Verzweigungen mit Git-Referenznamen, die dem regulären Ausdruck `^refs/heads/.*` entsprechen, erstellt werden. 
+ Die dritte Filtergruppe gibt eine Push-Anforderung mit einer Head Commit-Nachricht an, die dem regulären Ausdruck `\[CodeBuild\]` entspricht.
+ Die vierte Filtergruppe gibt einen GitLab CI/CD pipeline job request with a CI/CD Pipeline-Namen an, der dem regulären Ausdruck entspricht`\[CI-CodeBuild\]`.

```
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\]
```