

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Automatisez le démarrage des pipelines en utilisant des déclencheurs et des filtres
<a name="pipelines-triggers"></a>

Les déclencheurs vous permettent de configurer votre pipeline pour qu'il démarre sur un type d'événement particulier ou sur un type d'événement filtré, par exemple lorsqu'une modification est détectée sur une branche ou une pull request en particulier. Les déclencheurs sont configurables pour les actions source avec des connexions qui utilisent l'`CodeStarSourceConnection`action dans CodePipeline GitHub, telles que Bitbucket et GitLab. Pour plus d'informations sur les actions source qui utilisent des connexions, consultez[Ajoutez des fournisseurs de sources tiers aux pipelines à l'aide de CodeConnections](pipelines-connections.md).

Les actions source, telles que CodeCommit S3, utilisent la détection automatique des modifications pour démarrer les pipelines lorsqu'une modification est apportée. Pour de plus amples informations, veuillez consulter [CodeCommit actions à la source et EventBridge](triggering.md).

Vous spécifiez les déclencheurs à l'aide de la console ou de la CLI.

Vous spécifiez les types de filtres comme suit : 
+ **Pas de filtre**

  Cette configuration de déclencheur démarre votre pipeline à chaque poussée vers la branche par défaut spécifiée dans le cadre de la configuration de l'action.
+ **Spécifier le filtre**

  Vous ajoutez un filtre qui démarre votre pipeline sur un filtre spécifique, par exemple sur les noms de branches pour un envoi de code, et récupère le commit exact. Cela permet également de configurer le pipeline pour qu'il ne démarre pas automatiquement lors d'une modification.
  + **Push**
    + Les combinaisons de filtres valides sont les suivantes :
      + **Balises Git**

        Inclure ou exclure
      + **branches**

        Inclure ou exclure
      + **branches \$1 chemins de fichiers**

        Inclure ou exclure
  + **Pull request**
    + Les combinaisons de filtres valides sont les suivantes :
      + **branches**

        Inclure ou exclure
      + **branches \$1 chemins de fichiers**

        Inclure ou exclure
+ **Ne pas détecter les modifications**

  Cela n'ajoute aucun déclencheur et le pipeline ne démarre pas automatiquement lors d'une modification.

Le tableau suivant fournit des options de filtre valides pour chaque type d'événement. Le tableau indique également quelles configurations de déclencheur sont définies par défaut sur true ou false pour la détection automatique des modifications dans la configuration de l'action.


****  

| Configuration du déclencheur | Type d’événement | Options de filtre | Détecter les modifications | 
| --- | --- | --- | --- | 
| Ajouter un déclencheur — aucun filtre | Aucune | none | true | 
| Ajouter un déclencheur — filtre en cas de poussée de code | événement push | Balises Git, branches, chemins de fichiers | false | 
| Ajouter un déclencheur — filtre pour les pull requests  | pull requests | branches, chemins de fichiers | false | 
| Pas de déclencheur — ne pas détecter | Aucune | none | false | 

**Note**  
Ce type de déclencheur utilise la détection automatique des modifications (comme type de `Webhook` déclencheur). Les fournisseurs d'actions source qui utilisent ce type de déclencheur sont des connexions configurées pour le transfert de code (Bitbucket Cloud GitHub, GitHub Enterprise Server, GitLab .com et GitLab autogérées).

Pour les définitions des champs et des références supplémentaires sur les déclencheurs, voir 

Pour obtenir la liste des définitions de champs dans la structure JSON, consultez[`triggers`](pipeline-requirements.md#pipeline.triggers).

Pour le filtrage, les modèles d'expressions régulières au format global sont pris en charge, comme indiqué dans[Utilisation de modèles globulaires dans la syntaxe](syntax-glob.md).

**Note**  
Dans certains cas, pour les pipelines dont les déclencheurs sont filtrés sur les chemins de fichiers, le pipeline peut ne pas démarrer lorsqu'une branche avec un filtre de chemin de fichier est créée pour la première fois. Pour de plus amples informations, veuillez consulter [Les pipelines avec des connexions qui utilisent le filtrage des déclencheurs par chemin de fichier peuvent ne pas démarrer lors de la création de la branche](troubleshooting.md#troubleshooting-file-paths-filtering).

## Considérations relatives aux filtres déclencheurs
<a name="pipelines-filter-considerations"></a>

Les considérations suivantes s'appliquent lors de l'utilisation de déclencheurs.
+ Vous ne pouvez pas ajouter plus d'un déclencheur par action source.
+ Vous pouvez ajouter plusieurs types de filtres à un déclencheur. Pour obtenir un exemple, consultez [4 : Un déclencheur avec deux types de filtres push avec des inclusions et des exclusions contradictoires](#example-filter-multiple-push).
+ Dans le cas d'un déclencheur avec filtres de chemins de branches et de fichiers, lorsque vous appuyez sur la branche pour la première fois, le pipeline ne s'exécute pas car il n'est pas possible d'accéder à la liste des fichiers modifiés pour la branche nouvellement créée.
+ La fusion d'une pull request peut déclencher deux exécutions de pipeline dans les cas où les configurations de déclenchement push (filtre de branches) et pull request (filtre de branches) se croisent.
+ Pour un filtre qui déclenche votre pipeline lors d'événements de pull request, pour le type d'événement de pull request fermé, le fournisseur de référentiel tiers pour votre connexion peut avoir un statut distinct pour un événement de fusion. Par exemple, dans Bitbucket, l'événement Git associé à une fusion n'est pas un événement de fermeture d'une pull request. Cependant GitHub, la fusion d'une pull request est un événement de fermeture. Pour de plus amples informations, veuillez consulter [Événements de pull request pour les déclencheurs par fournisseur](#pipelines-filter-pullrequest-events).

## Événements de pull request pour les déclencheurs par fournisseur
<a name="pipelines-filter-pullrequest-events"></a>

Le tableau suivant fournit un résumé des événements Git, tels que la fermeture d'une pull request, qui se traduisent par des types d'événements de pull request par fournisseur.


****  

|  | Fournisseur de référentiel pour votre connexion | Événement de relations publiques pour le déclencheur | Bitbucket | GitHub | GHES | GitLab | 
| --- | --- | --- | --- | --- | --- | --- | 
| Ouvrir : cette option déclenche le pipeline lorsqu'une pull request est créée pour le chemin de la branche/du fichier. | La création d'une pull request entraîne un événement OpenGit. | La création d'une pull request entraîne un événement OpenGit. | La création d'une pull request entraîne un événement OpenGit. | La création d'une pull request entraîne un événement OpenGit. | 
| Mise à jour - Cette option déclenche le pipeline lorsqu'une révision de pull request est publiée pour le chemin de branche/de fichier. | La publication d'une mise à jour entraîne un événement Updated Git. | La publication d'une mise à jour entraîne un événement Updated Git. | La publication d'une mise à jour entraîne un événement Updated Git. | La publication d'une mise à jour entraîne un événement Updated Git. | 
| Fermé : cette option déclenche le pipeline lorsqu'une pull request est fermée pour le branch/file chemin. | La fusion d'une pull request dans Bitbucket entraîne un événement Closed Git. Important : la fermeture manuelle d'une pull request dans Bitbucket sans fusion n'entraîne pas d'événement Closed Git. | La fusion ou la fermeture manuelle d'une pull request entraîne un événement Closed Git. | La fusion ou la fermeture manuelle d'une pull request entraîne un événement Closed Git. | La fusion ou la fermeture manuelle d'une pull request entraîne un événement Closed Git. | 

## Exemples de filtres déclencheurs
<a name="pipelines-filter-examples"></a>

Dans le cas d'une configuration Git avec des filtres pour les types d'événements push et pull request, les filtres spécifiés peuvent entrer en conflit les uns avec les autres. Vous trouverez ci-dessous des exemples de combinaisons de filtres valides pour les événements de requêtes push et pull. Un déclencheur peut contenir plusieurs types de filtres, tels que deux types de filtres push dans la configuration du déclencheur, et les types de filtres push et pull request utiliseront une opération OR entre eux, ce qui signifie que toute correspondance démarrera le pipeline. De même, chaque type de filtre peut inclure plusieurs filtres tels que FilePaths et branches ; ces filtres utiliseront une opération AND, ce qui signifie que seule une correspondance complète démarrera le pipeline. Chaque type de filtre peut contenir des inclusions et des exclusions, les exclusions ayant priorité sur les inclusions. Si le chemin d'une branche ou d'un fichier correspond à un modèle d'exclusion, il ne déclenchera pas le pipeline, même s'il correspond également à un modèle d'inclusion. Lorsqu'un commit modifie plusieurs fichiers, chaque fichier est évalué indépendamment par rapport au filtre ; si un fichier modifié est accepté (correspond à une inclusion et ne correspond pas à une exclusion), le pipeline démarre. Les noms inclus dans l'inclusion/exclusion, tels que les noms de branches, utilisent une opération OR. La liste suivante résume les opérations pour chaque partie de l'objet de configuration Git.

Pour une liste des définitions de champs dans la structure JSON et une référence détaillée pour les inclusions et les exclusions, voir[`triggers`](pipeline-requirements.md#pipeline.triggers).

**Example 1 : Un type de filtre avec des filtres pour les branches et les chemins de fichiers (opération AND)**  <a name="example-filter-branches-filepaths"></a>
Pour un seul type de filtre tel que la pull request, vous pouvez combiner des filtres, et ces filtres utiliseront une opération AND, ce qui signifie que seule une correspondance complète démarrera le pipeline. L'exemple suivant montre une configuration Git pour un type d'événement push avec deux filtres différents (`filePaths`et`branches`). Dans l'exemple suivant, `filePaths` sera and'ed avec : `branches`  

```
{
  "filePaths": {
    "includes": ["common/**/*.js"]
  },
  "branches": {
    "includes": ["feature/**"]
  }
}
```
Avec la configuration Git ci-dessus, cet exemple montre un événement qui lancera l'exécution du pipeline en cas de réussite de l'opération AND. En d'autres termes, le chemin du fichier `common/app.js` est inclus pour le filtre, qui démarre le pipeline en tant que ET même si la branche `refs/heads/feature/triggers ` spécifiée n'a pas eu d'impact.  

```
{
  "ref": "refs/heads/feature/triggers",
  ...
  "commits": [
    {
      ...
      "modified": [
        "common/app.js"
      ]
      ...
    }
  ]
}
```
L'exemple suivant montre un événement pour un déclencheur avec la configuration ci-dessus qui ne démarrera pas l'exécution du pipeline car la branche est capable de filtrer, mais pas le chemin du fichier.  

```
{
   "ref": "refs/heads/feature/triggers",
  ...
  "commits": [
    {
      ...
      "modified": [
        "src/Main.java"
      ]
      ...
    }
  ]
}
```

**Example 2 : Les exclusions ont priorité sur les inclusions**  <a name="example-filter-includes-excludes"></a>
Au sein d'un même filtre, les exclusions ont priorité sur les inclusions. L'exemple suivant montre une configuration Git avec un seul filtre (`branches`) dans l'objet de configuration. Cela signifie que si une branche correspond à un modèle d'exclusion (`feature-branch`dans l'exemple), le pipeline ne sera pas déclenché, même s'il correspond également à un modèle d'inclusion. Si le modèle d'inclusion correspond et qu'aucun modèle d'exclusion ne correspond, par exemple pour la `main` branche, le pipeline sera déclenché.  
Pour l'exemple JSON suivant :   
+ Le fait d'envoyer un commit à la `main` branche déclenchera le pipeline
+ Le fait d'envoyer un commit à la `feature-branch` branche ne déclenchera pas le pipeline.

```
{
  "branches": {
      "Includes": [
          "main"
      ],
      "Excludes": [
          "feature-branch"
      ]
   }
```

**Example 3 : Un déclencheur avec des types de filtres de demande push et pull (opération OR), des filtres pour les chemins de fichiers et les branches (opération AND) et includes/excludes (les exclusions ont priorité)**  <a name="example-filter-push-pullrequest"></a>
Les objets de configuration des déclencheurs, tels qu'un déclencheur contenant un type d'événement push et un type d'événement pull request, utilisent une opération OR entre les deux types d'événements. L'exemple suivant montre une configuration de déclencheur avec un type d'événement push avec la `main` branche incluse et un type d'événement pull request avec la même branche `main` exclue. En outre, le type d'événement push comporte un chemin de fichier `LICENSE.txt` exclu et un chemin de fichier `README.MD` inclus. Pour le second type d'événement, une pull request qui se trouve sur la branche `Closed` ou `Created` sur la `feature-branch` branche (incluse) démarre le pipeline, et le pipeline ne démarre pas lors de la création ou de la fermeture d'une pull request sur la `main` branche `feature-branch-2` ou (exclue). Dans chaque type d'événement, les exclusions ont priorité sur les inclusions. Par exemple, pour un événement de pull request sur la `feature-branch` branche (inclus pour la pull request), le type d'événement push exclut la `feature-branch` branche, de sorte que le push ne déclenchera pas le pipeline.  
Pour l'exemple suivant,   
+ Le fait d'envoyer un commit à la `main` branche (inclus) pour le chemin du `README.MD` fichier (inclus) déclenchera le pipeline.
+ Sur la `feature-branch` branche (exclue), l'envoi d'un commit ne déclenchera pas le pipeline.
+ Sur la branche incluse, la modification du chemin du `README.MD` fichier (inclus) déclenche le pipeline.
+ Sur la branche incluse, le fait de modifier uniquement le chemin du `LICENSE.TXT` fichier (exclu) ne déclenche pas le pipeline. Toutefois, si le même commit change également `README.MD` (inclus), le pipeline se déclenchera car chaque fichier est évalué indépendamment.
+ Sur la `feature-branch` branche, la fermeture d'une pull request déclenchera le pipeline car il `feature-branch` est inclus pour le type d'événement pull request et le type d'événement CLOSED correspond.
L'image suivante montre la configuration.  

![\[Exemple de configuration de déclencheur avec un type de filtre push et un type de filtre pull request\]](http://docs.aws.amazon.com/fr_fr/codepipeline/latest/userguide/images/example-trigger-filters-pushpluspullrequest.png)

Voici un exemple de JSON pour la configuration.  

```
"triggers": [
            {
                "providerType": "CodeStarSourceConnection",
                "gitConfiguration": {
                    "sourceActionName": "Source",
                    "push": [
                        {
                            "branches": {
                                "includes": [
                                    "main"
                                ],
                                "excludes": [
                                    "feature-branch",
                                    "feature-branch-2"
                                ]
                            },
                            "filePaths": {
                                "includes": [
                                    "README.md"
                                ],
                                "excludes": [
                                    "LICENSE.txt"
                                ]
                            }
                        }
                    ],
                    "pullRequest": [
                        {
                            "events": [
                                "CLOSED",
                                "OPEN"
                            ],
                            "branches": {
                                "includes": [
                                    "feature-branch"
                                ],
                                "excludes": [
                                    "feature-branch-2",
                                    "main"
                                ]
                            }
                        }
                    ]
                }
            }
        ]
    },
```

**Example 4 : Un déclencheur avec deux types de filtres push avec des inclusions et des exclusions contradictoires**  <a name="example-filter-multiple-push"></a>
L'image suivante montre un type de filtre push spécifiant de filtrer sur la balise `release-1` (incluse). Un deuxième type de filtre push est ajouté, spécifiant de filtrer sur la branche `main` (inclus) et de ne pas démarrer pour un push vers les `feature*` branches (exclu).  
Dans l'exemple suivant :  
+ Si vous appuyez sur un déclencheur à partir de la balise `release-1` (incluse pour le premier filtre push) sur la `feature-branch` branche (exclue comme `feature*` pour le second filtre push), le pipeline est déclenché car les deux types de filtres push utilisent une opération OR entre eux et le premier filtre push (tag`release-1`) correspond.
+ Si vous appuyez sur un déclencheur depuis la `main` branche (inclus pour le deuxième filtre Push), le pipeline démarre.
   
L'exemple suivant de page d'édition montre les deux types de filtres Push et leur configuration pour les inclusions et les exclusions.   

![\[Exemple de configuration de déclencheur avec un type de filtre push incluant la balise release-1 et un type de filtre push incluant la branche main* et excluant les branches feature*\]](http://docs.aws.amazon.com/fr_fr/codepipeline/latest/userguide/images/example-trigger-filters-pushtags-pushbranches.png)


Voici un exemple de JSON pour la configuration.

```
"triggers": [
            {
                "providerType": "CodeStarSourceConnection",
                "gitConfiguration": {
                    "sourceActionName": "Source",
                    "push": [
                        {
                            "tags": {
                                "includes": [
                                    "release-1"
                                ]
                            }
                        },
                        {
                            "branches": {
                                "includes": [
                                    "main*"
                                ],
                                "excludes": [
                                    "feature*"
                                ]
                            }
                        }
                    ]
                }
            }
        ]
    },
```

**Example 5 : Déclencheur configuré alors que la configuration d'action par défaut BranchName est utilisée pour un démarrage manuel**  <a name="example-filter-default-manual"></a>
  
Le `BranchName` champ par défaut de configuration des actions définit une branche unique qui sera utilisée lorsque le pipeline sera démarré manuellement, tandis que les déclencheurs avec filtres peuvent être utilisés pour n'importe quelle branche ou branches que vous spécifiez.  
Voici l'exemple de JSON pour la configuration de l'action affichant le `BranchName` champ.  

```
{
                "name": "Source",
                "actions": [
                    {
                        "name": "Source",
                        "actionTypeId": {
                            "category": "Source",
                            "owner": "AWS",
                            "provider": "CodeStarSourceConnection",
                            "version": "1"
                        },
                        "runOrder": 1,
                        "configuration": {
                            "BranchName": "main",
                            "ConnectionArn": "ARN",
                            "DetectChanges": "false",
                            "FullRepositoryId": "owner-name/my-bitbucket-repo",
                            "OutputArtifactFormat": "CODE_ZIP"
                        },
                        "outputArtifacts": [
                            {
                                "name": "SourceArtifact"
                            }
                        ],
                        "inputArtifacts": [],
                        "region": "us-west-2",
                        "namespace": "SourceVariables"
                    }
                ],
```
L'exemple de sortie d'action suivant montre que la branche principale par défaut a été utilisée lorsque le pipeline a été démarré manuellement.  

![\[Exemple de page de sortie d'action pour un pipeline démarré manuellement\]](http://docs.aws.amazon.com/fr_fr/codepipeline/latest/userguide/images/example-source-action-manual.png)

L'exemple de sortie d'action suivant montre la pull request et la branche qui ont été utilisées pour le déclencheur lors du filtrage par pull request.  

![\[Exemple de page de sortie d'action pour un pipeline démarré avec un filtre de type trigger pull request\]](http://docs.aws.amazon.com/fr_fr/codepipeline/latest/userguide/images/example-source-action-pr.png)


# Ajouter un déclencheur lors de l'envoi de code sans filtre
<a name="pipelines-trigger-add"></a>

Les déclencheurs vous permettent de configurer votre pipeline pour qu'il démarre sur un type d'événement particulier, tel qu'un code push ou une pull request. Les déclencheurs sont configurables pour les actions source avec des connexions qui utilisent l' CodeStarSourceConnection action dans CodePipeline GitHub, telles que Bitbucket et GitLab.

**Ajouter un déclencheur (console)**

1. Connectez-vous à la CodePipeline console AWS Management Console et ouvrez-la à l'[adresse http://console.aws.amazon. com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home).

   Les noms et le statut de tous les pipelines associés à votre AWS compte sont affichés. 

1. Dans **Name**, choisissez le nom du pipeline que vous souhaitez modifier. Sinon, suivez ces étapes dans l'assistant de création de pipeline.

1. Sur la page des détails du pipeline, choisissez **Edit**. 

1. Sur la page **Modifier**, choisissez l'action source que vous souhaitez modifier. Choisissez **Modifier les déclencheurs**. Choisissez d'ajouter un déclencheur.

1. Dans **Type de déclencheur**, choisissez **Aucun filtre**.

# Ajouter un déclencheur avec des types d'événements de type code push ou pull request
<a name="pipelines-filter"></a>

Vous pouvez configurer des filtres pour les déclencheurs de pipeline afin de lancer l'exécution du pipeline pour différents événements Git, tels que le push de balises ou de branches, la modification de chemins de fichiers spécifiques, l'ouverture d'une pull request dans une branche spécifique, etc. Vous pouvez utiliser la AWS CodePipeline console ou les **update-pipeline** commandes **create-pipeline** et du AWS CLI pour configurer les filtres de déclenchement.

**Note**  
Le `BranchName` champ de configuration des actions définit une branche unique, tandis que les déclencheurs avec filtres peuvent être utilisés pour toutes les branches que vous spécifiez. Pour un pipeline dans lequel des déclencheurs sont utilisés pour filtrer les branches par requête push ou pull, le pipeline n'utilisera pas la branche de `BranchName` champ par défaut dans la configuration de l'action. Cependant, la branche du `BranchName` champ dans la configuration de l'action est la branche par défaut lorsque le pipeline est démarré manuellement. Pour obtenir un exemple, consultez [5 : Déclencheur configuré alors que la configuration d'action par défaut BranchName est utilisée pour un démarrage manuel](pipelines-triggers.md#example-filter-default-manual).

Vous pouvez définir des filtres pour les types de déclencheurs suivants : 
+ **Push**

  Un déclencheur push démarre un pipeline lorsqu'une modification est transmise à votre référentiel source. L'exécution utilisera le commit de la branche *vers* laquelle vous pointez (c'est-à-dire la branche de destination). Vous pouvez filtrer les déclencheurs push sur les branches, les chemins de fichiers ou les balises Git.
+ **Pull request**

  Un déclencheur de pull request démarre un pipeline lorsqu'une pull request est ouverte, mise à jour ou fermée dans votre référentiel source. L'exécution utilisera le commit de la branche source que vous *extrayez* (c'est-à-dire la branche source). Vous pouvez filtrer les déclencheurs de pull request sur les branches et les chemins de fichiers.

  Les types d'événements pris en charge pour les pull requests sont les suivants. Tous les autres événements de pull request sont ignorés.
  + Ouvert
  + Mis à jour
  + Fermé (fusionné)
**Note**  
Le comportement de certains événements de pull request peut varier d'un fournisseur à l'autre. Pour en savoir plus, consultez [Événements de pull request pour les déclencheurs par fournisseur](pipelines-triggers.md#pipelines-filter-pullrequest-events).

La définition du pipeline vous permet de combiner différents filtres au sein d'une même configuration de déclencheur push. Pour plus de détails sur la définition du pipeline, voir[Ajouter des filtres pour les types d'événements de type push et pull request (CLI)](#pipelines-filter-cli). Pour obtenir la liste des définitions de champs, voir les [déclencheurs](pipeline-requirements.md#pipeline.triggers) dans la *référence sur la structure du pipeline* de ce guide.

**Topics**
+ [Ajouter des filtres pour les types d'événements de type push et pull request (console)](#pipelines-filter-console)
+ [Ajouter des filtres pour les types d'événements de type push et pull request (CLI)](#pipelines-filter-cli)
+ [Ajouter des filtres pour les types d'événements de type push et pull request (CloudFormation modèles)](#pipelines-filter-cfn)

## Ajouter des filtres pour les types d'événements de type push et pull request (console)
<a name="pipelines-filter-console"></a>

Vous pouvez utiliser la console pour ajouter des filtres pour les événements push et inclure ou exclure des branches ou des chemins de fichiers.

**Ajouter des filtres (console)**

1. Connectez-vous à la CodePipeline console AWS Management Console et ouvrez-la à l'[adresse http://console.aws.amazon. com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home).

   Les noms et le statut de tous les pipelines associés à votre AWS compte sont affichés. 

1. Dans **Name**, choisissez le nom du pipeline que vous souhaitez modifier. Sinon, suivez ces étapes dans l'assistant de création de pipeline.

1. Sur la page des détails du pipeline, choisissez **Edit**. 

1. Sur la page **Modifier**, choisissez l'action source que vous souhaitez modifier. Choisissez **Modifier les déclencheurs**. Choisissez **Spécifier le filtre**.

1. Dans **Type d'événement**, choisissez **Push** parmi les options suivantes.
   + Choisissez **Push** pour démarrer le pipeline lorsqu'une modification est transmise à votre référentiel source. Cette option permet aux champs de spécifier des filtres pour les branches, les chemins de fichiers ou les balises Git.
   + Choisissez **Pull request** pour démarrer le pipeline lorsqu'une pull request est ouverte, mise à jour ou fermée dans votre référentiel source. Cette option permet aux champs de spécifier des filtres pour les branches de destination et les chemins de fichiers.

1. Sous **Push**, dans **Type de filtre**, choisissez l'une des options suivantes.
   + Choisissez **Branch** pour spécifier les branches de votre référentiel source que le déclencheur surveille afin de savoir quand démarrer une exécution de flux de travail. Dans **Inclure**, entrez les modèles de noms de branches au format global que vous souhaitez spécifier pour la configuration du déclencheur afin de démarrer votre pipeline en cas de modification des branches spécifiées. Dans **Exclure**, entrez les modèles d'expression régulière pour les noms de branches au format global que vous souhaitez spécifier pour que la configuration du déclencheur soit ignorée et pour ne pas démarrer votre pipeline lorsque des modifications sont apportées aux branches spécifiées. Pour plus d’informations, consultez [Utilisation de modèles globulaires dans la syntaxe](syntax-glob.md).
**Note**  
Si l'inclusion et l'exclusion ont toutes deux le même modèle, le modèle par défaut est d'exclure le modèle.

     Vous pouvez utiliser des modèles globaux pour définir les noms de vos succursales. Par exemple, utilisez `main*` pour faire correspondre toutes les branches commençant par`main`. Pour plus d’informations, consultez [Utilisation de modèles globulaires dans la syntaxe](syntax-glob.md).

     Pour un déclencheur, spécifiez les branches *vers* lesquelles vous poussez, c'est-à-dire les branches de *destination*. Pour un déclencheur de pull request, spécifiez les branches de destination auxquelles vous ouvrez une pull request.
   + (Facultatif) Sous **Chemins de fichier**, spécifiez les chemins de fichier pour votre déclencheur. Entrez les noms dans **Inclure** et **Exclure**, le cas échéant.

     Vous pouvez utiliser des modèles globaux pour définir les noms de chemin de vos fichiers. Par exemple, `prod*` à utiliser pour faire correspondre tous les chemins de fichiers commençant par`prod`. Pour plus d’informations, consultez [Utilisation de modèles globulaires dans la syntaxe](syntax-glob.md).
   + Choisissez **Tags** pour configurer la configuration du déclencheur du pipeline afin de commencer par les balises Git. Dans **Inclure**, entrez les modèles de noms de balises au format global que vous souhaitez spécifier pour la configuration du déclencheur afin de démarrer votre pipeline lors de la publication de la ou des balises spécifiées. Dans **Exclure**, entrez les modèles d'expression régulière pour les noms de balises au format global que vous souhaitez spécifier pour que la configuration du déclencheur soit ignorée et pour ne pas démarrer votre pipeline lors de la publication de la ou des balises spécifiées. Si l'inclusion et l'exclusion ont le même modèle de balise, le modèle de balise par défaut est d'exclure le modèle de balise.

1. Sous **Push**, dans **Type de filtre**, choisissez l'une des options suivantes.
   + Choisissez **Branch** pour spécifier les branches de votre référentiel source que le déclencheur surveille afin de savoir quand démarrer une exécution de flux de travail. Dans **Inclure**, entrez les modèles de noms de branches au format global que vous souhaitez spécifier pour la configuration du déclencheur afin de démarrer votre pipeline en cas de modification des branches spécifiées. Dans **Exclure**, entrez les modèles d'expression régulière pour les noms de branches au format global que vous souhaitez spécifier pour que la configuration du déclencheur soit ignorée et pour ne pas démarrer votre pipeline lorsque des modifications sont apportées aux branches spécifiées. Pour plus d’informations, consultez [Utilisation de modèles globulaires dans la syntaxe](syntax-glob.md).
**Note**  
Si l'inclusion et l'exclusion ont toutes deux le même modèle, le modèle par défaut est d'exclure le modèle.

     Vous pouvez utiliser des modèles globaux pour définir les noms de vos succursales. Par exemple, utilisez `main*` pour faire correspondre toutes les branches commençant par`main`. Pour plus d’informations, consultez [Utilisation de modèles globulaires dans la syntaxe](syntax-glob.md).

     Pour un déclencheur, spécifiez les branches *vers* lesquelles vous poussez, c'est-à-dire les branches de *destination*. Pour un déclencheur de pull request, spécifiez les branches de destination auxquelles vous ouvrez une pull request.
   + (Facultatif) Sous **Chemins de fichier**, spécifiez les chemins de fichier pour votre déclencheur. Entrez les noms dans **Inclure** et **Exclure**, le cas échéant.

     Vous pouvez utiliser des modèles globaux pour définir les noms de chemin de vos fichiers. Par exemple, `prod*` à utiliser pour faire correspondre tous les chemins de fichiers commençant par`prod`. Pour plus d’informations, consultez [Utilisation de modèles globulaires dans la syntaxe](syntax-glob.md).
   + Choisissez **Pull request** pour configurer la configuration du déclencheur du pipeline afin de commencer par les événements de pull request que vous spécifiez.

## Ajouter des filtres pour les types d'événements de type push et pull request (CLI)
<a name="pipelines-filter-cli"></a>

Vous pouvez mettre à jour le JSON du pipeline pour ajouter des filtres pour les déclencheurs.

Pour créer ou mettre AWS CLI à jour votre pipeline, utilisez la `update-pipeline` commande `create-pipeline` or.

L'exemple de structure JSON suivant fournit une référence pour les définitions de champs ci-dessous`create-pipeline`.

Pour obtenir la liste des définitions de champs, voir les [déclencheurs](pipeline-requirements.md#pipeline.triggers) dans la *référence sur la structure du pipeline* de ce guide.

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

## Ajouter des filtres pour les types d'événements de type push et pull request (CloudFormation modèles)
<a name="pipelines-filter-cfn"></a>

Vous pouvez mettre à jour la ressource du pipeline CloudFormation pour ajouter un filtrage par déclencheur.

L'exemple d'extrait de modèle suivant fournit une référence YAML pour les définitions de champs de déclencheurs. Pour obtenir la liste des définitions de champs, voir les [déclencheurs](pipeline-requirements.md#pipeline.triggers) dans la *référence sur la structure du pipeline* de ce guide.

Pour un exemple de modèle complet de configuration d'une source de connexion et d'un filtre de déclenchement, voir [Pipeline en deux étapes et configuration du déclencheur](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) dans le *guide de CloudFormation l'utilisateur*.

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

# Ajouter un déclencheur pour désactiver la détection des modifications
<a name="pipelines-trigger-no-detection"></a>

Les déclencheurs vous permettent de configurer votre pipeline pour qu'il démarre sur un type d'événement particulier, tel qu'un code push ou une pull request. Les déclencheurs sont configurables pour les actions source avec des connexions qui utilisent l'`CodeStarSourceConnection`action dans CodePipeline GitHub, telles que Bitbucket et GitLab.

**Ajout d'un déclencheur pour désactiver la détection des modifications (console)**

1. Connectez-vous à la CodePipeline console AWS Management Console et ouvrez-la à l'[adresse http://console.aws.amazon. com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home).

   Les noms et le statut de tous les pipelines associés à votre AWS compte sont affichés. 

1. Dans **Name**, choisissez le nom du pipeline que vous souhaitez modifier. Sinon, suivez ces étapes dans l'assistant de création de pipeline.

1. Sur la page des détails du pipeline, choisissez **Edit**. 

1. Sur la page **Modifier**, choisissez l'action source que vous souhaitez modifier. Choisissez **Modifier les déclencheurs**. Choisissez d'ajouter un déclencheur.

1. Dans **Type de déclencheur**, choisissez **Ne pas détecter les modifications**.