

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.

# GitHub globale Webhooks und organisatorische Webhooks
<a name="github-global-organization-webhook"></a>

Sie können CodeBuild GitHub globale oder organisatorische Webhooks verwenden, um Builds auf Webhook-Ereignissen aus einem beliebigen Repository innerhalb einer GitHub Organisation oder eines Unternehmens zu starten. Globale Webhooks und Organisations-Webhooks funktionieren mit allen vorhandenen GitHub Webhook-Ereignistypen und können konfiguriert werden, indem beim Erstellen eines Webhooks eine Bereichskonfiguration hinzugefügt wird. CodeBuild Sie können auch globale Webhooks und Organisations-Webhooks verwenden, um [selbst gehostete GitHub Action-Runner einzurichten, um `WORKFLOW_JOB_QUEUED` Ereignisse aus mehreren Repositorys innerhalb eines CodeBuild](action-runner.md) einzigen Projekts zu empfangen.

**Topics**
+ [Richten Sie einen globalen oder organisatorischen Webhook ein GitHub](github-global-organization-webhook-setup.md)
+ [Filtert GitHub globale oder organisatorische Webhook-Ereignisse (Konsole)](github-global-organization-webhook-events-console.md)
+ [Webhook-Ereignisse der GitHub Organisation filtern ()CloudFormation](github-organization-webhook-events-cfn.md)

# Richten Sie einen globalen oder organisatorischen Webhook ein GitHub
<a name="github-global-organization-webhook-setup"></a>

Die allgemeinen Schritte zum Einrichten eines globalen oder organisatorischen GitHub Webhooks lauten wie folgt. Weitere Informationen zu globalen Webhooks und GitHub Organisations-Webhooks finden Sie unter. [GitHub globale Webhooks und organisatorische Webhooks](github-global-organization-webhook.md)

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

1. Stellen Sie in der Bereichskonfiguration des Webhooks den Bereich entweder auf `GITHUB_ORGANIZATION` oder ein, `GITHUB_GLOBAL` je nachdem, ob es sich um einen organisatorischen oder einen [globalen Webhook](https://docs.github.com/en/enterprise-cloud@latest/admin/monitoring-activity-in-your-enterprise/exploring-user-activity-in-your-enterprise/managing-global-webhooks) handeln soll. Weitere Informationen finden Sie unter [Typen von Webhooks.](https://docs.github.com/en/webhooks/types-of-webhooks)

1. Geben Sie einen Namen als Teil der Bereichskonfiguration des Webhooks an. Für Organisations-Webhooks ist dies der Organisationsname und für globale Webhooks ist dies der Unternehmensname.
**Anmerkung**  
Wenn der Quelltyp des Projekts lautet`GITHUB_ENTERPRISE`, müssen Sie im Rahmen der Konfiguration des Webhook-Bereichs auch eine Domäne 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 Organisations-Webhook erstellen, stellen Sie sicher, dass dieser CodeBuild über die erforderlichen Berechtigungen zum Erstellen von Webhooks auf Organisationsebene verfügt. GitHub Sie können ein GitHub persönliches Zugriffstoken mit Webhook-Berechtigungen für Organisationen erstellen oder verwenden. CodeBuild OAuth Weitere Informationen finden Sie unter [GitHub und GitHub Enterprise Server-Zugriffstoken](access-tokens-github.md).

   Beachten Sie, dass Organisations-Webhooks mit allen vorhandenen GitHub Webhook-Ereignistypen funktionieren.

1. Wenn Sie einen globalen Webhook erstellen, muss der Webhook manuell erstellt werden. Weitere Hinweise zum manuellen Erstellen eines Webhooks innerhalb GitHub finden Sie unter. [GitHub manuelle Webhooks](github-manual-webhook.md)

   Beachten Sie, dass globale Webhooks nur den `WORKFLOW_JOB_QUEUED` Ereignistyp unterstützen. Weitere Informationen finden Sie unter [Tutorial: Einen CodeBuild -gehosteten GitHub Actions-Runner konfigurieren](action-runner.md).

# Filtert GitHub globale oder organisatorische Webhook-Ereignisse (Konsole)
<a name="github-global-organization-webhook-events-console"></a>

Wenn Sie ein GitHub Projekt über die Konsole erstellen, wählen Sie die folgenden Optionen aus, um innerhalb des Projekts einen GitHub globalen oder organisatorischen Webhook zu erstellen. Weitere Informationen zu globalen Webhooks und GitHub Organisations-Webhooks finden Sie unter. [GitHub globale Webhooks und organisatorische Webhooks](github-global-organization-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 **GitHub**Sie als **Quellanbieter** oder Enterprise. GitHub**
     +  Wählen Sie für **Repository** die Option **GitHubScoped** Webhook aus. 

        Das GitHub Repository wird automatisch auf `CODEBUILD_DEFAULT_WEBHOOK_SOURCE_LOCATION` gesetzt. Dies ist der erforderliche Quellpfad für globale Webhooks und Organisations-Webhooks. 
**Anmerkung**  
Wenn Sie Organisations-Webhooks verwenden, stellen Sie sicher, dass diese Person über die erforderlichen Rechte zum Erstellen von Webhooks auf Organisationsebene CodeBuild verfügt. GitHub Wenn Sie eine [bestehende OAuth Verbindung](oauth-app-github.md) verwenden, müssen Sie die Verbindung möglicherweise neu generieren, um diese Berechtigung zu erteilen CodeBuild . [Alternativ können Sie den Webhook mithilfe der manuellen Webhooks-Funktion CodeBuild manuell erstellen.](github-manual-webhook.md) Beachten Sie, dass Sie, wenn Sie über ein vorhandenes GitHub OAuth Token verfügen und zusätzliche Organisationsberechtigungen hinzufügen möchten, die [Genehmigung des OAuth Tokens widerrufen und das Token](https://docs.github.com/en/apps/oauth-apps/using-oauth-apps/reviewing-your-authorized-oauth-apps) über die Konsole erneut verbinden können. CodeBuild   
![\[Die Konfiguration des Webhooks mit GitHub Gültigkeitsbereich.\]](http://docs.aws.amazon.com/de_de/codebuild/latest/userguide/images/github-organization-webhook-source.png)
   +  Unter **Webhook-Ereignisse in der Primärquelle:** 
     +  Wählen Sie als **Bereichstyp** die Option **Organisationsebene** aus, wenn Sie einen Organisations-Webhook erstellen, oder **Unternehmensebene**, wenn Sie einen globalen Webhook erstellen.
     +  Geben Sie als **Name** entweder den Unternehmens- oder Organisationsnamen ein, je nachdem, ob es sich bei dem Webhook um einen globalen Webhook oder einen Organisations-Webhook handelt.

       Wenn der Quelltyp des Projekts lautet`GITHUB_ENTERPRISE`, müssen Sie im Rahmen der Webhook-Organisationskonfiguration auch eine Domäne angeben. Wenn die URL Ihrer Organisation beispielsweise lautet**https://domain.com/orgs/org-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. GitHub   
![\[Die Konfiguration von globalen oder organisatorischen Webhooks.\]](http://docs.aws.amazon.com/de_de/codebuild/latest/userguide/images/github-organization-webhook-primary-events.png)
     +  (Optional) In **Webhook-Ereignisfiltergruppen** können Sie angeben, welche [Ereignisse einen neuen Build auslösen sollen](github-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 gehostete Actions-Runner GitHub einzurichten. Weitere Informationen finden Sie unter [Tutorial: Einen CodeBuild -gehosteten GitHub Actions-Runner konfigurieren](action-runner.md).

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

# Webhook-Ereignisse der GitHub Organisation filtern ()CloudFormation
<a name="github-organization-webhook-events-cfn"></a>

 Um eine CloudFormation Vorlage zum Filtern von Organisation-Webhook-Ereignissen zu verwenden, verwenden Sie die Eigenschaft des AWS CodeBuild `ScopeConfiguration` Projekts. Weitere Informationen zu globalen Webhooks und GitHub Organisations-Webhooks finden Sie unter. [GitHub globale Webhooks und organisatorische Webhooks](github-global-organization-webhook.md)

**Anmerkung**  
Globale Webhooks und GitHub Enterprise-Webhooks werden von nicht unterstützt. CloudFormation

 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 GitHub Benutzer, der keine Konto-ID hat, 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 spezifiziert eine Workflow-Auftragsanforderung für GitHub Aktionen mit einem Workflow-Namen, 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: GITHUB
      Location: source-location
    Triggers:
      Webhook: true
      ScopeConfiguration:
        Name: organization-name
        Scope: GITHUB_ORGANIZATION
      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\]
```