

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# でレポートをテストする AWS CodeBuild
<a name="test-reporting"></a>

ビルド時に実行したテストの詳細を含むレポートを CodeBuild で作成できます。単体テスト、設定テスト、機能テストなどのテストを作成できます。

以下のテストレポートファイル形式がサポートされています。
+ Cucumber JSON (.json)
+ JUnit XML (.xml)
+ NUnit XML (.xml)
+ NUnit3 XML (.xml)
+ TestNG XML (.xml)
+ Visual Studio TRX (.trx)
+ Visual Studio TRX XML (.xml)

**注記**  
 `cucumber-js` のサポートされている最新バージョンは 7.3.2 です。

Surefire JUnit plugin、TestNG、Cucumber などのいずれかの形式でレポートファイルを作成できる任意のテストフレームワークを使用して、テストケースを作成します。

テストレポートを作成するには、ビルドプロジェクトの buildspec ファイルにテストケースに関する情報を含むレポートグループ名を追加します。ビルドプロジェクトを実行すると、テストケースが実行され、テストレポートが作成されます。テストケースを実行するたびに、レポートグループに新しいテストレポートが作成されます。テストを実行する前にレポートグループを作成する必要はありません。レポートグループ名を指定すると、CodeBuildはレポートの実行時にレポートグループを作成します。既に存在するレポートグループを使用する場合は、buildspec ファイルでその ARN を指定します。

テストレポートを使用すると、ビルドの実行中に問題をトラブルシューティングできます。ビルドプロジェクトの複数のビルドから多数のテストレポートがある場合、テストレポートを使用してトレンドやテストと失敗率を表示し、ビルドを最適化できます。

レポートは、作成から 30 日後に有効期限が切れます。期限切れのテストレポートは表示できません。30 日以上テストレポートを保持する場合は、テスト結果の生データファイルをAmazon S3 バケットにエクスポートできます。エクスポートされたテストファイルは期限切れになりません。S3 バケットに関する情報は、レポートグループを作成するときに指定します。

**注記**  
プロジェクトで指定した CodeBuild サービスロールは、S3 バケットにアップロードするアクセス許可に使用されます。

**Topics**
+ [テストレポートの作成](report-create.md)
+ [コードカバレッジレポートを作成](code-coverage-report.md)
+ [CodeBuild でレポートを自動的に検出](report-auto-discover.md)
+ [レポートグループ](test-report-group.md)
+ [テストフレームワーク](test-framework-reporting.md)
+ [テストレポートの表示](test-view-reports.md)
+ [テストレポートのアクセス許可](test-permissions.md)
+ [テストレポートのステータス](test-report.md)

# テストレポートの作成
<a name="report-create"></a>

 テストレポートを作成するには、buildspec ファイルに 1 つから 5 つのレポートグループで設定されているビルドプロジェクトを実行します。テストレポートは、実行中に作成されます。レポートグループに対して指定されたテストケースの結果が含まれます。同じ buildspec ファイルを使用する後続のビルドごとに、新しいテストレポートが生成されます。

**テストレポートを作成するには**

1. ビルドプロジェクトを作成します。詳細については、[でのビルドプロジェクトの作成AWS CodeBuild](create-project.md) を参照してください。

1. テストレポート情報を使用してプロジェクトの buildspec ファイルを設定します。

   1. `reports:` セクションを追加し、既存のレポートグループの ARN、またはレポートグループの名前を指定します。

      ARN を指定すると、CodeBuild はそのレポートグループを使用します。

      名前を指定した場合、CodeBuild は、プロジェクト名と *<project-name>*-*<report-group-name>* の形式で指定した名前を使用してレポートグループを作成します。名前付きレポートグループが既に存在する場合、CodeBuild はそのレポートグループを使用します。

   1. レポートグループで、テスト結果が含まれるファイルの場所を指定します。複数のレポートグループを使用する場合は、各レポートグループに対してテスト結果ファイルの場所を指定します。ビルドプロジェクトを実行するたびに、新しいテストレポートが作成されます。詳細については、「[テストファイルの指定](report-group-test-cases.md)」を参照してください。

   1. `build` または `post_build` シーケンスの `commands` セクションで、レポートグループに対して指定したテストケースを実行するコマンドを指定します。詳細については、「[テストコマンドの指定](report-group-test-case-commands.md)」を参照してください。

   buildspec `reports` セクションの例を以下に示します。

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

1. ビルドプロジェクトのビルドを実行します。詳細については、「[AWS CodeBuild ビルドを手動で実行する](run-build.md)」を参照してください。

1. ビルドが完了したら、プロジェクトページの [**Build history (ビルド 履歴)**] から新しいビルド実行を選択します。[**Reports (レポート)**] を選択して、テストレポートを表示します。詳細については、「[ビルドのテストレポートの表示](test-view-project-reports.md)」を参照してください。

# コードカバレッジレポートを作成
<a name="code-coverage-report"></a>

CodeBuild を使用して、テストのコードカバレッジレポートを生成できます。次のコードカバレッジレポートが用意されています。

ラインカバレッジ  
ラインカバレッジは、テストがカバーするステートメントの数を測定します。ステートメントは、コメントや条件を含まない、単一の命令です。  
`line coverage = (total lines covered)/(total number of lines)`

ブランチカバレッジ  
ブランチカバレッジは、コントロール構造のすべてのブランチ内のテスト可能なブランチの数を測定します (「`if`」または「`case`」ステートメントなど)。  
`branch coverage = (total branches covered)/(total number of branches)`

以下のコードカバレッジレポートファイル形式がサポートされています。
+ JaCoCo XML
+ SimpleCov JSON¹
+ クローバー XML
+ Cobertura XML
+ LCOV INFO

¹ CodeBuild は、[simplecov-json](https://github.com/vicentllongo/simplecov-json) ではなく、[simplecov](https://github.com/simplecov-ruby/simplecov) によって生成された JSON コードカバレッジレポートを受け入れます。

## コードカバレッジレポートの作成
<a name="code-coverage-report-create"></a>

コードカバレッジレポートを作成するには、buildspec ファイルの最低 1 つのコードカバレッジグループで設定されているビルドプロジェクトを実行します。CodeBuild は、コードカバレッジの結果を解釈し、実行のコードカバレッジレポートを提供します。同じ buildspec ファイルを使用する後続のビルドごとに、新しいテストレポートが生成されます。

**テストレポートを作成するには**

1. ビルドプロジェクトを作成します。詳細については、「[でのビルドプロジェクトの作成AWS CodeBuild](create-project.md)」を参照してください。

1. テストレポート情報を使用してプロジェクトの buildspec ファイルを設定します。

   1. `reports:` セクションを追加し、レポートグループの名前を指定します。名前を指定した場合、CodeBuild は、プロジェクト名と指定した `project-name` - `report-group-name-in-buildspec` 形式でレポートグループを作成します。使用するレポートグループがすでにある場合は、その ARN を指定します。ARN の代わりに名前を使用する場合、CodeBuild は新しいレポートグループを作成します。詳細については、「[Reports syntax in the buildspec file](build-spec-ref.md#reports-buildspec-file)」を参照してください。

   1. レポートグループで、コードカバレッジの結果を保存するファイルの場所を指定します。複数のレポートグループを使用する場合は、各レポートグループに対して結果ファイルの場所を指定します。ビルドプロジェクトを実行するたびに、新しいコードカバレッジが作成されます。詳細については、「[テストファイルの指定](report-group-test-cases.md)」を参照してください。

      これは「test-`results/jacoco-coverage-report.xml`」にある JaCoCo XML 結果ファイルのコードカバレッジレポートを生成する例です。

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

   1. 「`build`」または「`post_build`」シーケンスの「`commands`」セクションで、コードカバレッジ分析を実行するコマンドを指定します。詳細については、「[テストコマンドの指定](report-group-test-case-commands.md)」を参照してください。

1. ビルドプロジェクトのビルドを実行します。詳細については、「[AWS CodeBuild ビルドを手動で実行する](run-build.md)」を参照してください。

1. ビルドが完了したら、プロジェクトページの [**Build history (ビルド 履歴)**] から新しいビルド実行を選択します。**レポート**を選択して、コードカバレッジレポートを表示します。詳細については、「[ビルドのテストレポートの表示](test-view-project-reports.md)」を参照してください。

# CodeBuild でレポートを自動的に検出
<a name="report-auto-discover"></a>

自動検出を使用すると、CodeBuild はビルドフェーズが完了した後にすべてのビルドファイルを検索し、サポートされているレポートファイルタイプを検索して、新しいテストおよびコードカバレッジレポートグループとレポートを自動的に作成します。CodeBuild は、検出されたレポートタイプに対して、新しいレポートグループを次のパターンで作成します。

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

**注記**  
検出されたレポートファイルが同じ形式タイプである場合、それらは同じレポートグループまたはレポートに配置されます。

レポートの自動検出は、プロジェクト環境変数によって設定されます。

`CODEBUILD_CONFIG_AUTO_DISCOVER`  
この変数は、ビルド中にレポートの自動検出を無効にするかどうかを決定します。デフォルトでは、レポートの自動検出はすべてのビルドで有効になっています。この機能を無効にするには、`CODEBUILD_CONFIG_AUTO_DISCOVER` を `false` に設定します。

`CODEBUILD_CONFIG_AUTO_DISCOVER_DIR`  
(オプション) この変数は、CodeBuild が潜在的なレポートファイルを検索する場所を決定します。CodeBuild はデフォルトで `**/*` を検索することに注意してください。

これらの環境変数は、ビルドフェーズ中に変更できます。例えば、`main` git ブランチのビルドのレポート自動検出のみを有効にする場合は、ビルドプロセス中に git ブランチをチェックし、ビルドが `main` ブランチにない場合は `CODEBUILD_CONFIG_AUTO_DISCOVER` を false に設定できます。レポートの自動検出は、コンソールまたはプロジェクト環境変数を使用して無効にできます。

**Topics**
+ [コンソールを使用してレポートの自動検出を設定](#report-auto-discover-configure-console)
+ [プロジェクト環境変数を使用してレポートの自動検出を設定](#report-auto-discover-configure-variable)

## コンソールを使用してレポートの自動検出を設定
<a name="report-auto-discover-configure-console"></a>

コンソールを使用してレポートの自動検出を設定するには、次の手順に従います。

**コンソールを使用してレポートの自動検出を設定するには**

1. ビルドプロジェクトを作成するか、編集するビルドプロジェクトを選択します。詳細については、「[でのビルドプロジェクトの作成AWS CodeBuild](create-project.md)」または「[でビルドプロジェクト設定を変更する AWS CodeBuild](change-project.md)」を参照してください。

1. **[環境]** で、**[追加設定]** を選択します。

1. レポート自動検出を無効にするには、**[レポート自動検出]** で **[レポート自動検出を無効化]** を選択します。

1. (オプション) **[自動検出ディレクトリ - オプション]** で、CodeBuild のディレクトリパターンを入力して、サポートされているレポート形式のファイルを検索します。CodeBuild はデフォルトで `**/*` を検索することに注意してください。

## プロジェクト環境変数を使用してレポートの自動検出を設定
<a name="report-auto-discover-configure-variable"></a>

プロジェクト環境変数を使用してレポートの自動検出を設定するには、次の手順に従います。

**プロジェクト環境変数を使用してレポートの自動検出を設定するには**

1. ビルドプロジェクトを作成するか、編集するビルドプロジェクトを選択します。詳細については、「[でのビルドプロジェクトの作成AWS CodeBuild](create-project.md)」または「[でビルドプロジェクト設定を変更する AWS CodeBuild](change-project.md)」を参照してください。

1. **[環境変数]** で、以下の操作を実行します。

   1. レポートの自動検出を無効にするには、**[名前]** に **CODEBUILD\$1CONFIG\$1AUTO\$1DISCOVER** を入力し、**[値]** に **false** を入力します。これにより、レポートの自動検出が無効になります。

   1. (オプション) **[名前]** に **CODEBUILD\$1CONFIG\$1AUTO\$1DISCOVER\$1DIR** を入力し、**[値]** には CodeBuild がサポートされているレポート形式のファイルを検索するディレクトリを入力します。例えば、`output/*xml` は `output` ディレクトリ内の `.xml` ファイルを検索します。

# レポートグループ
<a name="test-report-group"></a>

*レポートグループ*にはテストレポートが含まれており、共有設定を指定します。buildspec ファイルを使用して、実行するテストケースと、ビルド時に実行するコマンドを指定します。ビルドプロジェクトで設定された各レポートグループに対して、ビルドプロジェクトの実行によってテストレポートが作成されます。レポートグループで設定されたビルドプロジェクトを複数実行すると、そのレポートグループに複数のテストレポートが作成され、そのレポートグループに指定された同じテストケースの結果がそれぞれ作成されます。

 テストケースは、ビルドプロジェクトの buildspec ファイル内のレポートグループに対して指定されています。1 つのビルドプロジェクトで最大 5 つのレポートグループを指定できます。ビルドを実行すると、すべてのテストケースが実行されます。新しいテストレポートは、レポートグループに指定された各テストケースの結果で作成されます。新しいビルドを実行するたびに、テストケースが実行され、新しいテスト結果を使用して新しいテストレポートが作成されます。

 レポートグループは、複数のビルドプロジェクトで使用できます。1つのレポートグループで作成されたすべてのテストレポートは、異なるビルドプロジェクトを使用してテストレポートを作成した場合でも、エクスポートオプションやアクセス権限など、同じ設定を共有します。複数のビルドプロジェクトで 1 つのレポートグループを使用して作成されたテストレポートには、異なるテストケースセット (ビルドプロジェクトごとに 1 セットのテストケース) の実行結果を含めることができます。これは、各プロジェクトの buildspec ファイルで、レポートグループに異なるテストケースファイルを指定できるためです。また、buildspec ファイルを編集して、ビルドプロジェクトのレポートグループのテストケースファイルを変更することもできます。その後のビルド実行では、更新された buildspec のテストケースファイルの結果を含む新しいテストレポートが作成されます。

**Topics**
+ [Create a report group](report-group-create.md)
+ [Report group naming](test-report-group-naming.md)
+ [レポートグループを共有](report-groups-sharing.md)
+ [テストファイルの指定](report-group-test-cases.md)
+ [テストコマンドの指定](report-group-test-case-commands.md)
+ [でレポートグループにタグを付ける AWS CodeBuild](how-to-tag-report-group.md)
+ [レポートグループの更新](report-group-export-settings.md)

# Create a report group
<a name="report-group-create"></a>

 CodeBuild コンソール、 AWS CLI、または buildspec ファイルを使用して、レポートグループを作成できます。IAM ロールには、レポートグループを作成するために必要なアクセス権限が必要です。詳細については、「[テストレポートのアクセス許可](test-permissions.md)」を参照してください。

**Topics**
+ [レポートグループの作成 (buildspec)](#test-report-group-create-buildspec)
+ [Create a report group (console)](#test-report-group-create-console)
+ [レポートグループの作成 (CLI)](#test-report-group-create-cli)
+ [レポートグループの作成 (CloudFormation)](#test-report-group-create-cfn)

## レポートグループの作成 (buildspec)
<a name="test-report-group-create-buildspec"></a>

buildspec を使用して作成されたレポートグループは、生のテスト結果ファイルをエクスポートしません。レポートグループを表示し、エクスポート設定を指定できます。詳細については、「[レポートグループの更新](report-group-export-settings.md)」を参照してください。

**buildspec ファイルを使用してレポートグループを作成するには**

1.  AWS アカウントのレポートグループに関連付けられていないレポートグループ名を選択します。

1.  buildspec ファイルの `reports` セクションをこの名前で設定します。この例では、レポートグループ名は `new-report-group` で、ユーステストケースは JUnit フレームワークを使用して作成されます。

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

   レポートグループ名は、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'
   ```

    詳細については、「[テストファイルの指定](report-group-test-cases.md)」および「[Reports syntax in the buildspec file](build-spec-ref.md#reports-buildspec-file)」を参照してください。

1. `commands` セクションで、テストを実行するコマンドを指定します。詳細については、「[テストコマンドの指定](report-group-test-case-commands.md)」を参照してください。

1.  ビルドを実行します。ビルドが完了すると、形式 `project-name-report-group-name` を使用する名前で新しいレポートグループが作成されます。詳細については、「[Report group naming](test-report-group-naming.md)」を参照してください。



## Create a report group (console)
<a name="test-report-group-create-console"></a>

次の手順で、 AWS マネジメントコンソールを使用してレポートグループを作成します。

**レポートグループの作成**

1. [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home) で AWS CodeBuild コンソールを開きます。

1. ナビゲーションペインで、[**Report groups (レポートグループ)**] を選択します。

1. [**Create report group (レポートグループを作成)**] を選択します。

1. [**Report group name (レポートグループ名)**] に、レポートグループの名前を入力します。

1. (オプション) **タグ**には、サポート AWS サービスで使用するタグの名前と値を入力します。[**Add row**] を使用して、タグを追加します。最大 50 個のタグを追加できます。

1. テストレポート結果の raw データを Amazon S3 バケットにアップロードする場合は、次のようにします。

   1. **[Amazon S3 にエクスポート]** を選択します。

   1. [**S3 bucket name (S3 バケット名)**] に、S3 バケットの名前を入力します。

   1. (オプション)**S3 バケット所有者**で S3 バケットを所有するアカウントの AWS アカウント識別子を入力します。これにより、レポートデータを、ビルドを実行しているアカウント以外のアカウントが所有する Amazon S3 バケットにエクスポートできます。

   1. [**Path prefix (パスプレフィックス)**] に、テスト結果をアップロードする S3 バケットのパスを入力します。

   1. 生のテスト結果データファイルを圧縮するには、[**Compress test result data in a zip file (テスト結果データを圧縮する)**] を選択します。

   1. [**Additional configuration (追加の設定)**] を展開して、暗号化オプションを表示します。次のいずれかを選択します。
      + Amazon S3 AWS マネージドキー の を使用する**デフォルトの AWS マネージドキー**。詳細については、*AWS Key Management Service ユーザーガイド*の「[カスタマー マネージド CMKs](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk)」を参照してください。これはデフォルトの暗号化オプションです。
      + **カスタムキーを選択して**、ユーザーが作成して設定するカスタマー管理のキーを使用します。**AWS KMS 暗号化キー**の場合は、暗号化キーの ARN を入力します。形式は ` arn:aws:kms:<region-id>: <aws-account-id>:key/<key-id> ` です。詳細については、*AWS Key Management Service ユーザーガイド*の「[KMS キーの作成](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html)」を参照してください。
      + 暗号化を無効にするには、**アーティファクト暗号化を無効**にします。テスト結果を共有したり、静的ウェブサイトに公開したりする場合は、このオプションを選択します。(動的ウェブサイトでは、テスト結果を復号化するコードを実行できます)。

      保管時の暗号化の詳細については、「[データの暗号化](security-encryption.md)」を参照してください。
**注記**  
プロジェクトで指定した CodeBuild サービスロールは、S3 バケットにアップロードするアクセス許可に使用されます。

1. [**Create report group (レポートグループを作成)**] を選択します。

## レポートグループの作成 (CLI)
<a name="test-report-group-create-cli"></a>

次の手順で、 AWS CLIを使用してレポートグループを作成します。

**レポートグループの作成**

1. `CreateReportGroup.json` という名前のファイルを作成します。

1. 要件に応じて、以下の JSON コードスニペットのいずれかを `CreateReportGroup.json` にコピーします。
   + 次の JSON を使用して、テストレポートグループが生のテスト結果ファイルを 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>* を Amazon S3 バケット名に、*<path>* をファイルをエクスポートするバケット内のパスに置き換えます。
     + エクスポートされたファイルを `packaging` に圧縮する場合は、`ZIP` を指定します。それ以外の場合は、`NONE` を指定します。
     + `bucketOwner` はオプションで、Amazon S3 バケットがビルドを実行しているアカウント以外のアカウントによって所有されている場合にのみ必要です。
     + エクスポートされたファイルを暗号化するかどうかを指定するために `encryptionDisabled` を使用します。エクスポートしたファイルを暗号化する場合は、カスタマー管理のキーを入力します。詳細については、「[レポートグループの更新](report-group-export-settings.md)」を参照してください。
   + 次の JSON を使用して、テストレポートで生のテストファイルをエクスポートしないように指定します。

     ```
     {
       "name": "<report-name>",
       "type": "TEST",
       "exportConfig": {
         "exportConfigType": "NO_EXPORT"
       }
     }
     ```
**注記**  
プロジェクトで指定した CodeBuild サービスロールは、S3 バケットにアップロードするアクセス許可に使用されます。

1. 次のコマンドを実行します。

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

## レポートグループの作成 (CloudFormation)
<a name="test-report-group-create-cfn"></a>

 CloudFormation テンプレートを使用してレポートグループを作成するには、次の手順に従います。

 ** CloudFormation テンプレートを使用してレポートグループを作成するには** 

 CloudFormation テンプレートファイルを使用して、レポートグループを作成およびプロビジョニングできます。詳細については、「[CloudFormation ユーザーガイド](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)」を参照してください。

 次の CloudFormation YAML テンプレートは、生のテスト結果ファイルをエクスポートしないレポートグループを作成します。

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

 次の YAML テンプレートは、raw CloudFormation テスト結果ファイルを 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
```

**注記**  
プロジェクトで指定した CodeBuild サービスロールは、S3 バケットにアップロードするアクセス許可に使用されます。

# Report group naming
<a name="test-report-group-naming"></a>

 AWS CLI または AWS CodeBuild コンソールを使用してレポートグループを作成する場合は、レポートグループの名前を指定します。buildspec を使用して新しいレポートグループを作成する場合、`project-name-report-group-name-specified-in-buildspec` 形式を使用して名前が付けられます。そのビルドプロジェクトのビルドを実行することによって作成されたすべてのレポートは、新しい名前を持つ新しいレポートグループに属します。

 CodeBuild が新しいレポートグループを作成しない場合は、ビルドプロジェクトの buildspec ファイルでレポートグループの ARN を指定します。レポートグループの ARN は、複数のビルドプロジェクトで指定できます。各ビルドプロジェクトが実行されると、レポートグループには各ビルドプロジェクトによって作成されたテストレポートが含まれます。

 たとえば、`my-report-group` という名前のレポートグループを 1 つ作成し、その名前を `my-project-1` と `my-project-2` という名前の 2 つの異なるビルドプロジェクトで使用し、両方のプロジェクトのビルドを作成した場合、2 つの新しいレポートグループが作成されます。結果は、次の名前を持つ 3 つのレポートグループになります。
+  `my-report-group`: テストレポートはありません。
+  `my-project-1-my-report-group`: という名前のビルドプロジェクトによって実行されたテストの結果を含むレポートが含まれます。`my-project-1`
+  `my-project-2-my-report-group`: という名前のビルドプロジェクトによって実行されたテストの結果を含むレポートが含まれます。`my-project-2`

 両方のプロジェクトで `my-report-group` という名前のレポートグループの ARN を使用し、各プロジェクトのビルドを実行しても、1 つのレポートグループ (`my-report-group`) は残ります。そのレポートグループには、両方のビルドプロジェクトによって実行されるテストの結果を含むテストレポートが含まれます。

 AWS アカウントのレポートグループに属していないレポートグループ名を選択し、buildspec ファイル内のレポートグループにその名前を使用し、ビルドプロジェクトのビルドを実行すると、新しいレポートグループが作成されます。新しいレポートグループの名前の形式は `project-name-new-group-name` です。例えば、 AWS アカウントに という名前のレポートグループがなく`new-report-group`、 という名前のビルドプロジェクトで指定した場合`test-project`、ビルド実行によって という名前の新しいレポートグループが作成されます`test-project-new-report-group`。

# レポートグループを共有
<a name="report-groups-sharing"></a>

レポートグループ共有を使用すると、複数の AWS アカウントまたはユーザーがレポートグループ、期限切れでないレポート、およびレポートのテスト結果を表示できます。このモデルでは、レポートグループを所有するアカウント (所有者) は、レポートグループを他のアカウント (コンシューマー) と共有します。コンシューマは、レポートグループを編集できません。レポートは、作成されてから 30 日後に期限切れになります。

**Topics**
+ [レポートグループを共有](#report-groups-sharing-share)
+ [関連サービス](#report-groups-sharing-related)
+ [共有されているレポートグループにアクセス](report-groups-sharing-access-prereqs.md)
+ [共有レポートグループを共有解除](report-groups-sharing-unshare.md)
+ [共有レポートグループを識別](report-groups-sharing-identify.md)
+ [共有レポートグループのアクセス許可](report-groups-sharing-perms.md)

## レポートグループを共有
<a name="report-groups-sharing-share"></a>

 レポートグループを共有すると、コンシューマーには、レポートグループとそのレポートに対する読み取り専用アクセス権が付与されます。コンシューマーは を使用して、各レポートのレポートグループ、そのレポート、およびテストケースの結果 AWS CLI を表示できます。コンシューマは次を行うことはできません。
+  CodeBuild コンソールでの共有レポートグループまたはそのレポートの表示。
+  共有レポートグループの編集。
+  プロジェクト内の共有レポートグループの ARN を使用してレポートを実行。共有レポートグループを指定するプロジェクトのビルドが失敗します。

CodeBuild コンソールを使用して、既存のリソース共有にレポートグループを追加できます。新しいリソース共有にレポートグループを追加する場合は、まず[AWS RAM コンソール](https://console.aws.amazon.com/ram) でレポートグループを作成する必要があります。

レポートグループを組織単位または組織全体と共有するには、 AWS Organizationsとの共有を有効にする必要があります。詳細については、*AWS RAM ユーザーガイド*の「[AWS Organizationsで共有を有効化する](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html)」を参照してください。

CodeBuild コンソール、 AWS RAM コンソール、または AWS CLI を使用して、所有しているレポートグループを共有できます。

**前提条件**  
レポートグループを共有するには、 AWS アカウントがそのグループを所有している必要があります。自分と共有されているレポートグループは共有できません。

**所有するレポートグループを共有するには (CodeBuild コンソール)**

1. [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home) で AWS CodeBuild コンソールを開きます。

1. ナビゲーションペインで、[**Report groups (レポートグループ)**] を選択します。

1.  共有するプロジェクトを選択し、[**Share (共有)**] を選択します。詳細については、*AWS RAM ユーザーガイド*の「[リソースの共有の作成](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html#getting-started-sharing-create)」を参照してください。

**所有しているレポートグループを共有するには (AWS RAM コンソール)**  
「**AWS RAM ユーザーガイド」の「[リソース共有の作成](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing.html#working-with-sharing-create)」を参照してください。

**所有しているレポートグループを共有するには (AWS RAM コマンド)**  
[create-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/create-resource-share.html) コマンドを使用します。

 **所有するレポートグループを共有するには (CodeBuild コマンド)** 

[put-resource-policy](https://docs.aws.amazon.com/cli/latest/reference/codebuild/put-resource-policy.html) コマンドを使用します:

1. `policy.json` という名前のファイルを作成し、その中に次をコピーします。

------
#### [ 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. レポートグループ ARN とそれを共有する識別子で `policy.json` を更新します。次の例では、ARN を持つレポートグループへの読み取り専用アクセス`arn:aws:codebuild:us-west-2:123456789012:report-group/my-report-group`を Alice および 123456789012 で識別される AWS アカウントのルートユーザーに付与します。

------
#### [ 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. 以下のコマンドを実行してください。

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

## 関連サービス
<a name="report-groups-sharing-related"></a>

レポートグループ共有は AWS Resource Access Manager 、 AWS (AWS RAM) と統合されます。これは、リソースを任意の AWS アカウントまたは を通じて共有できるようにするサービスです AWS Organizations。では AWS RAM、リソースと共有するコンシューマーを指定する*リソース共有*を作成して、所有しているリソースを共有します。コンシューマーは、個々の AWS アカウント、 の組織単位 AWS Organizations、または の組織全体です AWS Organizations。

詳細については、「*[AWS RAM ユーザーガイド](https://docs.aws.amazon.com/ram/latest/userguide/)*」を参照してください。

# 共有されているレポートグループにアクセス
<a name="report-groups-sharing-access-prereqs"></a>

共有レポートグループにアクセスするには、コンシューマーの IAM ロールに `BatchGetReportGroups` アクセス許可が必要です。次のポリシーを IAM ロールにアタッチすることができます。

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

 詳細については、「[でのアイデンティティベースのポリシーの使用 AWS CodeBuild](auth-and-access-control-iam-identity-based-access-control.md)」を参照してください。

# 共有レポートグループを共有解除
<a name="report-groups-sharing-unshare"></a>

レポートとテストケースの結果が含まれる共有が解除されたレポートグループは、その所有者だけがアクセスできます。レポートグループの共有を解除すると、以前に共有した AWS アカウントまたはユーザーは、レポートグループ、そのレポート、またはレポート内のテストケースの結果にアクセスできなくなります。

所有するレポートグループを共有または共有を解除するには、リソース共有から削除する必要があります。これを行う AWS CLI には、 AWS RAM コンソールまたは を使用できます。

**所有している共有レポートグループの共有を解除するには (AWS RAM コンソール)**  
*AWS RAM ユーザーガイド* の「[リソース共有の更新](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing.html#working-with-sharing-update)」を参照してください。

**所有している共有レポートグループの共有を解除するには (AWS RAM コマンド)**  
[disassociate-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/disassociate-resource-share.html) コマンドを使用します。

 **CodeBuild コマンドを所有しているレポートグループの共有を解除するには)** 

[delete-resource-policy](https://docs.aws.amazon.com/cli/latest/reference/codebuild/delete-resource-policy.html) コマンドを実行し、共有を解除したいレポートグループの ARN を指定する:

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

# 共有レポートグループを識別
<a name="report-groups-sharing-identify"></a>

所有者とコンシューマーは、 AWS CLI を使用して共有レポートグループを識別できます。

共有レポートグループとそのレポートを識別して情報を取得するには、次のコマンドを使用します。
+  自分と共有されているレポートグループの ARN を表示するには、`[list-shared-report-groups](https://docs.aws.amazon.com/cli/latest/reference/codebuild/list-shared-report-groups.html)`を実行します。

  ```
  aws codebuild list-shared-report-groups
  ```
+  レポートグループ内のレポートの ARN を表示するには、レポートグループ ARN を使い `[list-reports-for-report-group](https://docs.aws.amazon.com/cli/latest/reference/codebuild/list-reports-for-report-group.html)` を実行します。

  ```
  aws codebuild list-reports-for-report-group --report-group-arn report-group-arn
  ```
+  レポート内のテストケースに関する情報を表示するには、レポート ARN を使い、`[describe-test-cases](https://docs.aws.amazon.com/cli/latest/reference/codebuild/describe-test-cases.html)` を実行します。

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

   出力は次のようになります。

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

# 共有レポートグループのアクセス許可
<a name="report-groups-sharing-perms"></a>

## 所有者のアクセス許可
<a name="report-groups-perms-owner"></a>

レポートグループの所有者は、レポートグループを編集し、プロジェクトで指定してレポートを実行できます。

## コンシューマーのアクセス許可
<a name="report-groups-perms-consumer"></a>

レポートグループのコンシューマーは、レポートグループ、そのレポート、およびレポートのテストケース結果を表示できます。コンシューマーは、レポートグループまたはそのレポートを編集したり、レポートを作成したりすることはできません。

# テストファイルの指定
<a name="report-group-test-cases"></a>

 ビルドプロジェクトの buildspec ファイルの `reports` セクションで、各レポートグループのテスト結果ファイルとその場所を指定します。詳細については、「[Reports syntax in the buildspec file](build-spec-ref.md#reports-buildspec-file)」を参照してください。

 以下は、ビルドプロジェクトの 2 つのレポートグループを指定するサンプル `reports` セクションです。1 つは ARN で指定され、もう 1 つは名前で指定されます。`files` セクションでは、テストケースの結果を含むファイルを指定します。オプション `base-directory` セクションでは、テストケースファイルがあるディレクトリを指定します。オプションの `discard-paths` セクションでは、Amazon S3 バケットにアップロードされたテスト結果ファイルへのパスを破棄するかどうかを指定します。

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

# テストコマンドの指定
<a name="report-group-test-case-commands"></a>

 テストケースを実行するコマンドは、buildspec ファイルの `commands` セクションで指定します。これらのコマンドは、buildspec ファイルの `reports` セクションでレポートグループに指定されたテストケースを実行します。次に、テストファイルでテストを実行するコマンドを含むサンプル `commands` セクションを示します。

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

詳細については、「[buildspec の構文](build-spec-ref.md#build-spec-ref-syntax)」を参照してください。

# でレポートグループにタグを付ける AWS CodeBuild
<a name="how-to-tag-report-group"></a>

*タグ*は、 AWS リソース AWS に割り当てるカスタム属性ラベルです。各 AWS タグには 2 つの部分があります。
+ タグキー** (`CostCenter`、`Environment`、`Project`、`Secret` など)。タグキーでは、大文字と小文字が区別されます。
+ タグ値**と呼ばれるオプションのフィールド (`111122223333`、`Production`、チーム名など)。タグ値を省略すると、空の文字列を使用した場合と同じになります。タグキーと同様に、タグ値では大文字と小文字が区別されます。

これらは共にキーと値のペアと呼ばれます。レポートグループに付けることができるタグの最大数、およびタグのキーと値の制限については、「[タグ](limits.md#tag-limits)」を参照してください。

タグは、 AWS リソースの識別と整理に役立ちます。多くの AWS サービスはタグ付けをサポートしているため、異なるサービスのリソースに同じタグを割り当てて、リソースが関連していることを示すことができます。たとえば、Amazon S3 バケットに割り当てたものと同じタグをCodeBuild レポートグループに割り当てることができます。タグの使用の詳細については、「[タグ付けのベストプラクティス](https://d1.awsstatic.com/whitepapers/aws-tagging-best-practices.pdf)」ホワイトペーパーを参照してください。

CodeBuild では、主なリソースはレポートグループとプロジェクトです。CodeBuild コンソール、 AWS CLI、CodeBuild APIs、または AWS SDKs を使用して、レポートグループのタグを追加、管理、削除できます。タグを使用して、レポートグループを識別、組織付け、追跡するだけでなく、IAM ポリシーでタグを使用して、レポートグループを表示および操作できるユーザーをコントロールすることもできます。タグベースのアクセスポリシーの例については、「[タグを使用して AWS CodeBuild リソースへのアクセスを制御する](auth-and-access-control-using-tags.md)」を参照してください。

**Topics**
+ [レポートグループにタグを追加](how-to-tag-report-group-add.md)
+ [レポートグループのタグを表示する](how-to-tag-report-group-list.md)
+ [レポートグループのタグを編集する](how-to-tag-report-group-update.md)
+ [レポートグループからタグを削除](how-to-tag-report-group-delete.md)

# レポートグループにタグを追加
<a name="how-to-tag-report-group-add"></a>

レポートグループにタグを追加すると、 AWS リソースを識別して整理し、リソースへのアクセスを管理するのに役立ちます。まず、レポートグループに 1 つ以上のタグ (キーと値のペア) を追加します。レポートグループに付けることができるタグの数には制限があります。キーフィールドおよび値フィールドに使用できる文字には制限があります。詳細については、「[タグ](limits.md#tag-limits)」を参照してください。タグを追加した後、IAM ポリシーを作成して、それらのタグに基づいてレポートグループへのアクセスを管理できます。CodeBuild コンソールまたは を使用して AWS CLI 、レポートグループにタグを追加できます。

**重要**  
レポートグループにタグを追加すると、そのレポートグループへのアクセスに影響を与える可能性があります。レポートグループにタグを追加する前に、タグを使用してレポートグループなどのリソースへのアクセスをコントロールする可能性のある IAM ポリシーを必ず確認してください。タグベースのアクセスポリシーの例については、「[タグを使用して AWS CodeBuild リソースへのアクセスを制御する](auth-and-access-control-using-tags.md)」を参照してください。

レポートグループの作成時にタグを追加する方法の詳細については、「[Create a report group (console)](report-group-create.md#test-report-group-create-console)」を参照してください。

**Topics**
+ [レポートグループにタグを追加する (コンソール)](#how-to-tag-report-group-add-console)
+ [レポートグループにタグを追加する (AWS CLI)](#how-to-tag-report-group-add-cli)

## レポートグループにタグを追加する (コンソール)
<a name="how-to-tag-report-group-add-console"></a>

CodeBuild コンソールを使用して、CodeBuild レポートグループに 1 つ以上のタグを追加できます。

1. CodeBuild コンソール ([https://console.aws.amazon.com/codebuild/](https://console.aws.amazon.com/codebuild/)) を開きます。

1. [**Report groups (レポートグループ)**] で、タグを追加するレポートグループの名前を選択します。

1. ナビゲーションペインで **[設定]** を選択します。

1. レポートグループにいずれのタグも追加されていない場合は、[**Add tag (タグの追加)**] を選択します。[**Edit (編集)**] を選択してから、[**Add tag (タグの追加)**] を選択することもできます。

1. [**Key**] に、タグの名前を入力します。**[値]** では、任意でタグに値を追加できます。

1. (オプション) 別のタグを追加するには、[**Add tag**] を再度選択します。

1. タグの追加を完了したら、[**Submit**] を選択します。

## レポートグループにタグを追加する (AWS CLI)
<a name="how-to-tag-report-group-add-cli"></a>

作成時にレポートグループにタグを追加するには、「[レポートグループの作成 (CLI)](report-group-create.md#test-report-group-create-cli)」を参照してください。`CreateReportGroup.json` で、タグを追加します。

 既存のレポートグループにタグを追加するには、「[レポートグループの更新 (CLI)](report-group-export-settings.md#update-report-group-cli)」を参照し、`UpdateReportGroupInput.json` でタグを追加します。

以下の手順では、 AWS CLI の最新版をすでにインストールしているか、最新版に更新しているものとします。詳細については、「[AWS Command Line Interfaceのインストール](https://docs.aws.amazon.com/cli/latest/userguide/installing.html)」を参照してください。

# レポートグループのタグを表示する
<a name="how-to-tag-report-group-list"></a>

タグは、 AWS リソースを識別して整理し、リソースへのアクセスを管理するのに役立ちます。タグの使用の詳細については、「[タグ付けのベストプラクティス](https://d1.awsstatic.com/whitepapers/aws-tagging-best-practices.pdf)」ホワイトペーパーを参照してください。タグベースのアクセスポリシーの例については、「[Deny or allow actions on report groups based on resource tags](auth-and-access-control-using-tags.md#report-group-tag-policy-example)」を参照してください。

## レポートグループのタグを表示する (コンソール)
<a name="how-to-tag-report-group-list-console"></a>

CodeBuild コンソールを使用して、CodeBuild レポートグループに関連付けられたタグを表示できます。

1. CodeBuild コンソール ([https://console.aws.amazon.com/codebuild/](https://console.aws.amazon.com/codebuild/)) を開きます。

1. [**Report groups (レポートグループ)**] で、タグを表示するレポートグループの名前を選択します。

1. ナビゲーションペインで **[設定]** を選択します。

## レポートグループのタグを表示する (AWS CLI)
<a name="how-to-tag-report-group-list-cli"></a>

を使用してレポートグループの AWS タグ AWS CLI を表示するには、次の手順に従います。いずれのタグも追加されていない場合、返されるタグは空になります。

1.  コンソールまたは AWS CLI を使用して、レポートグループの ARN を見つけます。その ARN をメモしておきます。

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

    次のコマンドを実行します。

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

    このコマンドは、以下のような JSON 形式の情報を返します。

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

   レポートグループの ARN はそのグループの名前で終わります。この名前はレポートグループの ARN を識別するために使用できます。

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

   1. CodeBuild コンソール ([https://console.aws.amazon.com/codebuild/](https://console.aws.amazon.com/codebuild/)) を開きます。

   1. [**Report groups (レポートグループ)**] で、表示するタグが付いたレポートグループの名前を選択します。

   1.  [**Configuration (設定)**] で、レポートグループの ARN を見つけます。

------

1.  次のコマンドを実行します。`--report-group-arns` パラメータにはメモしておいた ARN を使用します。

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

    成功すると、このコマンドは、以下のような `tags` セクションを含む JSON 形式の情報を返します。

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

# レポートグループのタグを編集する
<a name="how-to-tag-report-group-update"></a>

レポートグループに関連付けられたタグの値を変更できます。キーの名前を変更することもできます。これは、現在のタグを削除して、新しい名前と他のタグと同じ値を持つ、別のタグを追加することになります。キーフィールドと値フィールドに使用できる文字には制限があります。詳細については、「[タグ](limits.md#tag-limits)」を参照してください。

**重要**  
レポートグループのタグを編集すると、そのレポートグループへのアクセスに影響を与える可能性があります。レポートグループのタグの名前 (キー) または値を編集する前に、タグのキーや値を使用してレポートグループなどのリソースへのアクセスをコントロールする可能性のある IAM ポリシーを必ず確認してください。タグベースのアクセスポリシーの例については、「[Deny or allow actions on report groups based on resource tags](auth-and-access-control-using-tags.md#report-group-tag-policy-example)」を参照してください。

## レポートグループのタグを編集する (コンソール)
<a name="how-to-tag-report-group-update-console"></a>

CodeBuild コンソールを使用して、CodeBuild レポートグループに関連付けられたタグを編集できます。

1. CodeBuild コンソール ([https://console.aws.amazon.com/codebuild/](https://console.aws.amazon.com/codebuild/)) を開きます。

1. [**Report groups (レポートグループ)**] で、タグを編集するレポートグループの名前を選択します。

1. ナビゲーションペインで **[設定]** を選択します。

1. **[編集]** を選択します。

1. 次のいずれかを行ってください。
   + タグを変更するには、[**Key**] に新しい名前を入力します。タグの名前を変更することは、タグを削除して、新しいキー名を持つタグを追加することになります。
   + タグの値を変更するには、新しい値を入力します。値を空にする場合は、現在の値を削除してフィールドを空のままにします。

1. タグの編集を完了したら、[**Submit**] を選択します。

## レポートグループのタグを編集する (AWS CLI)
<a name="how-to-tag-report-group-update-cli"></a>

 レポートグループのタグを追加、変更、または削除するには、「[レポートグループの更新 (CLI)](report-group-export-settings.md#update-report-group-cli)」を参照してください。`UpdateReportGroupInput.json` のタグを更新します。

# レポートグループからタグを削除
<a name="how-to-tag-report-group-delete"></a>

レポートグループに関連付けられた 1 つ以上のタグを削除できます。タグを削除しても、そのタグに関連付けられている他の AWS リソースからタグは削除されません。

**重要**  
レポートグループからタグを削除すると、そのレポートグループへのアクセスに影響を与える可能性があります。レポートグループからタグを削除する前に、タグのキーや値を使用してレポートグループなどのリソースへのアクセスをコントロールする可能性のある IAM ポリシーを必ず確認してください。タグベースのアクセスポリシーの例については、「[タグを使用して AWS CodeBuild リソースへのアクセスを制御する](auth-and-access-control-using-tags.md)」を参照してください。

## レポートグループからタグを削除する (コンソール)
<a name="how-to-tag-report-group-delete-console"></a>

CodeBuild コンソールを使用して、タグと レポートグループとの関連付けを解除できます。

1. CodeBuild コンソール ([https://console.aws.amazon.com/codebuild/](https://console.aws.amazon.com/codebuild/)) を開きます。

1. [**Report groups (レポートグループ)**] で、タグを削除するレポートグループの名前を選択します。

1. ナビゲーションペインで **[設定]** を選択します。

1. **[編集]** を選択します。

1. 削除するタグを見つけ、[**Remove tag**] を選択します。

1. タグの削除を完了したら、[**Submit**] を選択します。

## レポートグループからタグを削除する (AWS CLI)
<a name="how-to-tag-report-group-delete-cli"></a>

を使用して CodeBuild レポートグループからタグ AWS CLI を削除するには、次の手順に従います。タグを削除してもそのタグがなくなるわけではありません。タグとレポートグループとの関連付けが解除されるだけです。

**注記**  
CodeBuild レポートグループを削除すると、削除されたレポートグループからすべてのタグの関連付けが解除されます。レポートグループを削除する前にタグを削除する必要はありません。

 レポートグループから 1 つ以上のタグを削除するには、「[レポートグループのタグを編集する (AWS CLI)](how-to-tag-report-group-update.md#how-to-tag-report-group-update-cli)」を参照してください。JSON 形式のデータの `tags` セクションを、削除するタグが含まれていない最新のタグのリストで更新します。すべてのタグを削除する場合は、`tags` セクションを以下のように更新します。

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

# レポートグループの更新
<a name="report-group-export-settings"></a>

 レポートグループを更新するときは、生のテスト結果データを Amazon S3 バケット内のファイルにエクスポートするかどうかに関する情報を指定できます。S3 バケットへのエクスポートを選択した場合は、レポートグループについて以下を指定します。
+ 生のテスト結果ファイルが ZIP ファイルに圧縮されているかどうか。
+ 生のテスト結果ファイルが暗号化されているかどうか。次のいずれかの方法で暗号化を指定できます。
  + Amazon S3 AWS マネージドキー 用の 。 Amazon S3 
  + ユーザーが作成して設定するカスタマー管理のキー。

詳細については、「[データの暗号化](security-encryption.md)」を参照してください。

を使用してレポートグループ AWS CLI を更新する場合は、タグを更新または追加することもできます。詳細については、「[でレポートグループにタグを付ける AWS CodeBuildレポートグループにタグを付ける](how-to-tag-report-group.md)」を参照してください。

**注記**  
プロジェクトで指定した CodeBuild サービスロールは、S3 バケットにアップロードするアクセス許可に使用されます。

**Topics**
+ [レポートグループの更新 (コンソール)](#update-report-group-console)
+ [レポートグループの更新 (CLI)](#update-report-group-cli)

## レポートグループの更新 (コンソール)
<a name="update-report-group-console"></a>

次の手順で、 AWS マネジメントコンソールを使用してレポートグループを更新します。

**レポートグループを更新するには**

1. [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home) で AWS CodeBuild コンソールを開きます。

1.  ナビゲーションペインで、[**Report groups (レポートグループ)**] を選択します。

1. 更新するレポートグループを選択します。

1. **[編集]** を選択します。

1. [**Backup to Amazon S3**] (Amazon S3 にバックアップ) を選択または選択解除します。このオプションを選択した場合は、エクスポート設定を指定します。

   1. [**S3 bucket name (S3 バケット名)**] に、S3 バケットの名前を入力します。

   1. [**Path prefix (パスプレフィックス)**] に、テスト結果をアップロードする S3 バケットのパスを入力します。

   1. 生のテスト結果データファイルを圧縮するには、[**Compress test result data in a zip file (テスト結果データを圧縮する)**] を選択します。

   1. [**Additional configuration (追加の設定)**] を展開して、暗号化オプションを表示します。次のいずれかを選択します。
      + Amazon S3 AWS マネージドキー の を使用する**デフォルトの AWS マネージドキー**。詳細については、*AWS Key Management Service ユーザーガイド*の「[カスタマー マネージド CMKs](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk)」を参照してください。これはデフォルトの暗号化オプションです。
      + **カスタムキーを選択して**、ユーザーが作成して設定するカスタマー管理のキーを使用します。**AWS KMS 暗号化キー**の場合は、暗号化キーの ARN を入力します。形式は ` arn:aws:kms:<region-id>: <aws-account-id>:key/<key-id> ` です。詳細については、*AWS Key Management Service ユーザーガイド*の「[KMS キーの作成](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html)」を参照してください。
      + 暗号化を無効にするには、**アーティファクト暗号化を無効**にします。テスト結果を共有したり、静的ウェブサイトに公開したりする場合は、このオプションを選択します。(動的ウェブサイトでは、テスト結果を復号化するコードを実行できます)。

## レポートグループの更新 (CLI)
<a name="update-report-group-cli"></a>

次の手順で、 AWS CLIを使用してレポートグループを更新します。

**レポートグループを更新するには**

1. `UpdateReportGroupInput.json` という名前のファイルを作成します。

1. 以下を `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. レポートグループの ARN を `arn` 行に入力します (`"arn":"arn:aws:codebuild:region:123456789012:report-group/report-group-1")` など)。

1. レポートグループに適用する更新内容で `UpdateReportGroupInput.json` を更新します。
   + レポートグループを更新して生のテスト結果ファイルを S3 バケットにエクスポートする場合は、`exportConfig` セクションを更新します。`bucket-name` を S3 バケット名に、`path` をファイルをエクスポートする S3 バケット内のパスに置き換えます。エクスポートされたファイルを `packaging` に圧縮する場合は、`ZIP` を指定します。それ以外の場合は、`NONE` を指定します。エクスポートされたファイルを暗号化するかどうかを指定するために `encryptionDisabled` を使用します。エクスポートしたファイルを暗号化する場合は、カスタマー管理のキーを入力します。
   + 生のテスト結果ファイルを S3 バケットにエクスポートしないようにレポートグループを更新する場合は、`exportConfig` セクションを以下の JSON で更新します。

     ```
     { 
       "exportConfig": {
           "exportConfigType": "NO_EXPORT"
       }
     }
     ```
   + レポートグループのタグを更新する場合は、`tags` セクションを更新します。タグは変更、追加、または削除できます。すべてのタグを削除する場合は、以下の JSON で更新します。

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

1.  次のコマンドを実行します。

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

# テストフレームワーク
<a name="test-framework-reporting"></a>

このセクションのトピックでは、さまざまなテストフレームワーク AWS CodeBuild 用に でテストレポートを設定する方法を示します。

**Topics**
+ [Jasmine によるテストレポートのセットアップ](test-report-jasmine.md)
+ [Jest によるテストレポートのセットアップ](test-report-jest.md)
+ [pytest によるテストレポートのセットアップ](test-report-pytest.md)
+ [RSpec を使用したテストレポートのセットアップ](test-report-rspec.md)

# Jasmine によるテストレポートのセットアップ
<a name="test-report-jasmine"></a>

次の手順では、[JasmineBDD テスト フレームワーク](http://jasmine.github.io/)を用いた AWS CodeBuild でのテストレポートのセットアップ方法を示しています。

この手順には、次の前提条件が必要です。
+ 既存の CodeBuild プロジェクトがある。
+ そのプロジェクトは、Jasmine テストフレームワークを使用するようにセットアップされた Node.js プロジェクトである。

[https://www.npmjs.com/package/jasmine-reporters](https://www.npmjs.com/package/jasmine-reporters) パッケージを `devDependencies` セクションの `package.json` ファイルに追加します。このパッケージには、Jasmine で使用できる JavaScript レポータークラスのコレクションがあります。

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

まだ存在しない場合は、`test` スクリプトをプロジェクトの `package.json` ファイルに追加します。`test` スクリプトは、**npm test** が実行されたときに Jasmine が確実に呼び出されるようにします。

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

CodeBuild は、以下の Jasmine テストレポーターをサポートしています。

**JUnitXmlReporter**  
`JunitXml` 形式でレポートを生成するために使用されます。

**NUnitXmlReporter**  
`NunitXml` 形式でレポートを生成するために使用されます。

Jasmine を使用する Node.js プロジェクトには、デフォルトで Jasmine 設定とテストスクリプトを含む `spec` サブディレクトリが作成されます。

`JunitXML` 形式でレポートを生成するように Jasmine を設定するには、テストに次のコードを追加して、`JUnitXmlReporter` レポーターをインスタンス化します。

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

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

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

`NunitXML` 形式でレポートを生成するように Jasmine を設定するには、テストに次のコードを追加して、`NUnitXmlReporter` レポーターをインスタンス化します。

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

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

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

テストレポートは、*<test report directory>*/*<report filename>* で指定されたファイルにエクスポートされます。

`buildspec.yml` ファイルで、次のセクションを追加/更新します。

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

`NunitXml` レポート形式を使用している場合は、`file-format` 値を次のように変更します。

```
    file-format: NUNITXML
```

# Jest によるテストレポートのセットアップ
<a name="test-report-jest"></a>

次の手順では、[Jest テスト フレームワーク](https://jestjs.io/)を用いた AWS CodeBuild でのテストレポートのセットアップ方法を示しています。

この手順には、次の前提条件が必要です。
+ 既存の CodeBuild プロジェクトがある。
+ そのプロジェクトは、Jest テストフレームワークを使用するようにセットアップされた Node.js プロジェクトである。

[https://www.npmjs.com/package/jest-junit](https://www.npmjs.com/package/jest-junit) パッケージを `devDependencies` セクションの `package.json` ファイルに追加します。CodeBuild では、このパッケージを使用して、レポートを `JunitXml` の形式で生成します。

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

まだ存在しない場合は、`test` スクリプトをプロジェクトの `package.json` ファイルに追加します。`test` スクリプトは、**npm test** が実行されたときに Jest が確実に呼び出されるようにします。

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

Jest の設定ファイルに以下を追加して、`JunitXml` レポーターを使用するよう Jest を設定します。プロジェクトに Jest 設定ファイルがない場合は、プロジェクトのルートに `jest.config.js` という名前のファイルを作成し、以下を追加します。テストレポートは、*<test report directory>*/*<report filename>* で指定されたファイルにエクスポートされます。

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

`buildspec.yml` ファイルで、次のセクションを追加/更新します。

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

# pytest によるテストレポートのセットアップ
<a name="test-report-pytest"></a>

次の手順では、[pytest テスト フレームワーク](https://docs.pytest.org/)を用いた AWS CodeBuild でのテストレポートのセットアップ方法を示しています。

この手順には、次の前提条件が必要です。
+ 既存の CodeBuild プロジェクトがある。
+ そのプロジェクトは、pytest テストフレームワークを使用するようにセットアップされた Python プロジェクトである。

`build` ファイルの `post_build` または `buildspec.yml` フェーズに、次のエントリを追加します。このコードは、自動的に現在のディレクトリ内でテストを検出し、*<test report directory>*/*<report filename>* で指定されたファイルにテストレポートをエクスポートします。レポートでは、`JunitXml` 形式が使用されます。

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

`buildspec.yml` ファイルで、次のセクションを追加/更新します。

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

# RSpec を使用したテストレポートのセットアップ
<a name="test-report-rspec"></a>

次の手順では、[RSpec テスト フレームワーク](https://rspec.info/)を用いた AWS CodeBuild でのテストレポートのセットアップ方法を示しています。

この手順には、次の前提条件が必要です。
+ 既存の CodeBuild プロジェクトがある。
+ そのプロジェクトは、RSpec テストフレームワークを使用するようにセットアップされた Ruby プロジェクトである。

`buildspec.yml` ファイルに以下を追加/更新します。このコードは、*<test source directory>* ディレクトリでテストを実行し、*<test report directory>*/*<report filename>* で指定されたファイルにテストレポートをエクスポートします。レポートでは、`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
```

# テストレポートの表示
<a name="test-view-reports"></a>

 テストケースに関する情報、合格番号と不合格番号、実行にかかった時間など、テストレポートに関する詳細を表示できます。ビルド実行、レポートグループ、または AWS アカウント別にグループ化されたテストレポートを表示できます。コンソールでテストレポートを選択すると、テストケースの詳細と結果が表示されます。

 期限切れでないテストレポートを表示できます。テストレポートは、作成から 30 日後に有効期限が切れます。CodeBuild で期限切れのレポートを表示することはできません。

**Topics**
+ [ビルドのテストレポートの表示](test-view-project-reports.md)
+ [レポートグループのテストレポートの表示](test-view-report-group-reports.md)
+ [AWS アカウントのテストレポートを表示する](test-view-account-reports.md)

# ビルドのテストレポートの表示
<a name="test-view-project-reports"></a>

**ビルドのテストレポートを表示するには**

1. [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home) で AWS CodeBuild コンソールを開きます。

1.  表示するビルドを見つけます。テストレポートを作成したビルドを実行したプロジェクトがわかっている場合：

   1.  ナビゲーションペインで、[**Build projects (ビルドプロジェクト)**] を選択し、表示するテストレポートを実行したビルドを含むプロジェクトを選択します。

   1.  [**Build history (ビルド履歴)**] を選択し、表示するレポートを作成したビルドを選択します。

    AWS アカウントのビルド履歴でビルドを見つけることもできます。

   1.  ナビゲーションペインで [**Build history (ビルド履歴)**] を選択し、表示するテストレポートを作成したビルドを選択します。

1. ビルドページで [**Reports (レポート)**] を選択し、テストレポートを選択して詳細を確認します。

# レポートグループのテストレポートの表示
<a name="test-view-report-group-reports"></a>

**レポートグループ内のテストレポートを表示するには**

1. [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home) で AWS CodeBuild コンソールを開きます。

1.  ナビゲーションペインで、[**Report groups (レポートグループ)**] を選択します。

1. 表示するテストレポートを含むレポートグループを選択します。

1.  テストレポートを選択すると、その詳細が表示されます。

# AWS アカウントのテストレポートを表示する
<a name="test-view-account-reports"></a>



**AWS アカウントでテストレポートを表示するには**

1. [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home) で AWS CodeBuild コンソールを開きます。

1.  ナビゲーションペインで [**Report history (レポート履歴)**] を選択します。

1.  テストレポートを選択すると、その詳細が表示されます。

# テストレポートのアクセス許可
<a name="test-permissions"></a>

 このトピックでは、テストレポートに関連するアクセス権限に関する重要な情報について説明します。

**Topics**
+ [テストレポートの IAM ロール](#test-permissions-required)
+ [テストレポートオペレーションのアクセス許可](#test-permissions-related-to-reporting)
+ [テストレポートのアクセス許可の例](#test-permissions-examples)

## テストレポートの IAM ロール
<a name="test-permissions-required"></a>

テストレポートを実行し、テストレポートを含めるようにプロジェクトを更新するには、IAM ロールに以下のアクセス権限が必要です。これらのアクセス許可は、事前定義された AWS 管理ポリシーに含まれています。既存のビルドプロジェクトにテストレポートを追加する場合は、これらのアクセス権限を自分で追加する必要があります。
+ `CreateReportGroup` 
+ `CreateReport` 
+ `UpdateReport` 
+ `BatchPutTestCases` 

コードカバレッジレポートを実行するには、IAM ロールに `BatchPutCodeCoverages` アクセス許可が付与されている必要もあります。

**注記**  
`BatchPutTestCases`、`CreateReport`、`UpdateReport`、および `BatchPutCodeCoverages` はパブリック権限ではありません。これらのアクセス許可に対応する AWS CLI コマンドまたは SDK メソッドを呼び出すことはできません。

これらのアクセス許可があることを確認するには、次のポリシーを IAM ロールにアタッチします。

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

このポリシーは、使用する必要があるレポートグループだけに制限することをお勧めします。以下の例では、ポリシー内の 2 つの ARN を持つレポートグループのみにアクセス権限を制限します。

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

以下の例では、`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"
    ]
}
```

**注記**  
プロジェクトで指定した CodeBuild サービスロールは、S3 バケットにアップロードするアクセス許可に使用されます。

## テストレポートオペレーションのアクセス許可
<a name="test-permissions-related-to-reporting"></a>

 次のテストレポート CodeBuild API オペレーションのアクセス権限を指定できます。
+  `BatchGetReportGroups` 
+  `BatchGetReports` 
+  `CreateReportGroup` 
+  `DeleteReportGroup` 
+  `DeleteReport` 
+  `DescribeTestCases` 
+  `ListReportGroups` 
+  `ListReports` 
+  `ListReportsForReportGroup` 
+  `UpdateReportGroup` 

詳細については、「[AWS CodeBuild アクセス許可リファレンス](auth-and-access-control-permissions-reference.md)」を参照してください。

## テストレポートのアクセス許可の例
<a name="test-permissions-examples"></a>

 テストレポートに関連するサンプルポリシーの詳細については、以下を参照してください。
+  [レポートグループの変更をユーザーに許可する](auth-and-access-control-iam-identity-based-access-control.md#customer-managed-policies-example-change-report-group) 
+  [レポートグループの作成をユーザーに許可する](auth-and-access-control-iam-identity-based-access-control.md#customer-managed-policies-example-create-report-group) 
+  [レポートの削除をユーザーに許可する](auth-and-access-control-iam-identity-based-access-control.md#customer-managed-policies-example-delete-report) 
+  [レポートグループの削除をユーザーに許可する](auth-and-access-control-iam-identity-based-access-control.md#customer-managed-policies-example-delete-report-group) 
+  [レポートグループに関する情報の取得をユーザーに許可する](auth-and-access-control-iam-identity-based-access-control.md#customer-managed-policies-get-information-about-report-group) 
+  [レポートに関する情報の取得をユーザーに許可する](auth-and-access-control-iam-identity-based-access-control.md#customer-managed-policies-get-information-about-reports) 
+  [レポートグループの一覧表示をユーザーに許可する](auth-and-access-control-iam-identity-based-access-control.md#customer-managed-policies-example-get-list-of-report-groups) 
+  [レポートの一覧表示をユーザーに許可する](auth-and-access-control-iam-identity-based-access-control.md#customer-managed-policies-example-get-list-of-reports) 
+  [レポートグループのレポートの一覧表示をユーザーに許可する](auth-and-access-control-iam-identity-based-access-control.md#customer-managed-policies-example-get-list-of-reports-for-report-group) 
+  [レポートのテストケースの一覧表示をユーザーに許可する](auth-and-access-control-iam-identity-based-access-control.md#customer-managed-policies-example-get-list-of-test-cases-for-report) 

# テストレポートのステータス
<a name="test-report"></a>

テストレポートのステータスは、次のいずれかになります。
+ `GENERATING`: テストケースの実行はまだ進行中です。
+ `DELETING`: テストレポートは削除されています。テストレポートが削除されると、そのテストケースも削除されます。S3 バケットにエクスポートされた生のテスト結果データファイルは削除されません。
+ `INCOMPLETE`: テストレポートは完了していません。このステータスは、次のいずれかの理由で返されることがあります。
  + レポートのテストケースを指定するレポートグループの設定に問題があります。たとえば、buildspec ファイルのレポートグループのテストケースへのパスが正しくない可能性があります。
  + ビルドを実行した IAM ユーザーには、テストを実行するアクセス権限がありません。詳細については、「[テストレポートのアクセス許可](test-permissions.md)」を参照してください。
  + テストに関連していないエラーのため、ビルドは完了しませんでした。
+ `SUCCEEDED`: すべてのテストケースが成功しました。
+ `FAILED`: いくつかのテストケースは成功しませんでした。

各テストケースは、ステータスを返します。テストケースのステータスは、次のいずれかになります。
+ `SUCCEEDED`: テストケースが成功しました。
+ `FAILED`: テストケースが失敗しました。
+ `ERROR`: テストケースで予期しないエラーが発生しました。
+ `SKIPPED`: テストケースは実行されませんでした。
+ `UNKNOWN`: テストケースが、`SUCCEEDED`、`FAILED`、`ERROR`、`SKIPPED` 以外のステータスを返しました。

テストレポートには、最大 500 件のテストケース結果を設定できます。500 を超えるテストケースが実行されている場合、CodeBuild はステータス `FAILED` でテストの優先順位を付け、テストケースの結果を切り捨てます。