

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.

# Rapports de test dans AWS CodeBuild
<a name="test-reporting"></a>

Vous pouvez créer des rapports CodeBuild contenant des détails sur les tests exécutés pendant les builds. Vous pouvez créer des tests tels que des tests unitaires, des tests de configuration et des tests fonctionnels. 

Les formats de fichier de rapport de test suivants sont pris en charge :
+ Concombre JSON (.json)
+ JUnit XML (.xml)
+ NUnit XML (.xml)
+ NUnit3 XML (.xml)
+ TestNG XML (.xml)
+ Visual Studio TRX (.trx)
+ Visual Studio TRX XML (.xml)

**Note**  
 La dernière version prise en charge de `cucumber-js` est la 7.3.2. 

Créez vos scénarios de test avec n'importe quel framework de test capable de créer des fichiers de rapport dans l'un de ces formats (par exemple, le JUnit plugin Surefire, TestNG ou Cucumber).

Pour créer un rapport de test, ajoutez un nom de groupe de rapports au fichier buildspec d'un projet de construction avec des informations sur vos cas de test. Lorsque vous exécutez le projet de construction, les cas de test sont exécutés et un rapport de test est créé. Un nouveau rapport de test est créé dans le groupe de rapports chaque fois que les scénarios de test sont exécutés. Vous n'avez pas besoin de créer un groupe de rapports avant d'exécuter vos tests. Si vous spécifiez un nom de groupe de rapports, CodeBuild crée un groupe de rapports pour vous lorsque vous générez vos rapports. Si vous souhaitez utiliser un groupe de rapports qui existe déjà, vous spécifiez son ARN dans le fichier buildspec.

Vous pouvez utiliser un rapport de test pour résoudre un problème lors d'une génération. Si vous disposez de nombreux rapports de test provenant de plusieurs versions d'un projet de construction, vous pouvez utiliser vos rapports de test pour afficher les tendances et les taux de test et d'échec afin de vous aider à optimiser les versions. 

Un rapport expire 30 jours après sa création. Vous ne pouvez pas afficher un rapport de test expiré. Si vous souhaitez conserver les rapports de test pendant plus de 30 jours, vous pouvez exporter les fichiers de données brutes de vos résultats de test vers un compartiment Amazon S3. Les fichiers de test exportés n'expirent pas. Des informations sur le compartiment S3 sont spécifiées lorsque vous créez le groupe de rapports.

**Note**  
Le rôle CodeBuild de service spécifié dans le projet est utilisé pour les autorisations de téléchargement vers le compartiment S3.

**Topics**
+ [Création de rapports de test](report-create.md)
+ [Création de rapports sur la couverture du code](code-coverage-report.md)
+ [Découvrez automatiquement les rapports dans CodeBuild](report-auto-discover.md)
+ [Groupes de rapports](test-report-group.md)
+ [Cadres de test](test-framework-reporting.md)
+ [Affichage des rapports de test](test-view-reports.md)
+ [Autorisations relatives aux rapports de test](test-permissions.md)
+ [Statuts des rapports de test](test-report.md)

# Création de rapports de test
<a name="report-create"></a>

 Pour créer un rapport de test, vous exécutez un projet de construction qui est configuré avec un à cinq groupes de rapports dans son fichier buildspec. Un rapport de test est créé pendant l'exécution. Il contient les résultats des cas de test spécifiés pour les groupes de rapports. Un nouveau rapport de test est généré pour chaque génération ultérieure qui utilise le même fichier buildspec. 

**Pour créer un rapport de test**

1. Créez un projet de génération. Pour plus d'informations, consultez [Créez un projet de construction dans AWS CodeBuild](create-project.md). 

1. Configurez le fichier buildspec de votre projet avec les informations de rapport de test : 

   1. Ajoutez une `reports:` section et spécifiez soit l'ARN d'un groupe de rapports existant, soit le nom d'un groupe de rapports. 

      Si vous spécifiez un ARN, CodeBuild utilise ce groupe de rapports.

      Si vous spécifiez un nom, CodeBuild crée un groupe de rapports pour vous en utilisant le nom de votre projet, et le nom que vous avez spécifié, au format *<project-name>* -*<report-group-name>*. Si le groupe de rapports nommé existe déjà, CodeBuild utilise ce groupe de rapports.

   1. Dans le groupe de rapports, spécifiez l'emplacement des fichiers contenant les résultats des tests. Si vous utilisez plusieurs groupes de rapports, spécifiez les emplacements des fichiers de résultats de test pour chacun d'eux. Un nouveau rapport de test est créé chaque fois que votre projet de génération s'exécute. Pour de plus amples informations, veuillez consulter [Spécification des fichiers de test](report-group-test-cases.md). 

   1. Dans la section `commands` de la séquence `build` ou `post_build`, spécifiez les commandes qui exécutent les cas de test que vous avez spécifiés pour vos groupes de rapports. Pour de plus amples informations, veuillez consulter [Spécification des commandes de test](report-group-test-case-commands.md). 

   Voici un exemple de section buildspec `reports` :

   ```
   reports:
     php-reports:
       files:
         - "reports/php/*.xml"
       file-format: "JUNITXML"
     nunit-reports:
       files:
         - "reports/nunit/*.xml"
       file-format: "NUNITXML"
   ```

1. Exécutez une version du projet de génération. Pour de plus amples informations, veuillez consulter [Exécuter AWS CodeBuild les builds manuellement](run-build.md). 

1. Une fois la génération terminée, choisissez la nouvelle version dans **Historique de génération** sur la page de votre projet. Choisissez **Rapports** pour afficher le rapport de test. Pour de plus amples informations, veuillez consulter [Affichage des rapports de test d'une génération](test-view-project-reports.md).

# Création de rapports sur la couverture du code
<a name="code-coverage-report"></a>

CodeBuild vous permet de générer des rapports de couverture de code pour vos tests. Les rapports de couverture des codes suivants sont fournis :

Couverture de la ligne  
La couverture linéaire mesure le nombre de déclarations couvertes par vos tests. Une instruction est une instruction unique, sans commentaires ni conditions.  
`line coverage = (total lines covered)/(total number of lines)`

Couverture des succursales  
La couverture des branches mesure le nombre de branches couvertes par vos tests parmi toutes les branches possibles d'une structure de contrôle, comme une `case` instruction `if` or.  
`branch coverage = (total branches covered)/(total number of branches)`

Les formats de fichier de rapport de couverture de code suivants sont pris en charge :
+ JaCoCo XML
+ SimpleCov JSON¹
+ Trèfle XML
+ Couverture XML
+ INFORMATIONS SUR LE LCOV

[¹ CodeBuild accepte les rapports de couverture du code JSON générés par [simplecov, et non par simplecov-json](https://github.com/simplecov-ruby/simplecov).](https://github.com/vicentllongo/simplecov-json)

## Création d'un rapport sur la couverture du code
<a name="code-coverage-report-create"></a>

Pour créer un rapport de couverture de code, vous exécutez un projet de génération configuré avec au moins un groupe de rapports de couverture de code dans son fichier buildspec. CodeBuild interprétera les résultats de couverture du code et fournira un rapport de couverture du code pour l'exécution. Un nouveau rapport de test est généré pour chaque génération ultérieure qui utilise le même fichier buildspec. 

**Pour créer un rapport de test**

1. Créez un projet de génération. Pour plus d'informations, consultez [Créez un projet de construction dans AWS CodeBuild](create-project.md).

1. Configurez le fichier buildspec de votre projet avec les informations du rapport de test :

   1. Ajoutez une `reports:` section et spécifiez le nom de votre groupe de rapports. CodeBuild crée un groupe de rapports pour vous en utilisant le nom de votre projet et le nom que vous avez spécifié au format `project-name` -`report-group-name-in-buildspec`. Si vous avez déjà un groupe de rapports à utiliser, spécifiez son ARN. Si vous utilisez le nom au lieu de l'ARN, CodeBuild crée un nouveau groupe de rapports. Pour de plus amples informations, veuillez consulter [Reports syntax in the buildspec file](build-spec-ref.md#reports-buildspec-file). 

   1. Dans le groupe de rapports, spécifiez l'emplacement des fichiers contenant les résultats de couverture du code. Si vous utilisez plusieurs groupes de rapports, spécifiez l'emplacement des fichiers de résultats pour chaque groupe de rapports. Un nouveau rapport de couverture du code est créé chaque fois que votre projet de construction s'exécute. Pour de plus amples informations, veuillez consulter [Spécification des fichiers de test](report-group-test-cases.md).

      Il s'agit d'un exemple qui génère un rapport de couverture de code pour un fichier de résultats JaCoCo XML situé dans test-`results/jacoco-coverage-report.xml`.

      ```
      reports:
        jacoco-report:
          files:
            - 'test-results/jacoco-coverage-report.xml'
          file-format: 'JACOCOXML'
      ```

   1. Dans la `commands` section de la `post_build` séquence `build` or, spécifiez les commandes qui exécutent l'analyse de couverture du code. Pour de plus amples informations, veuillez consulter [Spécification des commandes de test](report-group-test-case-commands.md). 

1. Exécutez une version du projet de génération. Pour de plus amples informations, veuillez consulter [Exécuter AWS CodeBuild les builds manuellement](run-build.md).

1. Une fois la génération terminée, choisissez la nouvelle version dans **Historique de génération** sur la page de votre projet. Choisissez **Rapports** pour afficher le rapport sur la couverture du code. Pour de plus amples informations, veuillez consulter [Affichage des rapports de test d'une génération](test-view-project-reports.md).

# Découvrez automatiquement les rapports dans CodeBuild
<a name="report-auto-discover"></a>

La détection automatique permet de CodeBuild parcourir tous vos fichiers de compilation une fois la phase de génération terminée, de rechercher tous les types de fichiers de rapport pris en charge et de créer automatiquement de nouveaux groupes et rapports de test et de couverture de code. Pour tous les types de rapports découverts, CodeBuild crée de nouveaux groupes de rapports selon le modèle suivant :

```
<project-name>-<report-file-format>-AutoDiscovered
```

**Note**  
Si les fichiers de rapport découverts ont le même type de format, ils seront placés dans le même groupe de rapports ou dans le même rapport.

La découverte automatique des rapports est configurée par les variables d'environnement de votre projet :

`CODEBUILD_CONFIG_AUTO_DISCOVER`  
Cette variable détermine si la découverte automatique des rapports est désactivée pendant la génération. Par défaut, la découverte automatique des rapports est activée pour toutes les versions. Pour désactiver cette fonctionnalité, réglez `CODEBUILD_CONFIG_AUTO_DISCOVER` sur`false`.

`CODEBUILD_CONFIG_AUTO_DISCOVER_DIR`  
(Facultatif) Cette variable détermine où sont CodeBuild recherchées les fichiers de rapport potentiels. Notez que par défaut, les CodeBuild recherches sont effectuées `**/*` par défaut.

Ces variables d'environnement peuvent être modifiées pendant la phase de construction. Par exemple, si vous souhaitez uniquement activer la découverte automatique des rapports pour les versions de la branche `main` git, vous pouvez vérifier la branche git pendant le processus de génération et `CODEBUILD_CONFIG_AUTO_DISCOVER` définir la valeur false si la version ne se trouve pas sur la `main` branche. La découverte automatique des rapports peut être désactivée à l'aide de la console ou des variables d'environnement du projet.

**Topics**
+ [Configurer la découverte automatique des rapports à l'aide de la console](#report-auto-discover-configure-console)
+ [Configurer la découverte automatique des rapports à l'aide des variables d'environnement du projet](#report-auto-discover-configure-variable)

## Configurer la découverte automatique des rapports à l'aide de la console
<a name="report-auto-discover-configure-console"></a>

Utilisez la procédure suivante pour configurer la découverte automatique des rapports à l'aide de la console.

**Pour configurer la découverte automatique des rapports à l'aide de la console**

1. Créez un projet de construction ou choisissez un projet de construction à modifier. Pour plus d’informations, consultez [Créez un projet de construction dans AWS CodeBuild](create-project.md) ou [Modifier les paramètres du projet de construction dans AWS CodeBuild](change-project.md).

1. Dans **Environnement**, sélectionnez **Configuration supplémentaire**.

1. Pour désactiver la découverte automatique des rapports, dans la section Découverte **automatique des rapports, sélectionnez Désactiver la découverte automatique** **des rapports**.

1. (Facultatif) Dans **Répertoire de découverte automatique (facultatif**), entrez un modèle de répertoire pour rechercher les fichiers CodeBuild au format de rapport pris en charge. Notez que la CodeBuild recherche est `**/*` effectuée par défaut.

## Configurer la découverte automatique des rapports à l'aide des variables d'environnement du projet
<a name="report-auto-discover-configure-variable"></a>

Utilisez la procédure suivante pour configurer la découverte automatique des rapports à l'aide des variables d'environnement du projet.

**Pour configurer la découverte automatique des rapports à l'aide des variables d'environnement du projet**

1. Créez un projet de construction ou choisissez un projet de construction à modifier. Pour plus d’informations, consultez [Créez un projet de construction dans AWS CodeBuild](create-project.md) ou [Modifier les paramètres du projet de construction dans AWS CodeBuild](change-project.md).

1. Dans **Variables d'environnement**, procédez comme suit :

   1. Pour désactiver la découverte automatique des rapports, saisissez **Nom** **CODEBUILD\$1CONFIG\$1AUTO\$1DISCOVER** et **Valeur**. **false** Cela désactive la découverte automatique des rapports.

   1. (Facultatif) Pour **Nom**, entrez **CODEBUILD\$1CONFIG\$1AUTO\$1DISCOVER\$1DIR** et pour **Valeur**, entrez le répertoire dans lequel vous CodeBuild devez rechercher les fichiers au format de rapport pris en charge. Par exemple, `output/*xml` recherche des `.xml` fichiers dans le `output` répertoire

# Groupes de rapports
<a name="test-report-group"></a>

Un *groupe de rapports* contient des rapports de test et spécifie des paramètres partagés. Vous utilisez le fichier buildspec pour spécifier les cas de test à exécuter et les commandes pour les exécuter lors de la génération. Pour chaque groupe de rapports configuré dans un projet de génération, une exécution du projet de génération crée un rapport de test. Plusieurs exécutions d'un projet de génération configurées avec un groupe de rapports créent plusieurs rapports de test dans ce groupe de rapports, chacun avec les résultats des mêmes cas de test spécifiés pour ce groupe de rapports. 

 Les cas de test sont spécifiés pour un groupe de rapports dans le fichier buildspec d'un projet de génération. Vous pouvez spécifier jusqu'à cinq groupes de rapports dans un projet de génération. Lorsque vous exécutez une génération, tous les cas de test s'exécutent. Un nouveau rapport de test est créé avec les résultats de chaque cas de test spécifié pour un groupe de rapports. Chaque fois que vous exécutez une nouvelle version, les cas de test s'exécutent et un nouveau rapport de test est créé avec les nouveaux résultats de test. 

 Les groupes de rapports peuvent être utilisés dans plusieurs projets de génération. Tous les rapports de test créés avec un groupe de rapports partagent la même configuration, telle que son option d'exportation et ses autorisations, même si les rapports de test sont créés à l'aide de différents projets de génération. Les rapports de test créés avec un groupe de rapports dans plusieurs projets de génération peuvent contenir les résultats de l'exécution de différents ensembles de cas de test (un ensemble de cas de test pour chaque projet de génération). En effet, vous pouvez spécifier différents fichiers de cas de test pour le groupe de rapports dans le fichier buildspec de chaque projet. Vous pouvez également modifier les fichiers de cas de test d'un groupe de rapports dans un projet de génération en modifiant son fichier buildspec. Les versions ultérieures créent de nouveaux rapports de test qui contiennent les résultats des fichiers de cas de test dans le buildspec mis à jour. 

**Topics**
+ [Créer un groupe de rapports](report-group-create.md)
+ [Attribution des noms des groupes de rapports](test-report-group-naming.md)
+ [Partager des groupes de rapports](report-groups-sharing.md)
+ [Spécification des fichiers de test](report-group-test-cases.md)
+ [Spécification des commandes de test](report-group-test-case-commands.md)
+ [Marquer un groupe de rapports dans AWS CodeBuild](how-to-tag-report-group.md)
+ [Mise à jour d'un groupe de rapports](report-group-export-settings.md)

# Créer un groupe de rapports
<a name="report-group-create"></a>

 Vous pouvez utiliser la CodeBuild console AWS CLI, le fichier ou un fichier buildspec pour créer un groupe de rapports. Votre rôle IAM doit disposer des autorisations requises pour créer un groupe de rapports. Pour de plus amples informations, veuillez consulter [Autorisations relatives aux rapports de test](test-permissions.md). 

**Topics**
+ [Création d'un groupe de rapports (buildspec)](#test-report-group-create-buildspec)
+ [Créer un groupe de rapports (console)](#test-report-group-create-console)
+ [Création d'un groupe de rapports (CLI)](#test-report-group-create-cli)
+ [Création d'un groupe de rapports (CloudFormation)](#test-report-group-create-cfn)

## Création d'un groupe de rapports (buildspec)
<a name="test-report-group-create-buildspec"></a>

Un groupe de rapports créé à l'aide de buildspec n'exporte pas les fichiers de résultats de test bruts. Vous pouvez afficher votre groupe de rapports et spécifier les paramètres d'exportation. Pour de plus amples informations, veuillez consulter [Mise à jour d'un groupe de rapports](report-group-export-settings.md). 

**Pour créer un groupe de rapports à l'aide d'un fichier buildspec**

1.  Choisissez un nom de groupe de rapports qui n'est pas associé à un groupe de rapports dans votre AWS compte. 

1.  Configurez la section `reports` du fichier buildspec avec ce nom. Dans cet exemple, le nom du groupe de rapports est `new-report-group` et les cas de test d'utilisation sont créés avec le JUnit framework : 

   ```
   reports:
    new-report-group: #surefire junit reports
      files:
        - '**/*'
      base-directory: 'surefire/target/surefire-reports'
   ```

   Le nom du groupe de rapports peut également être spécifié à l'aide de variables d'environnement dans le buildspec :

   ```
   version: 0.2
   env:
     variables:
       REPORT_GROUP_NAME: "new-report-group"
   phases:
     build:
       commands:
         - ...
   ...
   reports:
    $REPORT_GROUP_NAME:
      files:
        - '**/*'
      base-directory: 'surefire/target/surefire-reports'
   ```

    Pour plus d’informations, consultez [Spécification des fichiers de test](report-group-test-cases.md) et [Reports syntax in the buildspec file](build-spec-ref.md#reports-buildspec-file). 

1. Dans la section `commands`, spécifiez la commande pour exécuter vos tests. Pour de plus amples informations, veuillez consulter [Spécification des commandes de test](report-group-test-case-commands.md). 

1.  Exécutez la génération. Une fois la génération terminée, un nouveau groupe de rapports est créé avec un nom qui utilise le format `project-name-report-group-name`. Pour de plus amples informations, veuillez consulter [Attribution des noms des groupes de rapports](test-report-group-naming.md). 



## Créer un groupe de rapports (console)
<a name="test-report-group-create-console"></a>

Utilisez la procédure suivante pour créer un groupe de rapports à l'aide du AWS Management Console.

**Pour créer un groupe de rapports**

1. Ouvrez la AWS CodeBuild console sur [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home).

1. Dans le panneau de navigation, sélectionnez **Groupes de rapports**. 

1. Choisissez **Créer un groupe de rapports**. 

1. Pour **Nom du groupe de rapports**, entrez un nom pour votre groupe de rapports. 

1. (Facultatif) Pour **Tags**, entrez le nom et la valeur de tous les tags que vous souhaitez que les AWS services d'assistance utilisent. Utilisez **Ajouter une ligne** pour ajouter une balise. Vous pouvez ajouter jusqu’à 50 balises. 

1. Si vous souhaitez télécharger les données brutes des résultats de votre rapport de test dans un compartiment Amazon S3 : 

   1. Sélectionnez **Exporter vers Amazon S3**. 

   1. Pour le **nom du compartiment S3**, entrez le nom du compartiment S3. 

   1. (Facultatif) Pour **le propriétaire du AWS compartiment S3**, entrez l'identifiant du compte propriétaire du compartiment S3. Cela permet de signaler les données à exporter vers un compartiment Amazon S3 appartenant à un compte autre que celui exécutant la build. 

   1. Pour **Préfixe du chemin d'accès**, entrez le chemin de votre compartiment S3 où vous souhaitez télécharger les résultats de vos tests. 

   1. Sélectionnez **Compresser les données de résultats de test dans un fichier zip** pour compresser vos fichiers de données de résultats de test bruts. 

   1. Développez **Configuration supplémentaire** pour afficher les options de chiffrement. Sélectionnez l’une des méthodes suivantes : 
      + **Clé AWS gérée par défaut** à utiliser Clé gérée par AWS pour Amazon S3. Pour plus d'informations, consultez la section [Gestion des clients CMKs](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) dans le *guide de AWS Key Management Service l'utilisateur*. Il s'agit de l'option de chiffrement par défaut.
      + **Choisissez une clé personnalisée** pour utiliser une clé gérée par le client que vous créez et configurez. Pour la **clé de AWS KMS chiffrement**, entrez l'ARN de votre clé de chiffrement. Son format est ` arn:aws:kms:<region-id>: <aws-account-id>:key/<key-id> `. Pour de plus amples informations, veuillez consulter [Création de clés KMS](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html) dans le *Guide de l'utilisateur AWS Key Management Service *. 
      + **Désactivez le chiffrement des artefacts** pour désactiver le chiffrement. Vous pouvez choisir cette option si vous souhaitez partager vos résultats de test ou les publier sur un site web statique. (Un site web dynamique peut exécuter du code pour déchiffrer les résultats des tests.)

      Pour de plus amples informations sur le chiffrement au repos, veuillez consulter [Chiffrement des données](security-encryption.md). 
**Note**  
Le rôle CodeBuild de service spécifié dans le projet est utilisé pour les autorisations de téléchargement vers le compartiment S3.

1. Choisissez **Créer un groupe de rapports**.

## Création d'un groupe de rapports (CLI)
<a name="test-report-group-create-cli"></a>

Utilisez la procédure suivante pour créer un groupe de rapports à l'aide du AWS CLI.

**Pour créer un groupe de rapports**

1. Créez un fichier nommé `CreateReportGroup.json`.

1. En fonction de vos besoins, copiez l'un des extraits de code JSON suivants dans `CreateReportGroup.json` : 
   + Utilisez le JSON suivant pour spécifier que votre groupe de rapports de test exporte les fichiers de résultats de test bruts vers un compartiment Amazon S3. 

     ```
     {
       "name": "<report-name>",
       "type": "TEST",
       "exportConfig": {
         "exportConfigType": "S3",
         "s3Destination": {
           "bucket": "<bucket-name>",
           "bucketOwner": "<bucket-owner>",
           "path": "<path>",
           "packaging": "NONE | ZIP",
           "encryptionDisabled": "false",
           "encryptionKey": "<your-key>"
         },
         "tags": [
           {
             "key": "tag-key",
             "value": "tag-value"
           }
         ]
       }
     }
     ```
     + *<bucket-name>*Remplacez-le par le nom de votre compartiment Amazon S3 et *<path>* par le chemin de votre compartiment vers l'endroit où vous souhaitez exporter les fichiers. 
     + Si vous souhaitez compresser les fichiers exportés, pour `packaging`, spécifiez `ZIP`. Sinon, spécifiez `NONE`. 
     + `bucketOwner`est facultatif et n'est obligatoire que si le compartiment Amazon S3 appartient à un compte autre que celui qui exécute le build.
     + Utilisez `encryptionDisabled` de spécifier si les fichiers exportés doivent être chiffrés. Si vous cryptez les fichiers exportés, entrez votre clé gérée par le client. Pour de plus amples informations, veuillez consulter [Mise à jour d'un groupe de rapports](report-group-export-settings.md).
   + Utilisez le JSON suivant pour spécifier que votre rapport de test n'exporte pas les fichiers de test bruts : 

     ```
     {
       "name": "<report-name>",
       "type": "TEST",
       "exportConfig": {
         "exportConfigType": "NO_EXPORT"
       }
     }
     ```
**Note**  
Le rôle CodeBuild de service spécifié dans le projet est utilisé pour les autorisations de téléchargement vers le compartiment S3.

1. Exécutez la commande suivante : 

   ```
   aws codebuild create-report-group --cli-input-json file://CreateReportGroupInput.json
   ```

## Création d'un groupe de rapports (CloudFormation)
<a name="test-report-group-create-cfn"></a>

Utilisez les instructions suivantes pour créer un groupe de rapports à l'aide du CloudFormation modèle

 **Pour créer un groupe de rapports à l'aide du CloudFormation modèle** 

 Vous pouvez utiliser un fichier CloudFormation modèle pour créer et approvisionner un groupe de rapports. Pour plus d’informations, consultez le [CloudFormation guide de l’utilisateur](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html). 

 Le modèle CloudFormation YAML suivant crée un groupe de rapports qui n'exporte pas les fichiers de résultats de test bruts. 

```
Resources:
  CodeBuildReportGroup:
    Type: AWS::CodeBuild::ReportGroup
    Properties:
      Name: my-report-group-name
      Type: TEST
      ExportConfig:
        ExportConfigType: NO_EXPORT
```

 Le modèle CloudFormation YAML suivant crée un groupe de rapports qui exporte les fichiers de résultats de test bruts vers un compartiment Amazon S3. 

```
Resources:
  CodeBuildReportGroup:
    Type: AWS::CodeBuild::ReportGroup
    Properties:
      Name: my-report-group-name
      Type: TEST
      ExportConfig:
        ExportConfigType: S3
        S3Destination:
          Bucket: amzn-s3-demo-bucket
          Path: path-to-folder-for-exported-files
          Packaging: ZIP
          EncryptionKey: my-KMS-encryption-key
          EncryptionDisabled: false
```

**Note**  
Le rôle CodeBuild de service spécifié dans le projet est utilisé pour les autorisations de téléchargement vers le compartiment S3.

# Attribution des noms des groupes de rapports
<a name="test-report-group-naming"></a>

 Lorsque vous utilisez la console AWS CLI ou la AWS CodeBuild console pour créer un groupe de rapports, vous spécifiez un nom pour le groupe de rapports. Si vous utilisez la spécification de build pour créer un nouveau groupe de rapports, il est nommé en utilisant le format `project-name-report-group-name-specified-in-buildspec`. Tous les rapports créés en exécutant des versions de ce projet de génération appartiennent au nouveau groupe de rapports portant le nouveau nom. 

 Si vous ne souhaitez pas CodeBuild créer de nouveau groupe de rapports, spécifiez l'ARN du groupe de rapports dans le fichier buildspec d'un projet de construction. Vous pouvez spécifier l'ARN d'un groupe de rapports dans plusieurs projets de génération. Après l'exécution de chaque projet de génération, le groupe de rapports contient des rapports de test créés par chaque projet de génération. 

 Par exemple, si vous créez un groupe de rapports portant le nom `my-report-group`, puis que vous utilisez son nom dans deux projets de génération différents nommés `my-project-1` et `my-project-2` et que vous créez une version des deux projets, deux nouveaux groupes de rapports sont créés. Le résultat est trois groupes de rapports portant les noms suivants : 
+  `my-report-group` : n'a pas de rapport de test. 
+  `my-project-1-my-report-group` : contient des rapports avec les résultats des tests exécutés par le projet de génération nommé `my-project-1`. 
+  `my-project-2-my-report-group` : contient des rapports avec les résultats des tests exécutés par le projet de génération nommé `my-project-2`. 

 Si vous utilisez l'ARN du groupe de rapports nommé `my-report-group` dans les deux projets, puis que vous exécutez des versions de chaque projet, vous disposez toujours d'un groupe de rapports (`my-report-group`). Ce groupe de rapports contient des rapports de test avec les résultats des tests exécutés par les deux projets de génération. 

 Si vous choisissez un nom de groupe de rapports qui n'appartient pas à un groupe de rapports dans votre compte AWS , puis que vous utilisez ce nom pour un groupe de rapports dans un fichier buildspec et exécutez une génération de son projet de génération, un nouveau groupe de rapports est créé. Le format du nom du nouveau groupe de rapports est `project-name-new-group-name`. Par exemple, si aucun groupe de rapports ne porte ce nom `new-report-group` dans votre AWS compte et que vous le spécifiez dans un projet de génération appelé`test-project`, une exécution de génération crée un nouveau groupe de rapports portant ce nom`test-project-new-report-group`. 

# Partager des groupes de rapports
<a name="report-groups-sharing"></a>

Le partage de groupes de rapports permet à plusieurs AWS comptes ou utilisateurs de consulter un groupe de rapports, ses rapports non expirés et les résultats des tests de ses rapports. Dans ce modèle, le compte propriétaire du groupe de rapports (propriétaire) partage un groupe de rapports avec d'autres comptes (consommateurs). Un consommateur ne peut pas modifier un groupe de rapports. Un rapport expire 30 jours après sa création.

**Topics**
+ [Partager un groupe de rapports](#report-groups-sharing-share)
+ [Services connexes](#report-groups-sharing-related)
+ [Accédez aux groupes de rapports partagés avec vous](report-groups-sharing-access-prereqs.md)
+ [Annuler le partage d'un groupe de rapports partagé](report-groups-sharing-unshare.md)
+ [Identifier un groupe de rapports partagé](report-groups-sharing-identify.md)
+ [Autorisations de groupe de rapports partagés](report-groups-sharing-perms.md)

## Partager un groupe de rapports
<a name="report-groups-sharing-share"></a>

 Lorsque vous partagez un groupe de rapports, le consommateur dispose d'un accès en lecture seule au groupe de rapports et à ses rapports. Le consommateur peut utiliser le AWS CLI pour consulter le groupe de rapports, ses rapports et les résultats des scénarios de test pour chaque rapport. Le consommateur ne peut pas : 
+  Consultez un groupe de rapports partagé ou ses rapports dans la CodeBuild console. 
+  Modifier un groupe de rapports partagé. 
+  Utiliser l'ARN du groupe de rapports partagé dans un projet pour exécuter un rapport. Une génération de projet qui spécifie un groupe de rapports partagé échoue. 

Vous pouvez utiliser la CodeBuild console pour ajouter un groupe de rapports à un partage de ressources existant. Si vous souhaitez ajouter le groupe de rapports à un nouveau partage de ressources, vous devez d'abord le créer dans la [console AWS RAM](https://console.aws.amazon.com/ram).

Pour partager un groupe de rapports avec des unités organisationnelles ou une organisation entière, vous devez activer le partage avec AWS Organizations. Pour de plus amples informations, veuillez consulter [Activer le partage avec AWS Organizations](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html) dans le *Guide de l'utilisateur AWS RAM *.

Vous pouvez utiliser la CodeBuild console, la AWS RAM console ou AWS CLI pour partager des groupes de rapports dont vous êtes propriétaire.

**Prérequis**  
Pour partager un groupe de rapports, votre AWS compte doit en être le propriétaire. Vous ne pouvez pas partager un groupe de rapports qui a été partagé avec vous.

**Pour partager un groupe de rapports dont vous êtes le propriétaire (CodeBuild console)**

1. Ouvrez la AWS CodeBuild console sur [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home).

1. Dans le panneau de navigation, sélectionnez **Groupes de rapports**.

1.  Choisissez le projet que vous souhaitez partager, puis choisissez **Partager**. Pour de plus amples informations, veuillez consulter [Création d'un partage de ressources](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html#getting-started-sharing-create) dans le *Guide de l'utilisateur AWS RAM *. 

**Pour partager des groupes de rapports dont vous êtes propriétaire (AWS RAM console)**  
Consultez [Création d’un partage de ressources](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing.html#working-with-sharing-create) dans le *Guide de l’utilisateur AWS RAM *.

**Pour partager des groupes de rapports dont vous êtes propriétaire (AWS RAM commande)**  
Utilisez la commande [create-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/create-resource-share.html).

 **Pour partager un groupe de rapports dont vous êtes le propriétaire (CodeBuild commande)** 

Utilisez la commande [put-resource-policy](https://docs.aws.amazon.com/cli/latest/reference/codebuild/put-resource-policy.html) :

1. Créez un fichier nommé `policy.json` et copiez ce qui suit dans celui-ci. 

------
#### [ JSON ]

****  

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement":[{
        "Effect":"Allow",
        "Principal":{
          "AWS":"111122223333"
        },
        "Action":[
          "codebuild:BatchGetReportGroups",
          "codebuild:BatchGetReports",
          "codebuild:ListReportsForReportGroup",
          "codebuild:DescribeTestCases"],
        "Resource":"arn:aws:iam::*:role/Service*"
      }]
    }
   ```

------

1. Mettez à jour `policy.json` avec l'ARN du groupe de rapports et les identificateurs avec lesquels vous le partagez. L'exemple suivant accorde un accès en lecture seule au groupe de rapports avec l'ARN `arn:aws:codebuild:us-west-2:123456789012:report-group/my-report-group` à Alice et à l'utilisateur root pour le AWS compte identifié par 123456789012. 

------
#### [ JSON ]

****  

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement":[{
        "Effect":"Allow",
        "Principal":{
          "AWS": [
             "arn:aws:iam::123456789012:user/Alice",
             "123456789012"
           ]
        },
        "Action":[
          "codebuild:BatchGetReportGroups",
          "codebuild:BatchGetReports",
          "codebuild:ListReportsForReportGroup",
          "codebuild:DescribeTestCases"],
        "Resource":"arn:aws:codebuild:us-west-2:123456789012:report-group/my-report-group"
      }]
    }
   ```

------

1. Exécutez la commande suivante. 

   ```
   aws codebuild put-resource-policy --resource-arn report-group-arn --policy file://policy.json
   ```

## Services connexes
<a name="report-groups-sharing-related"></a>

Le partage de groupes de rapports s'intègre à AWS Resource Access Manager (AWS RAM), un service qui vous permet de partager vos AWS ressources avec n'importe quel AWS compte ou via AWS Organizations. Avec AWS RAM, vous partagez les ressources que vous possédez en créant un *partage de ressources* qui spécifie les ressources et les consommateurs avec lesquels les partager. Les consommateurs peuvent être AWS des comptes individuels AWS Organizations, des unités organisationnelles ou une organisation entière AWS Organizations.

Pour plus d’informations, consultez le *Guide de l’utilisateur [AWS RAM](https://docs.aws.amazon.com/ram/latest/userguide/)*.

# Accédez aux groupes de rapports partagés avec vous
<a name="report-groups-sharing-access-prereqs"></a>

Pour accéder à un groupe de rapports partagé, le rôle IAM d'un consommateur requiert l'autorisation `BatchGetReportGroups`. Vous pouvez associer la politique suivante à leur rôle IAM : 

```
{
    "Effect": "Allow",
    "Resource": [
        "*"
    ],
    "Action": [
        "codebuild:BatchGetReportGroups"
    ]
}
```

 Pour de plus amples informations, veuillez consulter [Utilisation de politiques basées sur l'identité pour AWS CodeBuild](auth-and-access-control-iam-identity-based-access-control.md). 

# Annuler le partage d'un groupe de rapports partagé
<a name="report-groups-sharing-unshare"></a>

Un groupe de rapports non partagé, y compris ses rapports et leurs résultats de cas de test, est accessible uniquement par son propriétaire. Si vous résiliez le partage d'un groupe de rapports, les AWS comptes ou utilisateurs avec lesquels vous l'avez précédemment partagé ne peuvent pas accéder au groupe de rapports, à ses rapports ou aux résultats des tests figurant dans les rapports.

Pour annuler le partage d'un groupe de rapports partagé qui vous appartient, vous devez le supprimer du partage de ressources. Vous pouvez utiliser la AWS RAM console ou AWS CLI effectuer cette opération.

**Pour annuler le partage d'un groupe de rapports partagé dont vous êtes le propriétaire (AWS RAM console)**  
Consultez la section [Mise à jour d'un partage de ressources](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing.html#working-with-sharing-update) du *Guide de l'utilisateur AWS RAM *.

**Pour annuler le partage d'un groupe de rapports partagé dont vous êtes le propriétaire (AWS RAM commande)**  
Utilisez la commande [disassociate-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/disassociate-resource-share.html).

 **Pour annuler le partage du groupe de rapports dont vous êtes le propriétaire ( CodeBuild commande)** 

Exécutez la [delete-resource-policy](https://docs.aws.amazon.com/cli/latest/reference/codebuild/delete-resource-policy.html)commande et spécifiez l'ARN du groupe de rapports dont vous souhaitez annuler le partage :

```
aws codebuild delete-resource-policy --resource-arn report-group-arn
```

# Identifier un groupe de rapports partagé
<a name="report-groups-sharing-identify"></a>

Les propriétaires et les consommateurs peuvent utiliser le AWS CLI pour identifier les groupes de rapports partagés. 

Pour identifier et obtenir des informations sur un groupe de rapports partagé et ses rapports, utilisez les commandes suivantes : 
+  Pour voir les groupes ARNs de rapports partagés avec vous, exécutez `[list-shared-report-groups](https://docs.aws.amazon.com/cli/latest/reference/codebuild/list-shared-report-groups.html)` : 

  ```
  aws codebuild list-shared-report-groups
  ```
+  Pour voir les rapports ARNs d'un groupe de rapports, exécutez-le à `[list-reports-for-report-group](https://docs.aws.amazon.com/cli/latest/reference/codebuild/list-reports-for-report-group.html)` l'aide de l'ARN du groupe de rapports : 

  ```
  aws codebuild list-reports-for-report-group --report-group-arn report-group-arn
  ```
+  Pour afficher des informations sur les cas de test dans un rapport, exécutez `[describe-test-cases](https://docs.aws.amazon.com/cli/latest/reference/codebuild/describe-test-cases.html)` à l'aide de l'ARN de rapport : 

  ```
  aws codebuild describe-test-cases --report-arn report-arn
  ```

   Le résultat se présente comme suit : 

  ```
  {
      "testCases": [
          {
              "status": "FAILED",
              "name": "Test case 1",
              "expired": 1575916770.0,
              "reportArn": "report-arn",
              "prefix": "Cucumber tests for agent",
              "message": "A test message",
              "durationInNanoSeconds": 1540540,
              "testRawDataPath": "path-to-output-report-files"
          },
          {
              "status": "SUCCEEDED",
              "name": "Test case 2",
              "expired": 1575916770.0,
              "reportArn": "report-arn",
              "prefix": "Cucumber tests for agent",
              "message": "A test message",
              "durationInNanoSeconds": 1540540,
              "testRawDataPath": "path-to-output-report-files"
          }
      ]
  }
  ```

# Autorisations de groupe de rapports partagés
<a name="report-groups-sharing-perms"></a>

## Autorisations accordées aux propriétaires
<a name="report-groups-perms-owner"></a>

Un propriétaire de groupe de rapports peut modifier le groupe de rapports et le spécifier dans un projet pour exécuter des rapports.

## Autorisations accordées aux consommateurs
<a name="report-groups-perms-consumer"></a>

Un consommateur de groupe de rapports peut afficher un groupe de rapports, ses rapports et les résultats de cas de test pour ses rapports. Un consommateur ne peut pas modifier un groupe de rapports ou ses rapports, et ne peut pas l'utiliser pour créer des rapports.

# Spécification des fichiers de test
<a name="report-group-test-cases"></a>

 Vous spécifiez les fichiers de résultats de test et leur emplacement pour chaque groupe de rapports dans la section `reports` du fichier buildspec de votre projet de génération. Pour de plus amples informations, veuillez consulter [Reports syntax in the buildspec file](build-spec-ref.md#reports-buildspec-file). 

 Voici un exemple de section `reports` qui spécifie deux groupes de rapports pour un projet de génération. L'un est spécifié avec son ARN, l'autre avec un nom. La section `files` spécifie les fichiers qui contiennent les résultats de cas de test. La section facultative `base-directory` spécifie le répertoire où se trouvent les fichiers de cas de test. La `discard-paths` section facultative indique si les chemins d'accès aux fichiers de résultats de test chargés dans un compartiment Amazon S3 sont supprimés. 

```
reports:
  arn:aws:codebuild:your-region:your-aws-account-id:report-group/report-group-name-1: #surefire junit reports
    files:
      - '**/*'
    base-directory: 'surefire/target/surefire-reports'
    discard-paths: false
    
  sampleReportGroup: #Cucumber reports from json plugin
    files:
      - 'cucumber-json/target/cucumber-json-report.json'
    file-format: CUCUMBERJSON #Type of the report, defaults to JUNITXML
```

# Spécification des commandes de test
<a name="report-group-test-case-commands"></a>

 Vous spécifiez les commandes qui exécutent vos cas de test dans la section `commands` de votre fichier buildspec. Ces commandes exécutent les cas de test spécifiés pour vos groupes de rapports dans la section `reports` de votre fichier buildspec. Voici un exemple de section `commands` qui inclut des commandes pour exécuter les tests dans les fichiers de test : 

```
commands:
    - echo Running tests for surefire junit
    - mvn test -f surefire/pom.xml -fn
    - echo
    - echo Running tests for cucumber with json plugin
    - mvn test -Dcucumber.options="--plugin json:target/cucumber-json-report.json" -f cucumber-json/pom.xml -fn
```

Pour de plus amples informations, veuillez consulter [Syntaxe d'un fichier buildspec](build-spec-ref.md#build-spec-ref-syntax).

# Marquer un groupe de rapports dans AWS CodeBuild
<a name="how-to-tag-report-group"></a>

Une *balise* est une étiquette d'attribut personnalisée que vous attribuez ou AWS assignez à une AWS ressource. Chaque AWS étiquette comporte deux parties :
+ Une *clé de balise* (par exemple, `CostCenter`, `Environment`, `Project` ou `Secret`). Les touches de tag distinguent les majuscules et minuscules.
+ Un champ facultatif appelé *valeur de balise* (par exemple, `111122223333`, `Production` ou le nom d’une équipe). Omettre la valeur de balise équivaut à l’utilisation d’une chaîne vide. Les valeurs de balise sont sensibles à la casse, tout comme les clés de balise.

Ensemble, ces éléments sont connus sous le nom de paires clé-valeur. Pour les limites sur le nombre de balises que vous pouvez avoir dans un groupe de rapports et les restrictions sur les valeurs et clés de balise, consultez [Étiquettes](limits.md#tag-limits).

Les balises vous aident à identifier et à organiser vos AWS ressources. De nombreux AWS services prennent en charge le balisage. Vous pouvez donc attribuer le même tag aux ressources de différents services pour indiquer que les ressources sont liées. Par exemple, vous pouvez attribuer la même balise à un groupe de CodeBuild rapports que celle que vous attribuez à un compartiment Amazon S3. Pour de plus amples informations sur l'utilisation de balises, veuillez consulter le livre blanc sur les [bonnes pratiques de balisage](https://d1.awsstatic.com/whitepapers/aws-tagging-best-practices.pdf). 

Dans CodeBuild, les ressources principales sont le groupe de rapports et le projet. Vous pouvez utiliser la CodeBuild console, le AWS CLI CodeBuild APIs, ou AWS SDKs pour ajouter, gérer et supprimer des balises pour un groupe de rapports. Outre l'identification, l'organisation et le suivi de votre groupe de rapports à l'aide de balises, vous pouvez utiliser des balises dans les politiques IAM pour contrôler qui peut consulter votre groupe de rapports et interagir avec celui-ci. Pour obtenir des exemples de stratégies d'accès basées sur les balises, consultez [Utilisation de balises pour contrôler l'accès aux AWS CodeBuild ressources](auth-and-access-control-using-tags.md).

**Topics**
+ [Ajouter des balises à un groupe de rapports](how-to-tag-report-group-add.md)
+ [Afficher les balises d'un groupe de rapports](how-to-tag-report-group-list.md)
+ [Modifier les balises d'un groupe de rapports](how-to-tag-report-group-update.md)
+ [Supprimer des balises d'un groupe de rapports](how-to-tag-report-group-delete.md)

# Ajouter des balises à un groupe de rapports
<a name="how-to-tag-report-group-add"></a>

L'ajout de balises à un groupe de rapports peut vous aider à identifier et à organiser vos AWS ressources et à gérer l'accès à celles-ci. Tout d'abord, vous ajoutez une ou plusieurs balises (paires clé-valeur) à un groupe de rapports. N'oubliez pas qu'il y a des limites sur le nombre de balises que vous pouvez avoir dans un groupe de rapports. Il existe des restrictions sur les caractères que vous pouvez utiliser dans les champs clé et valeur. Pour de plus amples informations, veuillez consulter [Étiquettes](limits.md#tag-limits). Une fois que vous avez des balises, vous pouvez créer des politiques IAM pour gérer l'accès au groupe de rapports en fonction de ces balises. Vous pouvez utiliser la CodeBuild console ou le AWS CLI pour ajouter des balises à un groupe de rapports. 

**Important**  
L'ajout de balises à un groupe de rapports peut avoir un impact sur l'accès au groupe de rapports. Avant d'ajouter une balise à un groupe de rapports, assurez-vous de consulter les politiques IAM susceptibles d'utiliser des balises pour contrôler l'accès aux ressources telles que les groupes de rapports. Pour obtenir des exemples de stratégies d'accès basées sur les balises, consultez [Utilisation de balises pour contrôler l'accès aux AWS CodeBuild ressources](auth-and-access-control-using-tags.md).

Pour plus d'informations sur l'ajout de balises à un groupe de rapports lorsque vous le créez, consultez [Créer un groupe de rapports (console)](report-group-create.md#test-report-group-create-console).

**Topics**
+ [Ajouter une balise à un groupe de rapports (console)](#how-to-tag-report-group-add-console)
+ [Ajouter une balise à un groupe de rapports (AWS CLI)](#how-to-tag-report-group-add-cli)

## Ajouter une balise à un groupe de rapports (console)
<a name="how-to-tag-report-group-add-console"></a>

Vous pouvez utiliser la CodeBuild console pour ajouter une ou plusieurs balises à un groupe de CodeBuild rapports. 

1. Ouvrez la CodeBuild console à l'adresse [https://console.aws.amazon.com/codebuild/](https://console.aws.amazon.com/codebuild/).

1. Dans **Report groups (Groupes de rapports)**, choisissez le nom du groupe de rapports auquel vous souhaitez ajouter des balises.

1. Dans le panneau de navigation, sélectionnez **Settings** (Paramètres).

1. Si aucune des balises n'a été ajoutée au groupe de rapports, choisissez **Add tag (Ajouter une balise)**. Vous pouvez également choisir **Modifier**, puis **Ajouter une balise**.

1. Dans **Key (Clé)**, entrez un nom de balise. Vous pouvez ajouter une valeur en option pour la balise dans **Value (Valeur)**. 

1. (Facultatif) Pour ajouter une autre balise, choisissez à nouveau **Add tag (Ajouter une balise)**.

1. Lorsque vous avez fini d'ajouter des balises, choisissez **Submit (Envoyer)**.

## Ajouter une balise à un groupe de rapports (AWS CLI)
<a name="how-to-tag-report-group-add-cli"></a>

Pour ajouter une balise à un groupe de rapports lorsque vous le créez, veuillez consulter [Création d'un groupe de rapports (CLI)](report-group-create.md#test-report-group-create-cli). Dans `CreateReportGroup.json`, ajoutez vos balises.

 Pour ajouter des balises à un groupe de rapports existant, veuillez consulter [Mise à jour d'un groupe de rapports (CLI)](report-group-export-settings.md#update-report-group-cli) et ajoutez vos balises dans `UpdateReportGroupInput.json`. 

Dans ces étapes, nous supposons que vous avez déjà installé une version récente de l’ AWS CLI ou que vous avez procédé à une mise à jour vers la version actuelle. Pour plus d’informations, consultez [Installing the AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/installing.html) (Installation de).

# Afficher les balises d'un groupe de rapports
<a name="how-to-tag-report-group-list"></a>

Les balises peuvent vous aider à identifier et à organiser vos AWS ressources et à gérer l'accès à celles-ci. Pour de plus amples informations sur l'utilisation de balises, veuillez consulter le livre blanc sur les [bonnes pratiques de balisage](https://d1.awsstatic.com/whitepapers/aws-tagging-best-practices.pdf). Pour obtenir des exemples de stratégies d'accès basées sur les balises, consultez [Deny or allow actions on report groups based on resource tags](auth-and-access-control-using-tags.md#report-group-tag-policy-example).

## Afficher les balises d'un groupe de rapports (console)
<a name="how-to-tag-report-group-list-console"></a>

Vous pouvez utiliser la CodeBuild console pour afficher les balises associées à un groupe de CodeBuild rapports. 

1. Ouvrez la CodeBuild console à l'adresse [https://console.aws.amazon.com/codebuild/](https://console.aws.amazon.com/codebuild/).

1. Dans **Groupes de rapports**, choisissez le nom du groupe de rapports dans lequel vous souhaitez afficher les balises.

1. Dans le panneau de navigation, sélectionnez **Settings** (Paramètres).

## Afficher les balises d'un groupe de rapports (AWS CLI)
<a name="how-to-tag-report-group-list-cli"></a>

Procédez comme suit pour utiliser le AWS CLI afin d'afficher les AWS balises d'un groupe de rapports. Si aucune balise n'a été ajoutée, la liste des balises renvoyées est vide.

1.  Utilisez la console ou le AWS CLI pour localiser l'ARN de votre groupe de rapports. Prenez-en note. 

------
#### [ AWS CLI ]

    Exécutez la commande suivante. 

   ```
   aws list-report-groups
   ```

    Cette commande renvoie des informations au format JSON semblables à ce qui suit : 

   ```
   {
       "reportGroups": [
           "arn:aws:codebuild:region:123456789012:report-group/report-group-1",
           "arn:aws:codebuild:region:123456789012:report-group/report-group-2",
           "arn:aws:codebuild:region:123456789012:report-group/report-group-3"
       ]
   }
   ```

   Un ARN de groupe de rapports se termine par son nom, que vous pouvez utiliser pour identifier l'ARN de votre groupe de rapports.

------
#### [ Console ]

   1. Ouvrez la CodeBuild console à l'adresse [https://console.aws.amazon.com/codebuild/](https://console.aws.amazon.com/codebuild/).

   1. Dans **Groupes de rapports**, choisissez le nom de votre groupe de rapports avec les balises que vous souhaitez afficher.

   1.  Dans **Configuration** recherchez l'ARN de votre groupe de rapports. 

------

1.  Exécutez la commande suivante. Utilisez l'ARN dont vous avez fait une note pour le paramètre `--report-group-arns`. 

   ```
   aws codebuild batch-get-report-groups --report-group-arns arn:aws:codebuild:region:123456789012:report-group/report-group-name
   ```

    En cas de succès, cette commande renvoie des informations au format JSON qui contiennent une section `tags` similaire à la suivante : 

   ```
   {
       ...                        
       "tags": {
           "Status": "Secret",
           "Project": "TestBuild"
       }
       ...
   }
   ```

# Modifier les balises d'un groupe de rapports
<a name="how-to-tag-report-group-update"></a>

Vous pouvez modifier la valeur d'une balise associée à un groupe de rapports. Vous pouvez également modifier le nom de la clé, ce qui équivaut à supprimer la balise et à ajoutant une carte différente avec le nouveau nom et la même valeur que l’autre clé. N'oubliez pas qu'il y a des limites sur les caractères que vous pouvez utiliser dans les champs clé et valeur. Pour de plus amples informations, veuillez consulter [Étiquettes](limits.md#tag-limits).

**Important**  
La modification des balises d'un groupe de rapports peut avoir un impact sur l'accès au groupe de rapports. Avant de modifier le nom (clé) ou la valeur d'une balise pour un groupe de rapports, assurez-vous de consulter les politiques IAM susceptibles d'utiliser la clé ou la valeur d'une balise pour contrôler l'accès aux ressources telles que les groupes de rapports. Pour obtenir des exemples de stratégies d'accès basées sur les balises, consultez [Deny or allow actions on report groups based on resource tags](auth-and-access-control-using-tags.md#report-group-tag-policy-example).

## Modifier une balise pour un groupe de rapports (console)
<a name="how-to-tag-report-group-update-console"></a>

Vous pouvez utiliser la CodeBuild console pour modifier les balises associées à un groupe de CodeBuild rapports. 

1. Ouvrez la CodeBuild console à l'adresse [https://console.aws.amazon.com/codebuild/](https://console.aws.amazon.com/codebuild/).

1. Dans **Groupes de rapports**, choisissez le nom du groupe de rapports dont vous souhaitez modifier les balises.

1. Dans le panneau de navigation, sélectionnez **Settings** (Paramètres).

1. Choisissez **Modifier**.

1. Effectuez l’une des actions suivantes :
   + Pour modifier la balise, entrez un nouveau nom dans **Key (Clé)**. La modification du nom de la balise est l'équivalent de la suppression d'une balise et de l'ajout d'une nouvelle balise avec le nouveau nom de clé.
   + Pour modifier la valeur d'une balise, saisissez une nouvelle valeur. Si vous souhaitez modifier la valeur en valeur nulle, supprimez la valeur actuelle et laissez le champ vide.

1. Lorsque vous avez terminé de modifier des balises, choisissez **Submit (Soumettre)**.

## Modifier les balises d'un groupe de rapports (AWS CLI)
<a name="how-to-tag-report-group-update-cli"></a>

 Pour ajouter, modifier ou supprimer des balises d'un groupe de rapports, veuillez consulter [Mise à jour d'un groupe de rapports (CLI)](report-group-export-settings.md#update-report-group-cli). Mettez à jour les balises dans `UpdateReportGroupInput.json`. 

# Supprimer des balises d'un groupe de rapports
<a name="how-to-tag-report-group-delete"></a>

Vous pouvez supprimer une ou plusieurs balises associées à un groupe de rapports. La suppression d'un tag ne supprime pas le tag des autres AWS ressources associées à ce tag.

**Important**  
La suppression de balises pour un groupe de rapports peut avoir un impact sur l'accès au groupe de rapports. Avant de supprimer une balise d'un groupe de rapports, assurez-vous de passer en revue les politiques IAM susceptibles d'utiliser la clé ou la valeur d'une balise pour contrôler l'accès aux ressources telles que les groupes de rapports. Pour obtenir des exemples de stratégies d'accès basées sur les balises, consultez [Utilisation de balises pour contrôler l'accès aux AWS CodeBuild ressources](auth-and-access-control-using-tags.md).

## Supprimer une balise d'un groupe de rapports (console)
<a name="how-to-tag-report-group-delete-console"></a>

Vous pouvez utiliser la CodeBuild console pour supprimer l'association entre une balise et un groupe de CodeBuild rapports. 

1. Ouvrez la CodeBuild console à l'adresse [https://console.aws.amazon.com/codebuild/](https://console.aws.amazon.com/codebuild/).

1. Dans **Groupes de rapports**, choisissez le nom du groupe de rapports dans lequel vous souhaitez supprimer les balises.

1. Dans le panneau de navigation, sélectionnez **Settings** (Paramètres).

1. Choisissez **Modifier**.

1. Trouvez la balise que vous voulez supprimer, puis choisissez **Remove tag (Supprimer une balise)**.

1. Lorsque vous avez terminé de supprimer les balises, choisissez **Submit (Envoyer)**.

## Supprimer une balise d'un groupe de rapports (AWS CLI)
<a name="how-to-tag-report-group-delete-cli"></a>

Procédez comme suit pour utiliser le AWS CLI pour supprimer une balise d'un groupe de CodeBuild rapports. La suppression d'une balise supprime uniquement son association au groupe de rapports, mais pas la balise en elle-même. 

**Note**  
Si vous supprimez un groupe de CodeBuild rapports, toutes les associations de balises sont supprimées du groupe de rapports supprimé. Vous n'avez pas besoin de supprimer les balises avant de supprimer un groupe de rapports.

 Pour supprimer une ou plusieurs balises d'un groupe de rapports, reportez-vous à la section [Modifier les balises d'un groupe de rapports (AWS CLI)](how-to-tag-report-group-update.md#how-to-tag-report-group-update-cli). Mettez à jour la `tags` section dans les données formatées JSON avec une liste mise à jour de balises qui ne contient pas celles que vous souhaitez supprimer. Si vous souhaitez supprimer toutes les balises, mettez à jour la section `tags` pour :

```
"tags: []"
```

# Mise à jour d'un groupe de rapports
<a name="report-group-export-settings"></a>

 Lorsque vous mettez à jour un groupe de rapports, vous pouvez indiquer s'il convient d'exporter les données brutes des résultats de test vers des fichiers d'un compartiment Amazon S3. Si vous choisissez d'exporter vers un compartiment S3, vous pouvez spécifier les éléments suivants pour votre groupe de rapports : 
+ Indique si les fichiers de résultats de test bruts sont compressés dans un fichier ZIP.
+ Indique si les fichiers de résultats de test bruts sont chiffrés. Vous pouvez spécifier le chiffrement avec l'une des options suivantes :
  + Et Clé gérée par AWS pour Amazon S3. 
  + Une clé gérée par le client que vous créez et configurez.

Pour de plus amples informations, veuillez consulter [Chiffrement des données](security-encryption.md). 

Si vous utilisez le AWS CLI pour mettre à jour un groupe de rapports, vous pouvez également mettre à jour ou ajouter des balises. Pour de plus amples informations, veuillez consulter [Marquer un groupe de rapports dans AWS CodeBuildBaliser un groupe de rapports](how-to-tag-report-group.md).

**Note**  
Le rôle CodeBuild de service spécifié dans le projet est utilisé pour les autorisations de téléchargement vers le compartiment S3.

**Topics**
+ [Mise à jour d'un groupe de rapports (console)](#update-report-group-console)
+ [Mise à jour d'un groupe de rapports (CLI)](#update-report-group-cli)

## Mise à jour d'un groupe de rapports (console)
<a name="update-report-group-console"></a>

Utilisez la procédure suivante pour mettre à jour un groupe de rapports à l'aide du AWS Management Console.

**Pour mettre à jour un groupe de rapports**

1. Ouvrez la AWS CodeBuild console sur [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home).

1.  Dans le panneau de navigation, sélectionnez **Groupes de rapports**. 

1. Choisissez le groupe de rapports que vous souhaitez mettre à jour. 

1. Choisissez **Modifier**.

1. Sélectionnez ou désactivez **Backup to Amazon S3**. Si vous avez sélectionné cette option, spécifiez vos paramètres d'exportation :

   1. Pour le **nom du compartiment S3**, entrez le nom du compartiment S3. 

   1. Pour **Préfixe du chemin d'accès**, entrez le chemin de votre compartiment S3 où vous souhaitez télécharger les résultats de vos tests. 

   1. Sélectionnez **Compresser les données de résultats de test dans un fichier zip** pour compresser vos fichiers de données de résultats de test bruts. 

   1. Développez **Configuration supplémentaire** pour afficher les options de chiffrement. Sélectionnez l’une des méthodes suivantes : 
      + **Clé AWS gérée par défaut** à utiliser Clé gérée par AWS pour Amazon S3. Pour plus d'informations, consultez la section [Gestion des clients CMKs](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) dans le *guide de AWS Key Management Service l'utilisateur*. Il s'agit de l'option de chiffrement par défaut.
      + **Choisissez une clé personnalisée** pour utiliser une clé gérée par le client que vous créez et configurez. Pour la **clé de AWS KMS chiffrement**, entrez l'ARN de votre clé de chiffrement. Son format est ` arn:aws:kms:<region-id>: <aws-account-id>:key/<key-id> `. Pour de plus amples informations, veuillez consulter [Création de clés KMS](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html) dans le *Guide de l'utilisateur AWS Key Management Service *. 
      + **Désactivez le chiffrement des artefacts** pour désactiver le chiffrement. Vous pouvez choisir cette option si vous souhaitez partager vos résultats de test ou les publier sur un site web statique. (Un site web dynamique peut exécuter du code pour déchiffrer les résultats des tests.)

## Mise à jour d'un groupe de rapports (CLI)
<a name="update-report-group-cli"></a>

Utilisez la procédure suivante pour mettre à jour un groupe de rapports à l'aide du AWS CLI.

**Pour mettre à jour un groupe de rapports**

1. Créez un fichier nommé `UpdateReportGroupInput.json`.

1. Copiez ce qui suit dans `UpdateReportGroupInput.json` : 

   ```
   {
       "arn": "",
       "exportConfig": {
           "exportConfigType": "S3",
           "s3Destination": {
               "bucket": "bucket-name", 
               "path": "path", 
               "packaging": "NONE | ZIP",
               "encryptionDisabled": "false",
               "encryptionKey": "your-key"
            }
        },
        "tags": [
           {
               "key": "tag-key",
               "value": "tag-value"
           }
        ]
   }
   ```

1. Entrez l'ARN de votre groupe de rapports dans la ligne `arn` (par exemple, `"arn":"arn:aws:codebuild:region:123456789012:report-group/report-group-1")`). 

1. Mettez à jour `UpdateReportGroupInput.json` avec les mises à jour que vous souhaitez appliquer à votre groupe de rapports. 
   + Si vous souhaitez mettre à jour votre groupe de rapports pour exporter les fichiers de résultats de test bruts vers un compartiment S3, mettez à jour la section `exportConfig`. Remplacez `bucket-name` par le nom de votre compartiment S3 et `path` par le chemin d'accès de votre compartiment S3 vers l'endroit où vous souhaitez exporter les fichiers. Si vous souhaitez compresser les fichiers exportés, pour `packaging`, spécifiez `ZIP`. Sinon, spécifiez `NONE`. Utilisez `encryptionDisabled` de spécifier si les fichiers exportés doivent être chiffrés. Si vous cryptez les fichiers exportés, entrez votre clé gérée par le client.
   + Si vous souhaitez mettre à jour votre groupe de rapports afin qu'il n'exporte pas les fichiers de résultats de test bruts vers un compartiment S3, mettez à jour la section `exportConfig` avec le code JSON suivant : 

     ```
     { 
       "exportConfig": {
           "exportConfigType": "NO_EXPORT"
       }
     }
     ```
   + Si vous souhaitez mettre à jour les balises du groupe de rapports, mettez à jour la section `tags`. Vous pouvez modifier, ajouter ou supprimer des balises. Si vous voulez supprimer toutes les balises, mettez-le à jour avec le JSON suivant : 

     ```
     "tags": []
     ```

1.  Exécutez la commande suivante : 

   ```
   aws codebuild update-report-group \
   --cli-input-json file://UpdateReportGroupInput.json
   ```

# Cadres de test
<a name="test-framework-reporting"></a>

Les rubriques de cette section montrent comment configurer les rapports de test dans AWS CodeBuild différents frameworks de test.

**Topics**
+ [Configurer les rapports de test avec Jasmine](test-report-jasmine.md)
+ [Configurer les rapports de test avec Jest](test-report-jest.md)
+ [Configurer les rapports de test avec pytest](test-report-pytest.md)
+ [Configurez les rapports de test avec RSpec](test-report-rspec.md)

# Configurer les rapports de test avec Jasmine
<a name="test-report-jasmine"></a>

La procédure suivante explique comment configurer les rapports de test dans le framework AWS CodeBuild de test [JasmineBDD](http://jasmine.github.io/). 

La procédure nécessite les conditions préalables suivantes :
+ Vous avez un CodeBuild projet existant.
+ Votre projet est un projet Node.js qui est configuré pour utiliser le cadre de test Jasmine.

Ajoutez le package [https://www.npmjs.com/package/jasmine-reporters](https://www.npmjs.com/package/jasmine-reporters) à la section `devDependencies` du fichier `package.json` de votre projet. Ce paquet contient une collection de classes de JavaScript reporter qui peuvent être utilisées avec Jasmine. 

```
npm install --save-dev jasmine-reporters
```

S'il n'est pas déjà présent, ajoutez le script `test` au fichier `package.json` de votre projet. Le `test` script garantit que Jasmine est appelée lors de **npm test** son exécution.

```
{
  "scripts": {
    "test": "npx jasmine"
  }
}
```

CodeBuild prend en charge les reporters de test Jasmine suivants :

**JUnitXmlReporter**  
Permet de générer des rapports au format `JunitXml`.

**NUnitXmlReporter**  
Permet de générer des rapports au format `NunitXml`.

Un projet Node.js avec Jasmine aura, par défaut, un sous-répertoire `spec`, qui contient la configuration de Jasmine et les scripts de test. 

Pour configurer Jasmine pour générer des rapports au `JunitXML` format, instanciez le `JUnitXmlReporter` rapporteur en ajoutant le code suivant à vos tests. 

```
var reporters = require('jasmine-reporters');

var junitReporter = new reporters.JUnitXmlReporter({
  savePath: <test report directory>,
  filePrefix: <report filename>,
  consolidateAll: true
});

jasmine.getEnv().addReporter(junitReporter);
```

Pour configurer Jasmine pour générer des rapports au `NunitXML` format, instanciez le `NUnitXmlReporter` rapporteur en ajoutant le code suivant à vos tests. 

```
var reporters = require('jasmine-reporters');

var nunitReporter = new reporters.NUnitXmlReporter({
  savePath: <test report directory>,
  filePrefix: <report filename>,
  consolidateAll: true
});

jasmine.getEnv().addReporter(nunitReporter)
```

Les rapports de test sont exportés vers le fichier spécifié par*<test report directory>*/*<report filename>*.

Dans votre fichier `buildspec.yml`, ajouter/mettez à jour les sections suivantes.

```
version: 0.2

phases:
  pre_build:
    commands:
      - npm install
  build:
    commands:
      - npm build
      - npm test

reports:
  jasmine_reports:
    files:
      - <report filename>
    file-format: JUNITXML
    base-directory: <test report directory>
```

Si vous utilisez le format de rapport `NunitXml`, modifiez la valeur `file-format` comme suit.

```
    file-format: NUNITXML
```

# Configurer les rapports de test avec Jest
<a name="test-report-jest"></a>

La procédure suivante explique comment configurer les rapports de test dans le [framework AWS CodeBuild de test Jest](https://jestjs.io/). 

La procédure nécessite les conditions préalables suivantes :
+ Vous avez un CodeBuild projet existant.
+ Votre projet est un projet Node.js qui est configuré pour utiliser le cadre de test Jest.

Ajoutez le [https://www.npmjs.com/package/jest-junit](https://www.npmjs.com/package/jest-junit)package à la `devDependencies` section du `package.json` fichier de votre projet. CodeBuild utilise ce package pour générer des rapports au `JunitXml` format.

```
npm install --save-dev jest-junit
```

S'il n'est pas déjà présent, ajoutez le script `test` au fichier `package.json` de votre projet. Le `test` script garantit que Jest est appelé lors **npm test** de son exécution.

```
{
  "scripts": {
    "test": "jest"
  }
}
```

Configurez Jest pour utiliser le reporter `JunitXml` en ajoutant ce qui suit à votre fichier de configuration Jest. Si votre projet ne possède pas de fichier de configuration Jest, créez un fichier nommé `jest.config.js` à la racine de votre projet et ajoutez ce qui suit. Les rapports de test sont exportés vers le fichier spécifié par*<test report directory>*/*<report filename>*.

```
module.exports = {
  reporters: [
    'default',
    [ 'jest-junit', {
      outputDirectory: <test report directory>,
      outputName: <report filename>,
    } ]
  ]
};
```

Dans votre fichier `buildspec.yml`, ajouter/mettez à jour les sections suivantes.

```
version: 0.2

phases:
  pre_build:
    commands:
      - npm install
  build:
    commands:
      - npm build
      - npm test

reports:
  jest_reports:
    files:
      - <report filename>
    file-format: JUNITXML
    base-directory: <test report directory>
```

# Configurer les rapports de test avec pytest
<a name="test-report-pytest"></a>

La procédure suivante montre comment configurer les rapports de test dans le [framework AWS CodeBuild de test pytest](https://docs.pytest.org/). 

La procédure nécessite les conditions préalables suivantes :
+ Vous avez un CodeBuild projet existant.
+ Votre projet est un projet Python qui est configuré pour utiliser le cadre de test pytest.

Ajoutez l'entrée suivante à la phase `build` ou `post_build` de votre fichier `buildspec.yml`. Ce code découvre automatiquement les tests dans le répertoire en cours et exporte les rapports de test vers le fichier spécifié par*<test report directory>*/*<report filename>*. Le rapport utilise le format `JunitXml`.

```
      - python -m pytest --junitxml=<test report directory>/<report filename>
```

Dans votre fichier `buildspec.yml`, ajouter/mettez à jour les sections suivantes.

```
version: 0.2

phases:
  install:
    runtime-versions:
      python: 3.7
    commands:
      - pip3 install pytest
  build:
    commands:
      - python -m pytest --junitxml=<test report directory>/<report filename>

reports:
  pytest_reports:
    files:
      - <report filename>
    base-directory: <test report directory>
    file-format: JUNITXML
```

# Configurez les rapports de test avec RSpec
<a name="test-report-rspec"></a>

La procédure suivante explique comment configurer les rapports de test dans AWS CodeBuild le [cadre de RSpec test](https://rspec.info/). 

La procédure nécessite les conditions préalables suivantes :
+ Vous avez un CodeBuild projet existant.
+ Votre projet est un projet Ruby configuré pour utiliser le framework de RSpec test.

Ajoutez/mettez à jour ce qui suit dans votre fichier `buildspec.yml`. Ce code exécute les tests dans le *<test source directory>* répertoire et exporte les rapports de test vers le fichier spécifié par*<test report directory>*/*<report filename>*. Le rapport utilise le format `JunitXml`.

```
version: 0.2

phases:
  install:
    runtime-versions:
      ruby: 2.6
  pre_build:
    commands:
      - gem install rspec
      - gem install rspec_junit_formatter
  build:
    commands:
      - rspec <test source directory>/* --format RspecJunitFormatter --out <test report directory>/<report filename>
reports:
    rspec_reports:
        files:
            - <report filename>
        base-directory: <test report directory>
        file-format: JUNITXML
```

# Affichage des rapports de test
<a name="test-view-reports"></a>

 Vous pouvez afficher des détails sur un rapport de test, tels que des informations sur ses cas de test, ses nombres de réussite et d'échec, et la durée de son exécution. Vous pouvez consulter les rapports de test regroupés par build, par groupe de rapports ou par AWS compte. Choisissez un rapport de test dans la console pour afficher les détails et les résultats de ses scénarios de test. 

 Vous pouvez afficher les rapports de test qui n'ont pas expiré. Les rapports de test expirent 30 jours après leur création. Vous ne pouvez pas afficher un rapport expiré dans CodeBuild. 

**Topics**
+ [Affichage des rapports de test d'une génération](test-view-project-reports.md)
+ [Affichage des rapports de test d'un groupe de rapports](test-view-report-group-reports.md)
+ [Afficher les rapports de test dans votre AWS compte](test-view-account-reports.md)

# Affichage des rapports de test d'une génération
<a name="test-view-project-reports"></a>

**Pour afficher les rapports de test d'une génération**

1. Ouvrez la AWS CodeBuild console sur [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home).

1.  Localisez la génération que vous souhaitez afficher. Si vous connaissez le projet qui a exécuté la génération qui a créé le rapport de test : 

   1.  Dans le panneau de navigation, choisissez **Créer des projets**, puis choisissez le projet avec la génération qui a exécuté le rapport de test que vous souhaitez afficher. 

   1.  Choisissez **Générer l'historique**, puis choisissez la génération exécutée qui a créé les rapports que vous souhaitez afficher. 

    Vous pouvez également localiser la génération dans l'historique de génération de votre compte AWS  : 

   1.  Dans le panneau de navigation, choisissez **Historique de génération**, puis choisissez la génération qui a créé les rapports de test que vous souhaitez afficher. 

1. Dans la page de génération, choisissez **Rapports**, puis choisissez un rapport de test pour afficher ses détails.

# Affichage des rapports de test d'un groupe de rapports
<a name="test-view-report-group-reports"></a>

**Pour afficher des rapports de test dans un groupe de rapports**

1. Ouvrez la AWS CodeBuild console sur [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home).

1.  Dans le panneau de navigation, sélectionnez **Groupes de rapports**.

1. Choisissez le groupe de rapports qui contient les rapports de test à afficher. 

1.  Choisissez un rapport de test pour voir ses détails. 

# Afficher les rapports de test dans votre AWS compte
<a name="test-view-account-reports"></a>



**Pour consulter les rapports de test dans votre AWS compte**

1. Ouvrez la AWS CodeBuild console sur [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home).

1.  Dans le panneau de navigation, sélectionnez **Historique des événements**. 

1.  Choisissez un rapport de test pour voir ses détails. 

# Autorisations relatives aux rapports de test
<a name="test-permissions"></a>

 Cette rubrique décrit des informations importantes sur les autorisations liées aux rapports de test. 

**Topics**
+ [Rôle IAM pour les rapports de test](#test-permissions-required)
+ [Autorisations pour les opérations de rapports de test](#test-permissions-related-to-reporting)
+ [Exemples d'autorisations de rapport de test](#test-permissions-examples)

## Rôle IAM pour les rapports de test
<a name="test-permissions-required"></a>

Pour exécuter un rapport de test et mettre à jour un projet de façon à inclure des rapports de test, votre rôle IAM requiert les autorisations suivantes. Ces autorisations sont incluses dans les politiques AWS gérées prédéfinies. Si vous souhaitez ajouter des rapports de test à un projet de génération existant, vous devez ajouter ces autorisations vous-même.
+ `CreateReportGroup` 
+ `CreateReport` 
+ `UpdateReport` 
+ `BatchPutTestCases` 

Pour exécuter un rapport de couverture de code, votre rôle IAM doit également inclure l'`BatchPutCodeCoverages`autorisation.

**Note**  
`BatchPutTestCases`, `CreateReport``UpdateReport`, et ne `BatchPutCodeCoverages` sont pas des autorisations publiques. Vous ne pouvez pas appeler une AWS CLI commande ou une méthode du SDK correspondante pour ces autorisations. 

Pour vous assurer que vous disposez de ces autorisations, vous pouvez associer la politique suivante à votre rôle IAM : 

```
{
    "Effect": "Allow",
    "Resource": [
        "*"
    ],
    "Action": [
        "codebuild:CreateReportGroup",
        "codebuild:CreateReport",
        "codebuild:UpdateReport",
        "codebuild:BatchPutTestCases",
        "codebuild:BatchPutCodeCoverages"
    ]
}
```

Nous vous recommandons de limiter cette stratégie aux groupes de rapports que vous devez utiliser. Ce qui suit restreint les autorisations aux seuls groupes de rapports dont les deux sont inclus ARNs dans la politique : 

```
{
    "Effect": "Allow",
    "Resource": [
        "arn:aws:codebuild:your-region:your-aws-account-id:report-group/report-group-name-1",
        "arn:aws:codebuild:your-region:your-aws-account-id:report-group/report-group-name-2"
    ],
    "Action": [
        "codebuild:CreateReportGroup",
        "codebuild:CreateReport",
        "codebuild:UpdateReport",
        "codebuild:BatchPutTestCases",
        "codebuild:BatchPutCodeCoverages"
    ]
}
```

Ce qui suit restreint les autorisations aux groupes de rapports créés en exécutant des versions d'un projet nommé `my-project` : 

```
{
    "Effect": "Allow",
    "Resource": [
        "arn:aws:codebuild:your-region:your-aws-account-id:report-group/my-project-*"
    ],
    "Action": [
        "codebuild:CreateReportGroup",
        "codebuild:CreateReport",
        "codebuild:UpdateReport",
        "codebuild:BatchPutTestCases",
        "codebuild:BatchPutCodeCoverages"
    ]
}
```

**Note**  
Le rôle CodeBuild de service spécifié dans le projet est utilisé pour les autorisations de téléchargement vers le compartiment S3.

## Autorisations pour les opérations de rapports de test
<a name="test-permissions-related-to-reporting"></a>

 Vous pouvez spécifier des autorisations pour les opérations d' CodeBuild API de rapports de test suivantes : 
+  `BatchGetReportGroups` 
+  `BatchGetReports` 
+  `CreateReportGroup` 
+  `DeleteReportGroup` 
+  `DeleteReport` 
+  `DescribeTestCases` 
+  `ListReportGroups` 
+  `ListReports` 
+  `ListReportsForReportGroup` 
+  `UpdateReportGroup` 

Pour de plus amples informations, veuillez consulter [AWS CodeBuild référence aux autorisations](auth-and-access-control-permissions-reference.md).

## Exemples d'autorisations de rapport de test
<a name="test-permissions-examples"></a>

 Pour de plus amples informations sur les exemples de stratégies liées aux rapports de test, veuillez consulter les rubriques suivantes : 
+  [Autorisation d'un utilisateur à modifier un groupe de rapports](auth-and-access-control-iam-identity-based-access-control.md#customer-managed-policies-example-change-report-group) 
+  [Autorisation d'un utilisateur à créer un groupe de rapports](auth-and-access-control-iam-identity-based-access-control.md#customer-managed-policies-example-create-report-group) 
+  [Autorisation d'un utilisateur à supprimer un rapport](auth-and-access-control-iam-identity-based-access-control.md#customer-managed-policies-example-delete-report) 
+  [Autorisation d'un utilisateur à supprimer un groupe de rapports](auth-and-access-control-iam-identity-based-access-control.md#customer-managed-policies-example-delete-report-group) 
+  [Autorisation d'un utilisateur à obtenir des informations sur les groupes de rapports](auth-and-access-control-iam-identity-based-access-control.md#customer-managed-policies-get-information-about-report-group) 
+  [Autorisation d'un utilisateur à obtenir des informations sur les rapports](auth-and-access-control-iam-identity-based-access-control.md#customer-managed-policies-get-information-about-reports) 
+  [Autorisation d'un utilisateur à obtenir une liste de groupes de rapports](auth-and-access-control-iam-identity-based-access-control.md#customer-managed-policies-example-get-list-of-report-groups) 
+  [Autorisation d'un utilisateur à obtenir une liste de rapports](auth-and-access-control-iam-identity-based-access-control.md#customer-managed-policies-example-get-list-of-reports) 
+  [Autorisation d'un utilisateur à obtenir une liste de rapports pour un groupe de rapports](auth-and-access-control-iam-identity-based-access-control.md#customer-managed-policies-example-get-list-of-reports-for-report-group) 
+  [Autorisation d'un utilisateur à obtenir une liste de cas de test pour un rapport](auth-and-access-control-iam-identity-based-access-control.md#customer-managed-policies-example-get-list-of-test-cases-for-report) 

# Statuts des rapports de test
<a name="test-report"></a>

L'état d'un rapport de test peut être l'un des suivants :
+ `GENERATING` : l'exécution des cas de test est toujours en cours.
+ `DELETING` : le rapport de test est en cours de suppression. Lorsqu'un rapport de test est supprimé, ses cas de test sont également supprimés. Les fichiers de données de résultats de test bruts exportés vers un compartiment S3 ne sont pas supprimés.
+ `INCOMPLETE` : le rapport de test n'a pas été réalisé. Cet état peut être renvoyé pour l'une des raisons suivantes :
  + Problème de configuration du groupe de rapports qui spécifie les cas de test de ce rapport. Par exemple, le chemin d'accès aux cas de test sous le groupe de rapports dans le fichier buildspec peut être incorrect.
  + L'utilisateur IAM qui a exécuté la génération n'a pas les autorisations nécessaires pour exécuter des tests. Pour de plus amples informations, veuillez consulter [Autorisations relatives aux rapports de test](test-permissions.md).
  + La génération n'a pas été terminée en raison d'une erreur qui n'est pas liée aux tests.
+ `SUCCEEDED` : tous les cas de test ont été réussis.
+ `FAILED` : certains des cas de test n'ont pas réussi.

Chaque cas de test renvoie un état. L'état d'un cas de test peut être l'un des suivants :
+ `SUCCEEDED` : le cas de test a réussi.
+ `FAILED` : le cas de test a échoué.
+ `ERROR` : le cas de test a entraîné une erreur inattendue.
+ `SKIPPED` : le cas de test ne s'est pas exécuté.
+ `UNKNOWN` : le cas de test a renvoyé un état autre que `SUCCEEDED`, `FAILED`, `ERROR` ou `SKIPPED`.

Un rapport de test peut comporter un maximum de 500 résultats de cas de test. Si plus de 500 scénarios de test sont exécutés, CodeBuild hiérarchise les tests avec le statut `FAILED` et tronque les résultats du scénario de test. 