

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.

# Trigger mit Code-Push- oder Pull-Request-Ereignistypen hinzufügen
<a name="pipelines-filter"></a>

Du kannst Filter für Pipeline-Trigger so konfigurieren, dass Pipeline-Ausführungen für verschiedene Git-Ereignisse wie Tag- oder Branch-Push, Änderungen in bestimmten Dateipfaden, ein in einem bestimmten Branch geöffneter Pull-Request usw. gestartet werden. Du kannst die AWS CodePipeline Konsole oder die **update-pipeline** Befehle **create-pipeline** und in der verwenden, um Triggerfilter AWS CLI zu konfigurieren.

**Anmerkung**  
Das `BranchName` Feld für die Aktionskonfiguration definiert einen einzelnen Zweig, während Trigger mit Filtern für jeden Zweig oder jede von Ihnen angegebene Verzweigung verwendet werden können. Bei einer Pipeline, bei der Trigger verwendet werden, um Branches nach Push- oder Pull-Requests zu filtern, verwendet die Pipeline nicht das `BranchName` Standardfeld Branch in der Aktionskonfiguration. Die Verzweigung im `BranchName` Feld in der Aktionskonfiguration ist jedoch die Standardeinstellung, wenn die Pipeline manuell gestartet wird. Ein Beispiel finden Sie unter [5: Der Trigger wurde konfiguriert, während die Standardaktionskonfiguration für einen manuellen Start verwendet BranchName wird](pipelines-triggers.md#example-filter-default-manual).

Sie können Filter für die folgenden Triggertypen angeben: 
+ **Push**

  Ein Push-Trigger startet eine Pipeline, wenn eine Änderung an dein Quell-Repository übertragen wird. Bei der Ausführung wird das Commit aus dem Branch verwendet, * zu dem Sie den * Push senden (das ist der Ziel-Branch). Du kannst Push-Trigger nach Branches, Dateipfaden oder Git-Tags filtern.
+ **Pull-Anfrage **

  Ein Pull-Request-Trigger startet eine Pipeline, wenn ein Pull Request in deinem Quell-Repository geöffnet, aktualisiert oder geschlossen wird. Bei der Ausführung wird der Commit aus dem Quell-Branch verwendet, * aus dem du die Daten abrufst * (also aus dem Quell-Branch). Du kannst Pull-Request-Trigger für Branches und Dateipfade filtern.

  Die folgenden Ereignistypen für Pull Requests werden unterstützt. Alle anderen Pull-Request-Ereignisse werden ignoriert.
  + Opened (Geöffnet)
  + Aktualisiert
  + Geschlossen (zusammengeführt)
**Anmerkung**  
Das Verhalten bestimmter Pull-Request-Ereignisse kann je nach Anbieter unterschiedlich sein. Details hierzu finden Sie unter [Pull-Request-Ereignisse für Trigger nach Anbieter](pipelines-triggers.md#pipelines-filter-pullrequest-events).

Die Pipeline-Definition ermöglicht es Ihnen, verschiedene Filter innerhalb derselben Push-Trigger-Konfiguration zu kombinieren. Einzelheiten zur Pipeline-Definition finden Sie unter[Fügen Sie Filter für Push- und Pull-Request-Ereignistypen (CLI) hinzu](#pipelines-filter-cli). Eine Liste der Felddefinitionen finden Sie unter [ Trigger ](pipeline-requirements.md#pipeline.triggers) in der * Pipeline-Strukturreferenz * in diesem Handbuch.

**Topics**
+ [Fügen Sie Filter für Push- und Pull-Request-Ereignistypen hinzu (Konsole)](#pipelines-filter-console)
+ [Fügen Sie Filter für Push- und Pull-Request-Ereignistypen (CLI) hinzu](#pipelines-filter-cli)
+ [Fügen Sie Filter für Push- und Pull-Request-Ereignistypen hinzu (CloudFormation Vorlagen)](#pipelines-filter-cfn)

## Fügen Sie Filter für Push- und Pull-Request-Ereignistypen hinzu (Konsole)
<a name="pipelines-filter-console"></a>

Sie können die Konsole verwenden, um Filter für Push-Ereignisse hinzuzufügen und Branches oder Dateipfade ein- oder auszuschließen.

**Filter hinzufügen (Konsole)**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die CodePipeline Konsole unter [ http://console.aws.amazon.com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home).

   Die Namen und der Status aller mit Ihrem AWS Konto verknüpften Pipelines werden angezeigt. 

1. Wählen Sie im Feld **Name** den Namen der Pipeline aus, die Sie bearbeiten möchten. Verwenden Sie andernfalls diese Schritte im Assistenten zur Pipeline-Erstellung.

1. Wählen Sie auf der Pipelinedetails-Seite **Edit** aus. 

1. Wählen Sie auf der ** Seite ** „Bearbeiten“ die Quellaktion aus, die Sie bearbeiten möchten. Wählen Sie Trigger ** bearbeiten aus**. Wählen ** Sie Filter angeben**.

1. Wählen Sie unter ** Ereignistyp ** die Option ** Push ** aus den folgenden Optionen aus.
   + Wähle ** Push**, um die Pipeline zu starten, wenn eine Änderung an dein Quell-Repository übertragen wird. Wenn Sie diese Option wählen, können die Felder Filter für Zweige und Dateipfade oder Git-Tags angeben.
   + Wähle ** Pull Request**, um die Pipeline zu starten, wenn ein Pull Request in deinem Quell-Repository geöffnet, aktualisiert oder geschlossen wird. Wenn Sie diese Option wählen, können die Felder Filter für Ziel-Branches und Dateipfade angeben.

1. Wählen ** Sie ** unter Push unter ** Filtertyp ** eine der folgenden Optionen aus.
   + Wählen Sie ** Branch**, um die Branches in Ihrem Quell-Repository anzugeben, die der Trigger überwacht, um zu wissen, wann eine Workflow-Ausführung gestartet werden muss. Geben Sie im ** Feld Include Muster für Branch-Namen im Glob-Format ein, die Sie für die Trigger-Konfiguration angeben möchten, damit Ihre Pipeline bei Änderungen in den angegebenen Branches gestartet wird. ** Geben Sie im Feld ** ** Exclude die Regex-Muster für Zweignamen im Glob-Format ein, die Sie angeben möchten, damit die Triggerkonfiguration sie ignoriert und Ihre Pipeline nicht bei Änderungen in den angegebenen Verzweigungen startet. Weitere Informationen finden Sie unter [Arbeiten mit Glob-Mustern in der Syntax](syntax-glob.md).
**Anmerkung**  
Wenn sowohl Include als auch Exclude dasselbe Muster haben, wird das Muster standardmäßig ausgeschlossen.

     Sie können Glob-Muster verwenden, um Ihre Filialnamen zu definieren. Verwenden Sie zum Beispiel, `main*` um alle Zweige abzugleichen, die mit `main` beginnen. Weitere Informationen finden Sie unter [Arbeiten mit Glob-Mustern in der Syntax](syntax-glob.md).

     Geben Sie für einen Push-Trigger die Zweige an, * zu denen Sie den Push ausführen*, d. h. die * * Ziel-Branches. Geben Sie für einen Pull-Request-Trigger die Ziel-Branches an, für die Sie einen Pull Request öffnen.
   + (Optional) Geben Sie unter ** Dateipfade ** die Dateipfade für Ihren Trigger an. Geben Sie die entsprechenden Namen in ** die Felder „**Einschließen“ ** und ** „Ausschließen“ ein.

     Sie können Glob-Muster verwenden, um Ihre Dateipfadnamen zu definieren. Verwenden Sie zum Beispiel, `prod*` um alle Dateipfade abzugleichen, die mit `prod` beginnen. Weitere Informationen finden Sie unter [Arbeiten mit Glob-Mustern in der Syntax](syntax-glob.md).
   + Wählen Sie ** Tags**, um die Pipeline-Trigger-Konfiguration so zu konfigurieren, dass sie mit Git-Tags beginnt. Geben Sie im ** Feld Include Muster für Tag-Namen im Glob-Format ein, die Sie für die Trigger-Konfiguration angeben möchten, damit Ihre Pipeline bei der Veröffentlichung des oder der angegebenen Tags gestartet wird. ** Geben Sie im Feld ** ** Exclude die Regex-Muster für Tag-Namen im Glob-Format ein, die Sie angeben möchten, damit die Triggerkonfiguration sie ignoriert und Ihre Pipeline nicht bei der Veröffentlichung des oder der angegebenen Tags startet. Wenn sowohl Include als auch Exclude dasselbe Tag-Muster haben, wird das Tag-Muster standardmäßig ausgeschlossen.

1. Wählen ** Sie ** unter Push unter ** Filtertyp ** eine der folgenden Optionen aus.
   + Wählen Sie ** Branch**, um die Branches in Ihrem Quell-Repository anzugeben, die der Trigger überwacht, um zu wissen, wann eine Workflow-Ausführung gestartet werden muss. Geben Sie im ** Feld Include Muster für Branch-Namen im Glob-Format ein, die Sie für die Trigger-Konfiguration angeben möchten, damit Ihre Pipeline bei Änderungen in den angegebenen Branches gestartet wird. ** Geben Sie im Feld ** ** Exclude die Regex-Muster für Zweignamen im Glob-Format ein, die Sie angeben möchten, damit die Triggerkonfiguration sie ignoriert und Ihre Pipeline nicht bei Änderungen in den angegebenen Verzweigungen startet. Weitere Informationen finden Sie unter [Arbeiten mit Glob-Mustern in der Syntax](syntax-glob.md).
**Anmerkung**  
Wenn sowohl Include als auch Exclude dasselbe Muster haben, wird das Muster standardmäßig ausgeschlossen.

     Sie können Glob-Muster verwenden, um Ihre Filialnamen zu definieren. Verwenden Sie zum Beispiel, `main*` um alle Zweige abzugleichen, die mit `main` beginnen. Weitere Informationen finden Sie unter [Arbeiten mit Glob-Mustern in der Syntax](syntax-glob.md).

     Geben Sie für einen Push-Trigger die Zweige an, * zu denen Sie den Push ausführen*, d. h. die * * Ziel-Branches. Geben Sie für einen Pull-Request-Trigger die Ziel-Branches an, für die Sie einen Pull Request öffnen.
   + (Optional) Geben Sie unter ** Dateipfade ** die Dateipfade für Ihren Trigger an. Geben Sie die entsprechenden Namen in ** die Felder „**Einschließen“ ** und ** „Ausschließen“ ein.

     Sie können Glob-Muster verwenden, um Ihre Dateipfadnamen zu definieren. Verwenden Sie zum Beispiel, `prod*` um alle Dateipfade abzugleichen, die mit `prod` beginnen. Weitere Informationen finden Sie unter [Arbeiten mit Glob-Mustern in der Syntax](syntax-glob.md).
   + Wählen Sie ** Pull Request**, um die Pipeline-Trigger-Konfiguration so zu konfigurieren, dass sie mit von Ihnen angegebenen Pull-Request-Ereignissen beginnt.

## Fügen Sie Filter für Push- und Pull-Request-Ereignistypen (CLI) hinzu
<a name="pipelines-filter-cli"></a>

Sie können das Pipeline-JSON aktualisieren, um Filter für Trigger hinzuzufügen.

Verwenden Sie den `update-pipeline` Befehl or, AWS CLI um die Pipeline zu erstellen `create-pipeline` oder zu aktualisieren.

Das folgende Beispiel für eine JSON-Struktur bietet eine Referenz für die Felddefinitionen unter`create-pipeline`.

Eine Liste der Felddefinitionen finden Sie unter [ Trigger ](pipeline-requirements.md#pipeline.triggers) in der * Pipeline-Strukturreferenz * in diesem Handbuch.

```
{
    "pipeline": {
        "name": "MyServicePipeline",
        "triggers": [
            {
                "provider": "Connection",
                "gitConfiguration": {
                    "sourceActionName": "ApplicationSource",
                    "push": [
                        {
                            "filePaths": {
                                "includes": [
                                    "projectA/**",
                                    "common/**/*.js"
                                ],
                                "excludes": [
                                    "**/README.md",
                                    "**/LICENSE",
                                    "**/CONTRIBUTING.md"
                                ]
                            },
                            "branches": {
                                "includes": [
                                    "feature/**",
                                    "release/**"
                                ],
                                "excludes": [
                                    "mainline"
                                ]
                            },
                            "tags": {
                                "includes": [
                                    "release-v0", "release-v1"
                                ],
                                "excludes": [
                                    "release-v2"
                                ]
                            }
                        }
                    ],
                    "pullRequest": [
                        {
                            "events": [
                                "CLOSED"
                            ],
                            "branches": {
                                "includes": [
                                    "feature/**",
                                    "release/**"
                                ],
                                "excludes": [
                                    "mainline"
                                ]
                            },
                            "filePaths": {
                                "includes": [
                                    "projectA/**",
                                    "common/**/*.js"
                                ],
                                "excludes": [
                                    "**/README.md",
                                    "**/LICENSE",
                                    "**/CONTRIBUTING.md"
                                ]
                            }
                        }
                    ]
                }
            }
        ],
        "stages": [
            {
                "name": "Source",
                "actions": [
                    {
                        "name": "ApplicationSource",
                        "configuration": {
                            "BranchName": "mainline",
                            "ConnectionArn": "arn:aws:codestar-connections:eu-central-1:111122223333:connection/fe9ff2e8-ee25-40c9-829e-65f8EXAMPLE",
                            "FullRepositoryId": "monorepo-example",
                            "OutputArtifactFormat": "CODE_ZIP"
                        }
                    }
                ]
            }
        ]
    }
}
```

## Fügen Sie Filter für Push- und Pull-Request-Ereignistypen hinzu (CloudFormation Vorlagen)
<a name="pipelines-filter-cfn"></a>

Sie können die Pipeline-Ressource aktualisieren CloudFormation , um eine Triggerfilterung hinzuzufügen.

Das folgende Beispiel-Vorlagen-Snippet enthält eine YAML-Referenz für Trigger-Felddefinitionen. Eine Liste der Felddefinitionen finden Sie unter [ Trigger ](pipeline-requirements.md#pipeline.triggers) in der * Pipeline-Strukturreferenz * in diesem Handbuch.

Ein vollständiges Vorlagenbeispiel für eine Verbindungsquell- und Triggerfilterkonfiguration finden Sie [ im * CloudFormation Benutzerhandbuch unter*](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-pipeline.html#aws-resource-codepipeline-pipeline--examples--Pipeline_with_two_stages_and_trigger_configuration) Pipeline mit zwei Stufen und Triggerkonfiguration.

```
pipeline:
  name: MyServicePipeline
  executionMode: PARALLEL
  triggers:
    - provider: CodeConnection
      gitConfiguration:
        sourceActionName: ApplicationSource
        push:
          - filePaths:
              includes:
                - projectA/**
                - common/**/*.js
              excludes:
                - '**/README.md'
                - '**/LICENSE'
                - '**/CONTRIBUTING.md'
            branches:
              includes:
                - feature/**
                - release/**
              excludes:
                - mainline
          - tags:
              includes:
                - release-v0
                - release-v1
              excludes:
                - release-v2
        pullRequest:
          - events:
              - CLOSED
            branches:
              includes:
                - feature/**
                - release/**
              excludes:
                - mainline
            filePaths:
              includes:
                - projectA/**
                - common/**/*.js
              excludes:
                - '**/README.md'
                - '**/LICENSE'
                - '**/CONTRIBUTING.md'
  stages:
    - name: Source
      actions:
        - name: ApplicationSource
          configuration:
            BranchName: mainline
            ConnectionArn: arn:aws:codestar-connections:eu-central-1:111122223333:connection/fe9ff2e8-ee25-40c9-829e-65f85EXAMPLE
            FullRepositoryId: monorepo-example
            OutputArtifactFormat: CODE_ZIP
```