

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.

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

Sie können Webhook-Filtergruppen verwenden, um anzugeben, welche Bitbucket-Webhook-Ereignisse einen Build auslösen. Du kannst beispielsweise angeben, dass ein Build nur bei Änderungen an bestimmten Branches ausgelöst wird. 

Sie können eine oder mehrere Webhook-Filtergruppen erstellen, um anzugeben, welche Webhook-Ereignisse einen Build auslösen. Ein Build wird ausgelöst, wenn eine Filtergruppe den Wert true ergibt. Dies ist der Fall, wenn alle Filter in der Gruppe den Wert true ergeben. Wenn Sie eine Filtergruppe erstellen, geben Sie Folgendes an: 

**Ein Ereignis**  
Für Bitbucket kannst du eines oder mehrere der folgenden Ereignisse wählen:  
+ `PUSH`
+ `PULL_REQUEST_CREATED`
+ `PULL_REQUEST_UPDATED`
+ `PULL_REQUEST_MERGED`
+ `PULL_REQUEST_CLOSED`
Der Webhook-Ereignistyp befindet sich im Header des Feldes `X-Event-Key`. Aus der folgende Tabelle geht die Zuordnung der `X-Event-Key`-Header-Werte zu Ereignistypen hervor.  
Sie müssen das `merged`-Ereignis in Ihren Bitbucket-Webhook-Einstellungen aktivieren, wenn Sie eine Webhook-Filtergruppe erstellen, die den `PULL_REQUEST_MERGED`-Ereignistyp verwendet. Du musst das `declined` Ereignis auch in deiner Bitbucket-Webhook-Einstellung aktivieren, wenn du eine Webhook-Filtergruppe erstellst, die den Ereignistyp verwendet. `PULL_REQUEST_CLOSED`    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/codebuild/latest/userguide/bitbucket-webhook.html)
Denn `PULL_REQUEST_MERGED` wenn ein Pull-Request mit der Squash-Strategie zusammengeführt wird und der Pull-Request-Branch geschlossen wird, ist der ursprüngliche Pull-Request-Commit nicht mehr vorhanden. In diesem Fall enthält die `CODEBUILD_WEBHOOK_MERGE_COMMIT` Umgebungsvariable den Bezeichner des gequetschten Merge-Commits.

**Ein oder mehrere optionale Filter**  
Verwenden Sie einen regulären Ausdruck, um einen Filter anzugeben. Damit ein Ereignis einen Build auslöst, muss jeder Filter innerhalb der Gruppe, die diesem Ereignis zugeordnet ist, als wahr ausgewertet werden.    
`ACTOR_ACCOUNT_ID`(`ACTOR_ID`in der Konsole)  
Ein Webhook-Ereignis löst einen Build aus, wenn eine Bitbucket-Konto-ID dem Muster für reguläre Ausdrücke entspricht. Dieser Wert wird in der Eigenschaft `account_id` des Objekts `actor` in der Webhook-Filternutzlast angezeigt.  
`HEAD_REF`  
Ein Webhook-Ereignis löst einen Build aus, wenn die Head-Referenz mit dem Muster für reguläre Ausdrücke übereinstimmt (zum Beispiel und`refs/heads/branch-name`). `refs/tags/tag-name` Ein `HEAD_REF`-Filter wertet den Git-Referenznamen für den Branch oder Tag aus. Die Branch- oder Tag-Name wird im Feld `name` des Objekts `new` im Objekt `push` der Webhook-Nutzlast angezeigt. Bei Pull-Anforderungsereignissen wird der Branch-Name im Feld `name` im Objekt `branch` des Objekts `source` in der Webhook-Nutzlast angezeigt.  
`BASE_REF`  
Ein Webhook-Ereignis löst einen Build aus, wenn die Basisreferenz mit dem Muster des regulären Ausdrucks übereinstimmt. Ein `BASE_REF`-Filter kann nur für Pull-Anfrageereignisse verwendet werden (z. B. `refs/heads/branch-name`). Ein `BASE_REF`-Filter wertet den Git-Referenznamen für die Verzweigung aus. Der Branch-Name wird im Feld `name` des Objekts `branch` im Objekt `destination` in der Webhook-Nutzlast angezeigt.  
`FILE_PATH`  
Ein Webhook löst einen Build aus, wenn der Pfad einer geänderten Datei dem Muster für reguläre Ausdrücke entspricht.  
`COMMIT_MESSAGE`  
Ein Webhook löst einen Build aus, wenn die Head-Commit-Nachricht dem Muster für reguläre Ausdrücke entspricht.  
`WORKFLOW_NAME`  
Ein Webhook löst einen Build aus, wenn der Workflow-Name mit dem Muster des regulären Ausdrucks übereinstimmt.

**Anmerkung**  
Sie finden die Webhook-Nutzlast in den Webhook-Einstellungen in Ihrem Bitbucket-Repository. 

**Topics**
+ [Filtern von BitBucket-Webhook-Ereignissen (Konsole)](bitbucket-webhook-events-console.md)
+ [Filtern von BitBucket-Webhook-Ereignissen (SDK)](bitbucket-webhook-events-sdk.md)
+ [Filtern von Bitbucket-Webhook-Ereignissen (CloudFormation)](bitbucket-webhook-events-cfn.md)

# Filtern von BitBucket-Webhook-Ereignissen (Konsole)
<a name="bitbucket-webhook-events-console"></a>

 Um Webhook-Ereignisse AWS-Managementkonsole zu filtern, gehen Sie wie folgt vor: 

1.  Wählen Sie beim Erstellen Ihres Projekts **Rebuild every time a code change is pushed to this repository (Erneut erstellen, wenn eine Codeänderung an dieses Repository übergeben wird)** aus. 

1.  Wählen Sie unter **Event type (Ereignistyp)** eines oder mehrere Ereignisse aus. 

1.  Wenn Sie Fälle filtern möchten, in denen ein Ereignis einen Build auslöst, fügen Sie unter **Start a build under these conditions (Unter diesen Bedingungen Build starten)** einen oder mehrere optionale Filter hinzu. 

1.  Wenn Sie Fälle filtern möchten, in denen kein Ereignis ausgelöst wird, fügen Sie unter **Don't start a build under these conditions (Unter diesen Bedingungen keinen Build starten)** einen oder mehrere optionale Filter hinzu. 

1.  Wählen Sie **Add filter group (Filtergruppe hinzufügen)** aus, um eine weitere Filtergruppe hinzuzufügen. 

 Weitere Informationen finden Sie unter [Erstellen Sie ein Build-Projekt (Konsole)](create-project.md#create-project-console) und [WebhookFilter](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_WebhookFilter.html) in der *AWS CodeBuild -API-Referenz*. 

In diesem Beispiel löst eine Webhook-Filtergruppe nur für Pull-Anfragen einen Build aus:

![\[Eine Webhook-Filtergruppe, die einen Build nur für Pull-Requests auslöst.\]](http://docs.aws.amazon.com/de_de/codebuild/latest/userguide/images/pull-request-webhook-filter-bitbucket.png)


Bei Verwendung eines Beispiels mit zwei Filtergruppen wird ein Build ausgelöst, wenn mindestens eine Gruppe als wahr ausgewertet wird:
+ Die erste Filtergruppe gibt Pull-Anfragen an, die in Verzweigungen mit Git-Referenznamen, die dem regulären Ausdruck `^refs/heads/main$` entsprechen, und mit Kopfreferenzen, die `^refs/heads/branch1!` entsprechen, erstellt oder aktualisiert werden. 
+ Die zweite Filtergruppe gibt Push-Anfragen in Verzweigungen mit Git-Referenznamen an, die dem regulären Ausdruck `^refs/heads/branch1$` entsprechen. 

![\[Ein Beispiel für zwei Filtergruppen.\]](http://docs.aws.amazon.com/de_de/codebuild/latest/userguide/images/pull-request-webhook-filter-head-base-regexes-bitbucket.png)


In diesem Beispiel löst eine Webhook-Filtergruppe einen Build für alle Anfragen mit Ausnahme von Tag-Ereignissen aus. 

![\[Eine Webhook-Filtergruppe, die einen Build für alle Anfragen außer Tag-Ereignissen auslöst.\]](http://docs.aws.amazon.com/de_de/codebuild/latest/userguide/images/pull-request-webhook-filter-exclude-bitbucket.png)


In diesem Beispiel löst eine Webhook-Filtergruppe nur einen Build aus, wenn Dateien geändert werden, deren Namen dem regulären Ausdruck `^buildspec.*` entsprechen. 

![\[Eine Webhook-Filtergruppe, die nur dann einen Build auslöst, wenn Dateien mit Namen angegeben sind, die dem regulären Ausdruck entsprechen.\]](http://docs.aws.amazon.com/de_de/codebuild/latest/userguide/images/pull-request-webhook-filter-file-name-regex.png)


In diesem Beispiel löst eine Webhook-Filtergruppe nur dann einen Build aus, wenn Dateien in Ordnern `src` oder `test` geändert werden.

![\[Eine Webhook-Filtergruppe, die einen Build nur auslöst, wenn Dateien in bestimmten Ordnern geändert werden.\]](http://docs.aws.amazon.com/de_de/codebuild/latest/userguide/images/pull-request-webhook-filter-file-name-combined-regex.png)


In diesem Beispiel löst eine Webhook-Filtergruppe nur einen Build aus, wenn eine Änderung von einem Bitbucket-Benutzer vorgenommen wird, der nicht über eine Konto-ID verfügt, die dem regulären Ausdruck `actor-account-id` entspricht. 

**Anmerkung**  
 Informationen dazu, wie du deine Bitbucket-Konto-ID findest, findest du unter https://api.bitbucket.org/2.0/users/*user-name*, wo dein Bitbucket-Benutzername *user-name* ist. 

![\[Eine Webhook-Filtergruppe, die nur dann einen Build auslöst, wenn eine Änderung von einem Bitbucket-Benutzer vorgenommen wird, der keine Account-ID hat.\]](http://docs.aws.amazon.com/de_de/codebuild/latest/userguide/images/pull-request-webhook-filter-actor-bitbucket.png)


In diesem Beispiel löst eine Webhook-Filtergruppe einen Build für ein Push-Ereignis aus, wenn die Head-Commit-Nachricht mit dem regulären Ausdruck `\[CodeBuild\]` übereinstimmt. 

![\[Eine Webhook-Filtergruppe, die einen Build für ein Push-Ereignis auslöst, wenn die Head-Commit-Nachricht mit dem regulären Ausdruck übereinstimmt.\]](http://docs.aws.amazon.com/de_de/codebuild/latest/userguide/images/pull-request-webhook-filter-commit-message.png)


# Filtern von BitBucket-Webhook-Ereignissen (SDK)
<a name="bitbucket-webhook-events-sdk"></a>

 Um das AWS CodeBuild SDK zum Filtern von Webhook-Ereignissen zu verwenden, verwenden Sie das `filterGroups` Feld in der Anforderungssyntax der `CreateWebhook` oder `UpdateWebhook` API-Methoden. Weitere Informationen finden Sie unter [WebhookFilter](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_WebhookFilter.html) in der *CodeBuild -API-Referenz*. 

 Um einen Webhook-Filter zu erstellen, der nur für Pull-Anfragen einen Build auslöst, fügen Sie Folgendes in die Anfragesyntax ein: 

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

 Um einen Webhook-Filter zu erstellen, der nur für die angegebenen Verzweigungen einen Build auslöst, verwenden Sie den Parameter `pattern`, um einen regulären Ausdruck zum Filtern von Verzweigungsnamen anzugeben. Bei Verwendung eines Beispiels mit zwei Filtergruppen wird ein Build ausgelöst, wenn mindestens eine Gruppe als wahr ausgewertet wird:
+ Die erste Filtergruppe gibt Pull-Anfragen an, die in Verzweigungen mit Git-Referenznamen, die dem regulären Ausdruck `^refs/heads/main$` entsprechen, und mit Kopfreferenzen, die `^refs/heads/myBranch$` entsprechen, erstellt oder aktualisiert werden. 
+ Die zweite Filtergruppe gibt Push-Anfragen in Verzweigungen mit Git-Referenznamen an, die dem regulären Ausdruck `^refs/heads/myBranch$` entsprechen. 

```
"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$"
    }
  ]
]
```

 Sie können den Parameter `excludeMatchedPattern` verwenden, um anzugeben, welche Ereignisse keinen Build auslösen. In diesem Beispiel wird für alle Anfragen mit Ausnahme von Tag-Ereignissen ein Build ausgelöst. 

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

Sie können einen Filter erstellen, der nur einen Build auslöst, wenn ein Bitbucket-Benutzer mit der Konto-ID `actor-account-id` eine Änderung vornimmt. 

**Anmerkung**  
 Informationen dazu, wie du deine Bitbucket-Konto-ID findest, findest du unter https://api.bitbucket.org/2.0/users/*user-name*, wo dein Bitbucket-Benutzername *user-name* ist. 

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

Sie können einen Filter erstellen, der nur einen Build auslöst, wenn Dateien geändert werden, deren Namen dem regulären Ausdruck in dem Argument `pattern` entsprechen. In diesem Beispiel gibt die Filtergruppe an, dass nur ein Build ausgelöst wird, wenn Dateien geändert werden, deren Name dem regulären Ausdruck `^buildspec.*` entspricht. 

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

In diesem Beispiel gibt die Filtergruppe an, dass ein Build nur ausgelöst wird, wenn Dateien in Ordnern `src` oder `test` Ordnern geändert werden.

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

Sie können einen Filter erstellen, der einen Build nur dann auslöst, wenn die Head-Commit-Nachricht mit dem regulären Ausdruck im Musterargument übereinstimmt. In diesem Beispiel gibt die Filtergruppe an, dass ein Build nur dann ausgelöst wird, wenn die Head-Commit-Nachricht des Push-Ereignisses mit dem regulären Ausdruck `\[CodeBuild\]` übereinstimmt. 

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

# Filtern von Bitbucket-Webhook-Ereignissen (CloudFormation)
<a name="bitbucket-webhook-events-cfn"></a>

 Um eine CloudFormation Vorlage zum Filtern von Webhook-Ereignissen zu verwenden, verwenden Sie die `FilterGroups` Eigenschaft des AWS CodeBuild Projekts. Mit dem folgenden in YAML formatierten Teil einer CloudFormation -Vorlage werden zwei Filtergruppen erstellt. Diese lösen zusammen einen Build aus, wenn mindestens eine Gruppe als wahr ausgewertet wird. 
+  Die erste Filtergruppe gibt an, dass Pull-Anfragen in Verzweigungen mit Git-Referenznamen, die dem regulären Ausdruck `^refs/heads/main$` entsprechen, von einem Bitbucket-Benutzer, der über keine Konto-ID `12345` verfügt, erstellt oder aktualisiert werden. 
+  Die zweite Filtergruppe gibt an, dass Push-Anfragen in Verzweigungen mit Git-Referenznamen erstellt werden, die dem regulären Ausdruck `^refs/heads/.*` entsprechen. 
+ Die dritte Filtergruppe gibt eine Push-Anforderung mit einer Head Commit-Nachricht an, die dem regulären Ausdruck `\[CodeBuild\]` entspricht.

```
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/.+
```