在操作中配置质量报告 - Amazon CodeCatalyst

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在操作中配置质量报告

本节介绍如何在操作中配置质量报告。

自动发现和手动报告

启用自动发现后,将 CodeCatalyst 搜索传递给操作的所有输入以及操作本身生成的所有文件,以查找测试、代码覆盖率、软件组合分析 (SCA) 和静态分析 (SA) 报告。您可以在中查看和操作每个报告 CodeCatalyst。

您也可以手动配置生成哪些报告。您可以指定要生成的报告类型以及文件格式。有关更多信息,请参阅 质量报告类型

为报告配置成功标准

您可以设置用于确定测试、代码覆盖率、软件组合分析 (SCA) 或静态分析 (SA) 报告的成功标准的值。

成功标准是决定报告通过还是失败的阈值。 CodeCatalyst 首先生成您的报告,该报告可以是测试、代码覆盖率、SCA 或 SA 报告,然后将成功标准应用于生成的报告。然后,它会显示成功标准是否得到满足,以及在多大程度上得到满足。如果任何报告不符合指定的成功标准,则指定成功标准的 CodeCatalyst 操作将失败。

例如,当您为 SCA 报告设置成功标准时,从最严重到最不严重的有效漏洞值为:CRITICAL、、HIGHMEDIUMLOWINFORMATIONAL。如果您将标准设置为扫描一个HIGH严重程度的漏洞,则如果至少存在一个严重漏洞或没有HIGH严重性级别的漏洞,但至少存在一个HIGH严重级别较高的漏洞(例如一个严重漏洞),则报告将失败。CRITICAL

如果您未指定成功标准,那么:

  • 根据您的原始 CodeCatalyst 报告生成的报告不会显示成功标准。

  • 成功标准不会用于确定关联的工作流操作是通过还是失败。

Visual
配置成功标准
  1. 在导航窗格中,选择 C I/CD,然后选择工作流程。

  2. 选择包含生成报告的操作的工作流程。这是您要为其应用成功标准的报告。您可以按定义工作流程的源存储库或分支名称进行筛选,也可以按工作流程名称进行筛选。

  3. 选择编辑

  4. 选择 “视觉”。

  5. 在工作流程图中,选择已配置为生成 CodeCatalyst 报告的操作。

  6. 选择输出选项卡。

  7. 在 “自动发现报告” 或 “手动配置报告” 下,选择成功标准

    成功标准出现。根据您之前的选择,您可能会看到以下任一或全部选项:

    及格率

    指定测试报告中必须通过测试的百分比,关联 CodeCatalyst的报告才会被标记为通过。有效值包括十进制数字。例如,5060.5。通过率标准仅适用于测试报告。有关测试报告的更多信息,请参阅测试报告

    线路覆盖范围

    指定代码覆盖率报告中必须覆盖的行数百分比,关联 CodeCatalyst 的报告才会被标记为通过。有效值包括十进制数字。例如,5060.5。线路覆盖率标准仅适用于代码覆盖率报告。有关代码覆盖率报告的更多信息,请参阅代码覆盖率报告

    分支机构覆盖范围

    指定代码覆盖率报告中必须覆盖的分支百分比才能将关联 CodeCatalyst 报告标记为已通过。有效值包括十进制数字。例如,5060.5。分支覆盖率标准仅适用于代码覆盖率报告。有关代码覆盖率报告的更多信息,请参阅代码覆盖率报告

    漏洞 (SCA)

    指定 SCA 报告中允许将关联 CodeCatalyst 报告标记为已通过的最大漏洞数量和严重性。要指定漏洞,必须指定:

    • 要计入的漏洞的最低严重性。有效值(从最严重到最不严重)为:CRITICALHIGHMEDIUMLOWINFORMATIONAL

      例如,如果您选择HIGH,则将对CRITICAL漏洞HIGH进行统计。

    • 您希望允许的指定严重性的漏洞的最大数量。超过此数字会导致 CodeCatalyst 报告被标记为失败。有效值为整数。

    漏洞标准仅适用于 SCA 报告。有关 SCA 报告的更多信息,请参阅软件成分分析报告

    错误

    指定 SA 报告中允许将关联 CodeCatalyst 报告标记为已通过的最大错误数量和严重性。要指定错误,必须指定:

    • 要计入的错误的最低严重程度。有效值(从最严重到最不严重)为:CRITICALHIGHMEDIUMLOWINFORMATIONAL

      例如,如果您选择HIGH,则会HIGHCRITICAL错误进行统计。

    • 您希望允许的指定严重程度的错误的最大数量。超过此数字会导致 CodeCatalyst 报告被标记为失败。有效值为整数。

    错误标准仅适用于 PyLint 和 ESLint SA 报告。有关 SA 报告的更多信息,请参阅静态分析报告

    安全漏洞

    指定 SA 报告中允许将关联 CodeCatalyst 报告标记为已通过的安全漏洞的最大数量和严重性。要指定安全漏洞,必须指定:

    • 您要计入的安全漏洞的最低严重程度。有效值(从最严重到最不严重)为:CRITICALHIGHMEDIUMLOWINFORMATIONAL

      例如,如果您选择HIGH,则将对HIGHCRITICAL安全漏洞进行统计。

    • 您希望允许的指定严重性的安全漏洞的最大数量。超过此数字会导致 CodeCatalyst 报告被标记为失败。有效值为整数。

    安全漏洞标准仅适用于 PyLint 和 ESLint SA 报告。有关 SA 报告的更多信息,请参阅静态分析报告

    质量问题

    指定 SA 报告中允许将相关 CodeCatalyst 报告标记为已通过的最大质量问题数量和严重性。要指定质量问题,必须指定:

    • 要计入的质量问题的最低严重程度。有效值(从最严重到最不严重)为:CRITICALHIGHMEDIUMLOWINFORMATIONAL

      例如,如果您选择 HIGHHIGH,则将统计CRITICAL质量问题。

    • 您希望允许的具有指定严重性的质量问题的最大数量。超过此数字会导致 CodeCatalyst 报告被标记为失败。有效值为整数。

    质量问题标准仅适用于 PyLint 和 ESLint SA 报告。有关 SA 报告的更多信息,请参阅静态分析报告

  8. 选择 Commit (提交)

  9. 运行您的工作流程以 CodeCatalyst 将成功标准应用于原始报告,然后重新生成包含成功标准信息的关联 CodeCatalyst 报告。有关更多信息,请参阅 启动工作流程手动运行

YAML
配置成功标准
  1. 在导航窗格中,选择 C I/CD,然后选择工作流程。

  2. 选择包含生成报告的操作的工作流程。这是您要为其应用成功标准的报告。您可以按定义工作流程的源存储库或分支名称进行筛选,也可以按工作流程名称进行筛选。

  3. 选择编辑

  4. 选择 YAML。

  5. 在工作流程图中,选择已配置为生成 CodeCatalyst 报告的操作。

  6. 在详细信息窗格中,选择输出选项卡。

  7. 在操作、AutoDiscoverReports部分或Reports部分中,添加一个SuccessCriteria属性以及、PassRateLineCoverageBranchCoverageVulnerabilitiesStaticAnalysisBugStaticAnalysisSecurity、和StaticAnalysisQuality属性。

    有关这些属性的说明,请参阅生成和测试操作 YAML 定义

  8. 选择 Commit (提交)

  9. 运行您的工作流程以 CodeCatalyst 将成功标准应用于原始报告,然后重新生成包含成功标准信息的关联 CodeCatalyst 报告。有关启动工作流程的更多信息,请参阅启动工作流程手动运行

质量报告 YAML 示例

以下示例说明如何手动配置四个报告:测试报告、代码覆盖率报告、软件组成分析报告和静态分析报告。

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