

Amazon CodeCatalyst は新規のお客様には提供されなくなりました。既存のお客様は、通常どおりサービスを引き続き使用できます。詳細については、「[CodeCatalyst から移行する方法](migration.md)」を参照してください。

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

# アクションにおける品質レポートの設定
<a name="test-config-action"></a>

このセクションでは、 アクションで品質レポートを設定する方法について説明します。

**Topics**
+ [自動検出によるレポートと手動設定によるレポート](#test.auto-discovery)
+ [レポートの成功基準の設定](#test.success-criteria)
+ [品質レポートの YAML 例](#test.success-criteria-example)

## 自動検出によるレポートと手動設定によるレポート
<a name="test.auto-discovery"></a>

自動検出を有効にすると、CodeCatalyst では、アクションに渡されたすべての入力と、アクション自体によって生成されたすべてのファイルが検索され、テストレポート、コードカバレッジレポート、ソフトウェア構成分析 (SCA) レポート、静的分析 (SA) レポートが検出されます。これらのレポートを CodeCatalyst で個別に表示して操作できます。

どのレポートを生成するかを手動で設定することもできます。生成するレポートのタイプとファイル形式を指定できます。詳細については、「[品質レポートのタイプ](test-workflow-actions.md#test-reporting)」を参照してください。

## レポートの成功基準の設定
<a name="test.success-criteria"></a>

テストレポート、コードカバレッジレポート、ソフトウェア構成分析 (SCA) レポート、または静的分析 (SA) レポートの成功基準を決定する値を設定できます。

成功基準は、レポートが合格か不合格かを決定するしきい値です。CodeCatalyst では、テスト、コードカバレッジ、SCA、または SA のいずれかのレポートが最初に生成され、その後、生成されたレポートに成功基準が適用されます。次に、成功基準が満たされたか、およびどの程度満たされたかが示されます。指定した成功基準がレポートで満たされていない場合、その成功基準が指定された CodeCatalyst アクションは失敗します。

例えば、SCA レポートの成功基準を設定する場合、有効な脆弱性値は、重要度が高い順に、`CRITICAL`、`HIGH`、`MEDIUM`、`LOW`、`INFORMATIONAL` です。重要度が `HIGH` である脆弱性をスキャンするように基準を設定すると、重要度が `HIGH` である脆弱性が 1 つ以上存在する場合、または重要度が `HIGH` である脆弱性は存在しないものの、より重要度の高い脆弱性が 1 つ以上存在する場合 (例えば、重要度が `CRITICAL` である脆弱性が 1 つ存在するなど)、レポートが失敗します。

成功基準を指定しない場合は、次のようになります。
+ 未加工のレポートに基づいて生成された CodeCatalyst レポートには、成功基準は表示されません。
+ 関連するワークフローアクションが合格または不合格かを決定するために成功基準が使用されることはありません。

------
#### [ Visual ]

**成功基準を設定するには**

1. ナビゲーションペインで **[CI/CD]**、**[ワークフロー]** の順に選択します。

1. レポートを生成するアクションを含むワークフローを選択します。このレポートに成功基準を適用します。ワークフローが定義されているソースリポジトリまたはブランチ名でフィルタリングすることも、ワークフロー名またはステータスでフィルタリングすることもできます。

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

1. **[ビジュアル]** を選択します。

1. ワークフロー図で、CodeCatalyst レポートを生成するように設定したアクションを選択します。

1. **[出力]** タブを選択します。

1. **[オートディスカバリーレポート]** または **[レポートを手動で設定]**で、**[成功基準]** を選択します。

   成功基準が表示されます。前の選択に基づいて、以下のオプションの一部またはすべてが表示されます。

   **[パスレート]**

   関連する CodeCatalyst レポートが合格としてマークされるために、テストレポート内のテストに求められる合格の割合を指定します。有効な値には 10 進数が含まれます。例: `50`、`60.5`。パスレートの基準は、テストレポートにのみ適用されます。テストレポートの詳細については、「[テストレポート](test-workflow-actions.md#test-reports)」を参照してください。

   **[ラインカバレッジ]**

   関連する CodeCatalyst レポートが合格としてマークされるために、コードカバレッジレポート内でカバーする必要がある行の割合を指定します。有効な値には 10 進数が含まれます。例: `50`、`60.5`。ラインカバレッジ基準は、コードカバレッジレポートにのみ適用されます。コードカバレッジレポートの詳細については、「[コードカバレッジレポート](test-workflow-actions.md#test-code-coverage-reports)」を参照してください。

   **[ブランチカバレッジ]**

   関連する CodeCatalyst レポートが合格としてマークされるために、コードカバレッジレポート内のブランチに求められるカバレッジの割合を指定します。有効な値には 10 進数が含まれます。例: `50`、`60.5`。ブランチカバレッジ基準は、コードカバレッジレポートにのみ適用されます。コードカバレッジレポートの詳細については、「[コードカバレッジレポート](test-workflow-actions.md#test-code-coverage-reports)」を参照してください。

   **[脆弱性 (SCA)]**

   関連する CodeCatalyst レポートが合格としてマークされるように、SCA レポート内で許容される脆弱性の最大数と重要度を指定します。脆弱性を指定するには、以下を指定する必要があります。
   + カウントに含める脆弱性の最小重要度。有効な値は、重要度が高い順に `CRITICAL`、`HIGH`、`MEDIUM`、`LOW`、`INFORMATIONAL` です。

     例えば、`HIGH` を選択すると、`HIGH` と `CRITICAL` の脆弱性が集計されます。
   + 指定された重要度の脆弱性の最大許容数。この数を超えると、CodeCatalyst レポートは不合格としてマークされます。有効な値は整数です。

   脆弱性の基準は SCA レポートにのみ適用されます。SCA レポートの詳細については、「[ソフトウェア構成分析レポート](test-workflow-actions.md#test-sca-reports)」を参照してください。

   **[バグ]**

   関連する CodeCatalyst レポートが合格としてマークされるように、SA レポート内で許容されるバグの最大数と重要度を指定します。バグを指定するには、以下を指定する必要があります。
   + カウントするバグの最小重要度。有効な値は、重要度が高い順に、`CRITICAL`、`HIGH`、`MEDIUM`、`LOW`、`INFORMATIONAL` です。

     例えば、`HIGH` を選択すると、`HIGH` と `CRITICAL` のバグが集計されます。
   + 指定された重要度のバグの最大許容数。この数を超えると、CodeCatalyst レポートは失敗としてマークされます。有効な値は整数です。

   バグ基準は、PyLint SA レポートおよび ESLint SA レポートにのみ適用されます。SA レポートの詳細については、「[静的分析レポート](test-workflow-actions.md#test-static-analysis-reports)」を参照してください。

   **[セキュリティの脆弱性]**

   関連する CodeCatalyst レポートが合格としてマークされるように、SA レポート内で許容されるセキュリティ脆弱性の最大数と重要度を指定します。セキュリティの脆弱性を指定するには、以下を指定する必要があります。
   + カウントするセキュリティ脆弱性の最小重要度。有効な値は、重要度が高い順に、`CRITICAL`、`HIGH`、`MEDIUM`、`LOW`、`INFORMATIONAL` です。

     例えば、`HIGH` を選択すると、`HIGH` と `CRITICAL` のセキュリティ脆弱性が集計されます。
   + 指定された重要度のセキュリティ脆弱性の最大許容数。この数を超えると、CodeCatalyst レポートは失敗としてマークされます。有効な値は整数です。

   セキュリティ脆弱性の基準は、PyLint SA レポートおよび ESLint SA レポートにのみ適用されます。SA レポートの詳細については、「[静的分析レポート](test-workflow-actions.md#test-static-analysis-reports)」を参照してください。

   **[品質に関する問題]**

   関連する CodeCatalyst レポートが合格としてマークされるように、SA レポート内で許容される品質問題の最大数と重要度を指定します。品質問題を指定するには、以下を指定する必要があります。
   + カウントに含める品質問題の最小重要度。有効な値は、重要度が高い順に、`CRITICAL`、`HIGH`、`MEDIUM`、`LOW`、`INFORMATIONAL` です。

     例えば、`HIGH` を選択すると、`HIGH` と `CRITICAL` の品質問題が集計されます。
   + 指定された重要度の品質問題の最大許容数。この数を超えると、CodeCatalyst レポートは失敗としてマークされます。有効な値は整数です。

   品質問題の基準は、PyLint SA レポートおよび ESLint SA レポートにのみ適用されます。SA レポートの詳細については、「[静的分析レポート](test-workflow-actions.md#test-static-analysis-reports)」を参照してください。

1. **[コミット]** を選択します。

1. ワークフローを実行して CodeCatalyst で未加工のレポートに成功基準を適用し、成功基準情報を含む関連する CodeCatalyst レポートを再生成します。詳細については、「[手動でのワークフロー実行の開始](workflows-manually-start.md)」を参照してください。

------
#### [ YAML ]

**成功基準を設定するには**

1. ナビゲーションペインで **[CI/CD]**、**[ワークフロー]** の順に選択します。

1. レポートを生成するアクションを含むワークフローを選択します。このレポートに成功基準を適用します。ワークフローが定義されているソースリポジトリまたはブランチ名でフィルタリングすることも、ワークフロー名またはステータスでフィルタリングすることもできます。

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

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

1. ワークフロー図で、CodeCatalyst レポートを生成するように設定したアクションを選択します。

1. [詳細] ペインで、**[出力]** タブを選択します。

1. アクション内の `AutoDiscoverReports` セクションまたは `Reports` セクションに、**SuccessCriteria** プロパティを追加し、`PassRate`、`LineCoverage`、`BranchCoverage`、`Vulnerabilities`、`StaticAnalysisBug`、`StaticAnalysisSecurity`、`StaticAnalysisQuality` の各プロパティを設定します。

   これらの各プロパティの説明については、「[ビルドおよびテストアクション YAML](build-action-ref.md)」を参照してください。

1. **[コミット]** を選択します。

1. ワークフローを実行して CodeCatalyst で未加工のレポートに成功基準を適用し、成功基準情報を含む関連する CodeCatalyst レポートを再生成します。ワークフローの開始に関する詳細については、「[手動でのワークフロー実行の開始](workflows-manually-start.md)」を参照してください。

------

## 品質レポートの YAML 例
<a name="test.success-criteria-example"></a>

 次の例は、テストレポート、コードカバレッジレポート、ソフトウェア構成分析レポート、静的分析レポートの 4 つのレポートを手動で設定する方法を示しています。

```
Reports:
  MyTestReport:
    Format: JUNITXML
    IncludePaths:
      - "*.xml"
    ExcludePaths:
      - report1.xml
      SuccessCriteria:
        PassRate: 90
  MyCoverageReport:
    Format: CLOVERXML
    IncludePaths:
      - output/coverage/jest/clover.xml
      SuccessCriteria:
        LineCoverage: 75
        BranchCoverage: 75
  MySCAReport:
    Format: SARIFSCA
    IncludePaths:
      - output/sca/reports.xml
      SuccessCriteria:
        Vulnerabilities:
          Number: 5
          Severity: HIGH
  MySAReport:
    Format: ESLINTJSON
    IncludePaths:
      - output/static/eslint.xml
      SuccessCriteria:
        StaticAnalysisBug:
          Number: 10
          Severity: MEDIUM
        StaticAnalysisSecurity:
          Number: 5
          Severity: CRITICAL
        StaticAnalysisQuality:
          Number: 0
          Severity: INFORMATIONAL
```