

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.

# Création d'une règle d'approbation pour une pull request
<a name="how-to-create-pull-request-approval-rule"></a>

La création de règles d'approbation pour vos demandes d'extraction permet d'assurer la qualité de votre code en exigeant que les utilisateurs approuvent la demande d'extraction pour que le code puisse être fusionné dans la branche de destination. Vous pouvez spécifier le nombre d'utilisateurs devant approuver une demande d'extraction. Vous pouvez également spécifier un groupe d'utilisateurs d'approbation pour la règle. Dans ce cas, seules les approbations de ces utilisateurs sont comptabilisées dans le nombre d'approbations requises pour la règle. 

**Note**  
Vous pouvez également créer des modèles de règles d'approbation, qui peuvent vous aider à automatiser la création de règles d'approbation dans les référentiels qui s'appliqueront à chaque pull request. Pour de plus amples informations, veuillez consulter [Utilisation des modèles de règles d'approbation](approval-rule-templates.md).

Vous pouvez utiliser la AWS CodeCommit console ou le AWS CLI pour créer des règles d'approbation pour votre référentiel. 

**Topics**
+ [Création d'une règle d'approbation pour une pull request (console)](#how-to-create-pull-request-approval-rule-console)
+ [Création d'une règle d'approbation pour une pull request (AWS CLI)](#how-to-create-pull-request-approval-rule-cli)

## Création d'une règle d'approbation pour une pull request (console)
<a name="how-to-create-pull-request-approval-rule-console"></a>

Vous pouvez utiliser la CodeCommit console pour créer une règle d'approbation pour une pull request dans un CodeCommit référentiel. 

1. Ouvrez la CodeCommit console sur [https://console.aws.amazon.com/codesuite/codecommit/home](https://console.aws.amazon.com/codesuite/codecommit/home).

1. Dans **Repositories (Référentiels)**, choisissez le nom du référentiel dans lequel vous souhaitez créer une règle d'approbation pour une demande d'extraction. 

1. Dans le volet de navigation, choisissez **Pull Requests**.

1. Choisissez la demande d'extraction pour laquelle vous souhaitez créer une règle d'approbation dans la liste. Vous pouvez uniquement créer des règles d'approbation pour les demandes d'extraction ouvertes.  
![Liste des pull requests pour un dépôt dans la CodeCommit console.](http://docs.aws.amazon.com/fr_fr/codecommit/latest/userguide/images/codecommit-pull-request-view.png)

1. Dans la demande d'extraction, choisissez **Approvals (Approbations)**, puis **Create approval rule (Créer une règle d'approbation)**. 

1. Dans **Rule name (Nom de la règle)**, donnez un nom descriptif à la règle afin que vous sachiez quel est son rôle. Par exemple, si vous souhaitez que deux personnes approuvent une demande d'extraction pour qu'elle puisse être fusionnée, vous pouvez nommer la règle **Require two approvals before merge**. 
**Note**  
Vous ne pouvez pas modifier le nom d'une règle d'approbation après sa création.

   Dans **Number of approvals needed (Nombre d'approbations nécessaires)**, entrez le nombre souhaité. La valeur par défaut est 1.   
![Création d'une règle d'approbation pour une demande d'extraction](http://docs.aws.amazon.com/fr_fr/codecommit/latest/userguide/images/codecommit-create-approval-rule.png)

1. (Facultatif) Si vous souhaitez que les approbations d'une demande d'extraction proviennent d'un groupe d'utilisateurs spécifique, dans **Approval rule members (Membres de règle d'approbation)**, choisissez **Add (Ajouter)**. Dans **Approver type (Type d'approbateur)**, choisissez l'une des options suivantes : 
   + **Nom d'utilisateur ou rôle assumé par IAM** : cette option préremplit l'ID du AWS compte avec le compte que vous avez utilisé pour vous connecter et nécessite uniquement un nom. Il peut être utilisé à la fois pour les utilisateurs IAM et les utilisateurs à accès fédéré dont le nom correspond au nom fourni. Il s'agit d'une option très puissante qui offre une grande flexibilité. Par exemple, si vous êtes connecté avec le compte Amazon Web Services 123456789012 et que vous choisissez cette option, et que vous spécifiez**Mary\_Major**, tous les éléments suivants sont considérés comme des approbations provenant de cet utilisateur :
     + Un utilisateur IAM dans le compte () `arn:aws:iam::123456789012:user/Mary_Major`
     + Un utilisateur fédéré identifié dans IAM comme Mary\_Major () `arn:aws:sts::123456789012:federated-user/Mary_Major`

     Cette option ne reconnaît pas une session active d'une personne assumant le rôle **CodeCommitReview** avec le nom de session de rôle Mary\_Major (`arn:aws:sts::123456789012:assumed-role/CodeCommitReview/Mary_Major`), sauf si vous incluez un caractère générique (`*Mary_Major`). Vous pouvez également spécifier explicitement le nom du rôle (`CodeCommitReview/Mary_Major`).
   + **ARN complet** : cette option vous permet de spécifier le nom de ressource Amazon (ARN) complet de l'utilisateur ou du rôle IAM. Cette option prend également en charge les rôles assumés utilisés par d'autres AWS services, tels que AWS Lambda et AWS CodeBuild. Pour les rôles assumés, le format de l'ARN doit être `arn:aws:sts::{{AccountID}}:assumed-role/{{RoleName}}` pour les rôles et `arn:aws:sts::{{AccountID}}:assumed-role/{{FunctionName}}` pour les fonctions.

   Si vous avez choisi le **nom d'utilisateur IAM ou le rôle assumé** comme type d'approbateur, dans **Value**, entrez le nom de l'utilisateur ou du rôle IAM ou l'ARN complet de l'utilisateur ou du rôle. Choisissez à nouveau **Add (Ajouter)** pour ajouter d'autres utilisateurs ou rôles, jusqu'à ce que vous ayez ajouté tous les utilisateurs ou rôles dont les approbations comptent dans le nombre d'approbations requises. 

   Les deux types d'approbateur vous permettent d'utiliser des caractères génériques (\*) dans leurs valeurs. Par exemple, si vous choisissez l'option **Nom d'utilisateur IAM ou rôle assumé**, et que vous le spécifiez**CodeCommitReview/\***, tous les utilisateurs qui assument le rôle de **CodeCommitReview** sont pris en compte dans le pool d'approbation. Les noms de session de leurs rôles individuels sont pris en compte dans le nombre d'approbateurs requis. De cette façon, Mary\_Major et Li\_Juan comptent comme approbations lorsqu'elles sont connectées et assument le rôle `CodeCommitReview`. Pour plus d'informations sur l'IAM ARNs, les caractères génériques et les formats, consultez la section Identifiants [IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns).
**Note**  
Les règles d'approbation ne prennent pas en charge les approbations entre comptes.

1. Lorsque vous avez terminé de configurer la règle d'approbation, choisissez **Submit (Envoyer)**.

 

## Création d'une règle d'approbation pour une pull request (AWS CLI)
<a name="how-to-create-pull-request-approval-rule-cli"></a>

Pour utiliser AWS CLI des commandes avec CodeCommit, installez le AWS CLI. Pour de plus amples informations, veuillez consulter [Référence des commandes en ligne](cmd-ref.md). 

## Pour créer une règle d'approbation pour une pull request dans un CodeCommit référentiel

+ Exécutez la commande **create-pull-request-approval-rule** en indiquant :
  + L'ID de la demande d'extraction (avec l'option **--id**).
  + Le nom de la règle d'approbation (avec l'option **--approval-rule-name**).
  + Le contenu de la règle d'approbation (avec l'option **--approval-rule-content**).

  Lorsque vous créez la règle d'approbation, vous pouvez spécifier des approbateurs dans un groupe d'approbation de l'une des deux manières suivantes :
  + **CodeCommitApprovers**: Cette option nécessite uniquement un compte Amazon Web Services et une ressource. Il peut être utilisé à la fois pour les utilisateurs IAM et les utilisateurs à accès fédéré dont le nom correspond au nom de ressource fourni. Il s'agit d'une option très puissante qui offre une grande flexibilité. Par exemple, si vous spécifiez le compte Amazon Web Services 123456789012 et **Mary\_Major** que tous les éléments suivants sont considérés comme des approbations provenant de cet utilisateur :
    + Un utilisateur IAM dans le compte () `arn:aws:iam::123456789012:user/Mary_Major`
    + Un utilisateur fédéré identifié dans IAM comme Mary\_Major () `arn:aws:sts::123456789012:federated-user/Mary_Major`

    Cette option ne reconnaît pas une session active d'une personne assumant le rôle **CodeCommitReview** avec le nom de session de rôle Mary\_Major (`arn:aws:sts::123456789012:assumed-role/CodeCommitReview/Mary_Major`), sauf si vous incluez un caractère générique (`*Mary_Major`).
  + **ARN complet** : cette option vous permet de spécifier le nom de ressource Amazon (ARN) complet de l'utilisateur ou du rôle IAM. 

  Pour plus d'informations sur l'IAM ARNs, les caractères génériques et les formats, consultez la section Identifiants [IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns).

  L'exemple suivant montre comment créer une règle d'approbation nommée `Require two approved approvers` pour une demande d'extraction ayant l'ID `27`. La règle spécifie que deux approbations sont requises à partir d'un groupe d'approbation. Le pool inclut tous les utilisateurs qui accèdent au compte `123456789012` Amazon Web Services CodeCommit et **CodeCommitReview** en assument le rôle. Il inclut également un utilisateur IAM ou un utilisateur fédéré nommé `Nikhil_Jayashankar` dans le même compte Amazon Web Services :

  ```
  aws codecommit create-pull-request-approval-rule --pull-request-id 27 --approval-rule-name "Require two approved approvers" --approval-rule-content "{\"Version\": \"2018-11-08\",\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 2,\"ApprovalPoolMembers\": [\"CodeCommitApprovers:123456789012:Nikhil_Jayashankar\", \"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}"
  ```