

Amazon CodeCatalyst 不再向新客戶開放。現有客戶可以繼續正常使用該服務。如需詳細資訊，請參閱[如何從 CodeCatalyst 遷移](migration.md)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 「GitHub 動作」動作 YAML
<a name="github-action-ref"></a>

以下是 **GitHub 動作**的 YAML 定義。

此動作定義以區段的形式存在於更廣泛的工作流程定義檔案中。如需有關此檔案的詳細資訊，請參閱[工作流程 YAML 定義](workflow-reference.md)。

在下列程式碼中選擇 YAML 屬性，以查看描述。

**注意**  
下列大多數 YAML 屬性在視覺化編輯器中都有對應的 UI 元素。若要查詢 UI 元素，請使用 **Ctrl\$1F**。 元素將與其相關聯的 YAML 屬性一起列出。

```
# The workflow definition starts here.
# See 最上層屬性 for details.
        
Name: MyWorkflow
SchemaVersion: 1.0 
Actions:

# The action definition starts here.
  action-name:
    Identifier:  aws/github-actions-runner@v1
    DependsOn:
      - dependent-action-name-1
    Compute:
      Fleet: fleet-name
    Timeout: timeout-minutes
    Environment:
      Name: environment-name
      Connections:
        - Name: account-connection-name
          Role: iam-role-name
    Inputs:
      Sources:
        - source-name-1
        - source-name-2
      Artifacts:
        - artifact-name
      Variables:
        - Name: variable-name-1
          Value: variable-value-1
        - Name: variable-name-2
          Value: variable-value-2   
    Outputs:
      Artifacts:
        - Name: output-artifact-1
          Files: 
            - github-output/artifact-1.jar
            - "github-output/build*"
        - Name: output-artifact-2
          Files:
            - github-output/artifact-2.1.jar
            - github-output/artifact-2.2.jar
      Variables:
        - variable-name-1
        - variable-name-2
      AutoDiscoverReports:
        Enabled: true | false
        ReportNamePrefix: AutoDiscovered
        IncludePaths:
          - "**/*"
        ExcludePaths:
          - node_modules/cdk/junit.xml
        SuccessCriteria:
          PassRate: percent
          LineCoverage: percent
          BranchCoverage: percent
          Vulnerabilities:
            Severity: CRITICAL|HIGH|MEDIUM|LOW|INFORMATIONAL
            Number: whole-number
      Reports:
        report-name-1:
          Format: format
          IncludePaths:
            - "*.xml"
          ExcludePaths:
            - report2.xml
            - report3.xml
          SuccessCriteria:
            PassRate: percent
            LineCoverage: percent
            BranchCoverage: percent
            Vulnerabilities:
              Severity: CRITICAL|HIGH|MEDIUM|LOW|INFORMATIONAL
              Number: whole-number
    Configuration      
      Steps:
        - github-actions-code
```

## action-name
<a name="github.name"></a>

(必要)

指定動作的名稱。工作流程中的所有動作名稱都必須是唯一的。動作名稱僅限於英數字元 (a-z、A-Z、0-9)、連字號 (-) 和底線 (\$1)。不允許空格。您無法使用引號在動作名稱中啟用特殊字元和空格。

對應的 UI：組態索引標籤/*action-name*

## Identifier
<a name="github.identifier"></a>

(*action-name*/**Identifier**)

識別 動作。除非您想要變更版本，否則請勿變更此屬性。如需詳細資訊，請參閱[指定要使用的動作版本](workflows-action-versions.md)。

將 `aws/github-actions-runner@v1`用於 **GitHub 動作**。

對應的 UI：工作流程圖表/*action-name*/**aws/github-actions-runner@v1** 標籤

## DependsOn
<a name="github.depends-on"></a>

(*action-name*/**DependsOn**)

(選用)

指定必須成功執行的動作、動作群組或閘道，才能執行此動作。

如需 'depends on' 功能的詳細資訊，請參閱 [定序動作](workflows-depends-on.md)。

對應的 UI：輸入索引標籤/**取決於 - 選用**

## Compute
<a name="github.computename"></a>

(*action-name*/**Compute**)

(選用)

用來執行工作流程動作的運算引擎。您可以在工作流程層級或動作層級指定運算，但不能同時指定兩者。在工作流程層級指定時，運算組態會套用至工作流程中定義的所有動作。在工作流程層級，您也可以在相同的執行個體上執行多個動作。如需詳細資訊，請參閱[跨動作共用運算](compute-sharing.md)。

對應的 UI：*無*

## Fleet
<a name="github.computefleet"></a>

(*action-name*/Compute/**Fleet**)

(選用)

指定將執行工作流程或工作流程動作的機器或機群。使用隨需機群時，當動作開始時，工作流程會佈建所需的資源，並在動作完成時銷毀機器。隨需機群的範例：`Linux.x86-64.Large`、`Linux.x86-64.XLarge`。如需隨需機群的詳細資訊，請參閱[隨需機群屬性](workflows-working-compute.md#compute.on-demand)。

使用佈建機群，您可以設定一組專用機器來執行工作流程動作。這些機器保持閒置狀態，準備好立即處理動作。如需佈建機群的詳細資訊，請參閱 [佈建的機群屬性](workflows-working-compute.md#compute.provisioned-fleets)。

如果省略 `Fleet` ，則預設值為 `Linux.x86-64.Large`。

對應的 UI：組態索引標籤/**運算機群 - 選用**

## Timeout
<a name="github.timeout"></a>

(*action-name*/**Timeout**)

(選用)

指定動作在 CodeCatalyst 結束動作之前可執行的時間，以分鐘為單位 (YAML 編輯器） 或小時和分鐘為單位。最小值為 5 分鐘，最大值如 中所述[CodeCatalyst 中工作流程的配額](workflows-quotas.md)。預設逾時與最大逾時相同。

對應的 UI：組態索引標籤/**逾時 - 選用 **

## Environment
<a name="github.environment"></a>

(*action-name*/**Environment**)

(選用)

指定要與 動作搭配使用的 CodeCatalyst 環境。動作會連線至所選環境中指定的 AWS 帳戶 和選用 Amazon VPC。動作會使用環境中指定的預設 IAM 角色來連線至 AWS 帳戶，並使用 [Amazon VPC 連線](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-vpcs.add.html)中指定的 IAM 角色來連線至 Amazon VPC。

**注意**  
如果預設 IAM 角色沒有 動作所需的許可，您可以將動作設定為使用不同的角色。如需詳細資訊，請參閱[變更 動作的 IAM 角色](deploy-environments-switch-role.md)。

如需環境的詳細資訊，請參閱 [部署至 AWS 帳戶 和 VPCs](deploy-environments.md)和 [建立環境](deploy-environments-creating-environment.md)。

對應的 UI：組態索引標籤/**環境**

## Name
<a name="github.environment.name"></a>

(*action-name*/Environment/**Name**)

（如果[Environment](#github.environment)包含 則為必要）

指定您要與動作建立關聯的現有環境名稱。

對應的 UI：組態索引標籤/**環境**

## Connections
<a name="github.environment.connections"></a>

(*action-name*/Environment/**Connections**)

(選用)

指定要與動作建立關聯的帳戶連線。您可以在 下指定最多一個帳戶連線`Environment`。

如果您未指定帳戶連線：
+ 動作會使用 CodeCatalyst 主控台中環境指定的 AWS 帳戶 連線和預設 IAM 角色。如需將帳戶連線和預設 IAM 角色新增至環境的相關資訊，請參閱 [建立環境](deploy-environments-creating-environment.md)。
+ 預設 IAM 角色必須包含 動作所需的政策和許可。若要判斷這些政策和許可是什麼，請參閱動作 YAML 定義文件中**角色**屬性的描述。

如需帳戶連線的詳細資訊，請參閱 [允許存取已連線 AWS 的資源 AWS 帳戶](ipa-connect-account.md)。如需將帳戶連線新增至環境的相關資訊，請參閱 [建立環境](deploy-environments-creating-environment.md)。

對應的 UI：組態tab/Environment/What*我的環境*是什麼？/三個點功能表/**切換角色**

## Name
<a name="github.environment.connections.name"></a>

(*action-name*/Environment/Connections/**Name**)

（如果[Connections](#github.environment.connections)包含 則為必要）

指定帳戶連線的名稱。

對應的 UI：組態tab/Environment/What*我的環境*是什麼？/三個點功能表/**切換角色**

## Role
<a name="github.environment.connections.role"></a>

(*action-name*/Environment/Connections/**Role**)

（如果[Connections](#github.environment.connections)包含 則為必要）

指定此動作用於在 Amazon S3 和 Amazon ECR 等 AWS 服務中存取和操作的 IAM 角色名稱。請確定此角色已新增至您 AWS 帳戶 空間中的連線。若要將 IAM 角色新增至帳戶連線，請參閱 [新增 IAM 角色至帳戶連線](ipa-connect-account-addroles.md)。

如果您未指定 IAM 角色，則動作會使用 CodeCatalyst 主控台中[環境中](deploy-environments.md)列出的預設 IAM 角色。如果您在環境中使用預設角色，請確定其具有下列政策。

**注意**  
您可以搭配此動作使用 `CodeCatalystWorkflowDevelopmentRole-spaceName`角色。如需有關此角色的詳細資訊，請參閱 [為您的帳戶和空間建立 **CodeCatalystWorkflowDevelopmentRole-*spaceName***角色](ipa-iam-roles.md#ipa-iam-roles-service-create)。了解該`CodeCatalystWorkflowDevelopmentRole-spaceName`角色具有可能造成安全風險的完整存取許可。我們建議您只在安全性較少的教學課程和案例中使用此角色。

**警告**  
將許可限制為 **GitHub 動作**所需的許可。使用具有更廣泛許可的角色可能會帶來安全風險。

對應的 UI：組態tab/Environment/What是 *my-environment*？/三個點功能表/**切換角色**

## Inputs
<a name="github.inputs"></a>

(*action-name*/**Inputs**)

(選用)

`Inputs` 區段定義 動作在工作流程執行期間所需的資料。

**注意**  
每個 **GitHub 動作**最多允許四個輸入 （一個來源和三個成品）。變數不會計入此總計。

如果您需要參考位於不同輸入中的檔案 （例如來源和成品），則來源輸入是主要輸入，而成品是次要輸入。對次要輸入中檔案的參考需要特殊的字首，才能將其從主要輸入中消除。如需詳細資訊，請參閱[範例：參考多個成品中的檔案](workflows-working-artifacts-ex.md#workflows-working-artifacts-ex-ref-file)。

對應的 UI：**輸入**索引標籤

## Sources
<a name="github.inputs.sources"></a>

(*action-name*/Inputs/**Sources**)

(選用)

指定代表 動作所需來源儲存庫的標籤。目前，唯一支援的標籤是 `WorkflowSource`，代表儲存工作流程定義檔案的來源儲存庫。

如果您省略來源，則必須在 下指定至少一個輸入成品`action-name/Inputs/Artifacts`。

如需來源的詳細資訊，請參閱 [將來源儲存庫連線至工作流程](workflows-sources.md)。

對應的 UI：輸入索引標籤/**來源 - 選用**

## Artifacts - input
<a name="github.inputs.artifacts"></a>

(*action-name*/Inputs/**Artifacts**)

(選用)

指定您要提供作為此動作輸入之先前動作的成品。這些成品必須已定義為先前動作中的輸出成品。

如果您未指定任何輸入成品，則必須在 下指定至少一個來源儲存庫`action-name/Inputs/Sources`。

如需成品的詳細資訊，包括範例，請參閱 [在動作之間共用成品和檔案](workflows-working-artifacts.md)。

**注意**  
如果**成品 - 選用**下拉式清單無法使用 （視覺化編輯器），或者您在驗證 YAML (YAML 編輯器） 時在 中發生錯誤，可能是因為動作僅支援一個輸入。在此情況下，請嘗試移除來源輸入。

對應的 UI：輸入索引標籤/**成品 - 選用**

## Variables - input
<a name="github.inputs.variables"></a>

(*action-name*/Inputs/**Variables**)

(選用)

指定名稱/值對的序列，以定義您要提供給動作的輸入變數。變數名稱僅限於英數字元 (a-z、A-Z、0-9)、連字號 (-) 和底線 (\$1)。不允許空格。您不能使用引號在變數名稱中啟用特殊字元和空格。

如需變數的詳細資訊，包括範例，請參閱 [在工作流程中使用變數](workflows-working-with-variables.md)。

對應的 UI：輸入索引標籤/**變數 - 選用**

## Outputs
<a name="github.outputs"></a>

(*action-name*/**Outputs**)

(選用)

定義 動作在工作流程執行期間輸出的資料。

對應的 UI：**輸出**索引標籤

## Artifacts - output
<a name="github.outputs.artifacts"></a>

(*action-name*/Outputs/**Artifacts**)

(選用)

指定 動作產生的成品名稱。成品名稱在工作流程中必須是唯一的，且僅限於英數字元 (a-z、A-Z、0-9) 和底線 (\$1)。不允許使用空格、連字號 (-) 和其他特殊字元。您無法使用引號在輸出成品名稱中啟用空格、連字號和其他特殊字元。

如需成品的詳細資訊，包括範例，請參閱 [在動作之間共用成品和檔案](workflows-working-artifacts.md)。

對應的 UI：輸出索引標籤/**成品**

## Name
<a name="github.outputs.artifacts.name"></a>

(*action-name*/Outputs/Artifacts/**Name**)

（如果[Artifacts - output](#github.outputs.artifacts)包含 則為必要）

指定 動作產生的成品名稱。成品名稱在工作流程中必須是唯一的，且僅限於英數字元 (a-z、A-Z、0-9) 和底線 (\$1)。不允許使用空格、連字號 (-) 和其他特殊字元。您無法使用引號在輸出成品名稱中啟用空格、連字號和其他特殊字元。

如需成品的詳細資訊，包括範例，請參閱 [在動作之間共用成品和檔案](workflows-working-artifacts.md)。

對應的 UI：輸出tab/Artifacts/Add成品/**建置成品名稱**

## Files
<a name="github.outputs.artifacts.files"></a>

(*action-name*/Outputs/Artifacts/**Files**)

（如果[Artifacts - output](#github.outputs.artifacts)包含 則為必要）

指定 CodeCatalyst 在由 動作輸出的成品中包含的檔案。這些檔案在執行時由工作流程動作產生，也可在您的來源儲存庫中使用。檔案路徑可以位於來源儲存庫或先前動作的成品中，並與來源儲存庫或成品根相關。您可以使用 glob 模式來指定路徑。範例：
+ 若要指定位於建置位置根目錄或來源儲存庫位置的單一檔案，請使用 `my-file.jar`。
+ 若要在子目錄中指定單一檔案，請使用 `directory/my-file.jar`或 `directory/subdirectory/my-file.jar`。
+ 若要指定所有檔案，請使用 `"**/*"`。`**` 全域模式表示 符合任意數量的子目錄。
+ 若要在名為 的目錄中指定所有檔案和目錄`directory`，請使用 `"directory/**/*"`。`**` 全域模式表示 符合任意數量的子目錄。
+ 若要指定目錄中名為 的所有檔案`directory`，但不是其任何子目錄，請使用 `"directory/*"`。

**注意**  
如果您的檔案路徑包含一或多個星號 (`*`) 或其他特殊字元，請以雙引號 () 括住路徑`""`。如需特殊字元的詳細資訊，請參閱 [語法準則和慣例](workflow-reference.md#workflow.terms.syntax.conv)。

如需成品的詳細資訊，包括範例，請參閱 [在動作之間共用成品和檔案](workflows-working-artifacts.md)。

**注意**  
您可能需要在檔案路徑中新增字首，以指出要找到它的成品或來源。如需詳細資訊，請參閱[參考來源儲存庫檔案](workflows-sources-reference-files.md)及[參考成品中的檔案](workflows-working-artifacts-refer-files.md)。

對應的 UI：輸出tab/Artifacts/Add**建置產生的成品/檔案**

## Variables - output
<a name="github.outputs.variables"></a>

(*action-name*/Outputs/**Variables**)

(選用)

指定您希望動作匯出的變數，以便可供後續動作使用。

如需變數的詳細資訊，包括範例，請參閱 [在工作流程中使用變數](workflows-working-with-variables.md)。

對應的 UI：輸出索引標籤/變數/**新增變數**

## variable-name-1
<a name="github.outputs.variables.name"></a>

(*action-name*/Outputs/Variables**variable-name-1**)

(選用)

指定您要動作匯出的變數名稱。此變數必須已在相同動作的 `Inputs`或 `Steps`區段中定義。

如需變數的詳細資訊，包括範例，請參閱 [在工作流程中使用變數](workflows-working-with-variables.md)。

對應的 UI：輸出tab/Variables/Add變數/**名稱**

## AutoDiscoverReports
<a name="github.outputs.autodiscover"></a>

(*action-name*/Outputs/**AutoDiscoverReports**)

(選用)

定義自動探索功能的組態。

當您啟用自動探索時，CodeCatalyst 會搜尋所有`Inputs`傳遞至動作的所有檔案，以及動作本身所產生的所有檔案，尋找測試、程式碼涵蓋範圍和軟體合成分析 (SCA) 報告。對於找到的每個報告，CodeCatalyst 會將其轉換為 CodeCatalyst 報告。*CodeCatalyst 報告*是完全整合到 CodeCatalyst 服務的報告，可以透過 CodeCatalyst 主控台檢視和操作。

**注意**  
根據預設，自動探索功能會檢查所有檔案。您可以使用 [IncludePaths](#github.reports.includepaths)或 [ExcludePaths](#github.reports.excludepaths) 屬性來限制要檢查哪些檔案。

對應的 UI：*無*

## Enabled
<a name="github.outputs.autodiscover.enabled"></a>

(*action-name*/Outputs/AutoDiscoverReports/**Enabled**)

(選用)

啟用或停用自動探索功能。

有效值為 `true` 或 `false`。

如果省略 `Enabled` ，則預設值為 `true`。

對應的 UI：輸出索引標籤/報告/**自動探索報告**

## ReportNamePrefix
<a name="github.outputs.autodiscover.reportnameprefix"></a>

(*action-name*/Outputs/AutoDiscoverReports/**ReportNamePrefix**)

（如果 [AutoDiscoverReports](#github.outputs.autodiscover) 已包含並啟用，則為必要項目）

指定 CodeCatalyst 在找到的所有報告前面加上的字首，以命名其相關聯的 CodeCatalyst 報告。例如，如果您指定字首 `AutoDiscovered`，而 CodeCatalyst 會自動探索兩個測試報告 `TestSuiteOne.xml`和 `TestSuiteTwo.xml`，則相關聯的 CodeCatalyst 報告將命名為 `AutoDiscoveredTestSuiteOne`和 `AutoDiscoveredTestSuiteTwo`。

對應的 UI：輸出tab/Reports/Automatically探索報告/**報告字首**

## IncludePaths
<a name="github.reports.includepaths"></a>

(*action-name*/Outputs/AutoDiscoverReports/**IncludePaths**)

或

(*action-name*/Outputs/Reports/*report-name-1*/**IncludePaths**)

（如果 [AutoDiscoverReports](#github.outputs.autodiscover)包含並啟用，或如果 [Reports](#github.configuration.reports) 包含，則為必要）

指定 CodeCatalyst 在搜尋原始報告時包含的檔案和檔案路徑。例如，如果您指定 `"/test/report/*"`，CodeCatalyst 會搜尋尋找`/test/report/*`目錄的動作所使用的整個[建置映像](build-images.md)。找到該目錄時，CodeCatalyst 接著會尋找該目錄中的報告。

**注意**  
如果您的檔案路徑包含一或多個星號 (`*`) 或其他特殊字元，請以雙引號 () 括住路徑`""`。如需特殊字元的詳細資訊，請參閱 [語法準則和慣例](workflow-reference.md#workflow.terms.syntax.conv)。

如果省略此屬性，預設值為 `"**/*"`，表示搜尋包含所有路徑的所有檔案。

**注意**  
對於手動設定的報告， `IncludePaths` 必須是符合單一檔案的 glob 模式。

對應的 UI：
+ 輸出tab/Reports/Automatically探索報告/'包含/排除路徑'/**包含路徑**
+ 輸出tab/Reports/Manually設定報告/*report-name-1*/'Include/excde paths'/**Include paths**

## ExcludePaths
<a name="github.reports.excludepaths"></a>

(*action-name*/Outputs/AutoDiscoverReports/**ExcludePaths**)

或

(*action-name*/Outputs/Reports/*report-name-1*/**ExcludePaths**)

(選用)

指定 CodeCatalyst 在搜尋原始報告時排除的檔案和檔案路徑。例如，如果您指定 `"/test/my-reports/**/*"`，CodeCatalyst 不會搜尋 `/test/my-reports/`目錄中的檔案。若要忽略目錄中的所有檔案，請使用 `**/*` glob 模式。

**注意**  
如果您的檔案路徑包含一或多個星號 (`*`) 或其他特殊字元，請以雙引號 () 括住路徑`""`。如需特殊字元的詳細資訊，請參閱 [語法準則和慣例](workflow-reference.md#workflow.terms.syntax.conv)。

對應的 UI：
+ 輸出tab/Reports/Automatically探索報告/'包含/排除路徑'/**排除路徑**
+ 輸出tab/Reports/Manually設定報告/*report-name-1*/'Include/exclude paths'/**Exclude paths**

## SuccessCriteria
<a name="github.reports.successcriteria"></a>

(*action-name*/Outputs/AutoDiscoverReports/**SuccessCriteria**)

或

(*action-name*/Outputs/Reports/*report-name-1*/**SuccessCriteria**)

(選用)

指定測試、程式碼涵蓋範圍、軟體合成分析 (SCA) 和靜態分析 (SA) 報告的成功條件。

如需詳細資訊，請參閱[設定報告的成功條件](test-config-action.md#test.success-criteria)。

對應的 UI：
+ 輸出tab/Reports/Automatically探索報告/**成功條件**
+ 輸出tab/Reports/Manually設定報告/*report-name-1*/**成功條件**

## PassRate
<a name="github.reports.successcriteria.passrate"></a>

(*action-name*/Outputs/AutoDiscoverReports/SuccessCriteria/**PassRate**)

或

(*action-name*/Outputs/Reports/*report-name-1*/SuccessCriteria/**PassRate**)

(選用)

指定測試報告中必須傳遞的測試百分比，相關 CodeCatalyst 報告才能標示為已傳遞。有效值包括小數位數。例如：`50`、`60.5`。通過率條件僅適用於測試報告。如需測試報告的詳細資訊，請參閱 [測試報告](test-workflow-actions.md#test-reports)。

對應的 UI：
+ 輸出tab/Reports/Automatically探索報告/成功條件/**通過率**
+ 輸出tab/Reports/Manually設定報告/*report-name-1*/成功條件/**通過率**

## LineCoverage
<a name="github.reports.successcriteria.linecoverage"></a>

(*action-name*/Outputs/AutoDiscoverReports/SuccessCriteria/**LineCoverage**)

或

(*action-name*/Outputs/Reports/*report-name-1*/SuccessCriteria/**LineCoverage**)

(選用)

指定程式碼涵蓋範圍報告中必須涵蓋的行數百分比，以便將相關聯的 CodeCatalyst 報告標示為已傳遞。有效值包括小數位數。例如：`50`、`60.5`。明細涵蓋範圍條件只會套用至程式碼涵蓋範圍報告。如需程式碼涵蓋範圍報告的詳細資訊，請參閱 [程式碼涵蓋範圍報告](test-workflow-actions.md#test-code-coverage-reports)。

對應的 UI：
+ 輸出tab/Reports/Automatically探索報告/成功條件/**行涵蓋範圍**
+ Outputs tab/Reports/Manually configure report/*report-name-1*/Success criteria/**Line coverage**

## BranchCoverage
<a name="github.reports.successcriteria.branchcoverage"></a>

(*action-name*/Outputs/AutoDiscoverReports/SuccessCriteria/**BranchCoverage**)

或

(*action-name*/Outputs/Reports/*report-name-1*/SuccessCriteria/**BranchCoverage**)

(選用)

指定程式碼涵蓋範圍報告中必須涵蓋的分支百分比，以便將關聯的 CodeCatalyst 報告標示為已傳遞。有效值包括小數位數。例如：`50`、`60.5`。分支涵蓋範圍條件僅適用於程式碼涵蓋範圍報告。如需程式碼涵蓋範圍報告的詳細資訊，請參閱 [程式碼涵蓋範圍報告](test-workflow-actions.md#test-code-coverage-reports)。

對應的 UI：
+ 輸出tab/Reports/Automatically探索報告/成功條件/**分支涵蓋範圍**
+ 輸出tab/Reports/Manually設定報告/*report-name-1*/成功條件/**分支涵蓋範圍**

## Vulnerabilities
<a name="github.reports.successcriteria.vulnerabilities"></a>

(*action-name*/Outputs/AutoDiscoverReports/SuccessCriteria/**Vulnerabilities**)

或

(*action-name*/Outputs/Reports/*report-name-1*/SuccessCriteria/**Vulnerabilities**)

(選用)

針對要標示為已傳遞的相關聯 CodeCatalyst 報告，指定 SCA 報告中允許的漏洞數量和嚴重性上限。若要指定漏洞，您必須指定：
+ 您要包含在計數中的漏洞最低嚴重性。從最嚴重到最不嚴重的有效值為：`CRITICAL`、`HIGH`、`MEDIUM`、`LOW`、`INFORMATIONAL`。

  例如，如果您選擇 `HIGH`，則 `HIGH`和 `CRITICAL` 漏洞將會很高。
+ 您想要允許之指定嚴重性的漏洞數量上限。超過此數字會導致 CodeCatalyst 報告標示為失敗。有效值為整數。

漏洞條件只會套用至 SCA 報告。如需 SCA 報告的詳細資訊，請參閱 [軟體合成分析報告](test-workflow-actions.md#test-sca-reports)。

若要指定最低嚴重性，請使用 `Severity` 屬性。若要指定漏洞數量上限，請使用 `Number` 屬性。

如需 SCA 報告的詳細資訊，請參閱 [品質報告類型](test-workflow-actions.md#test-reporting)。

對應的 UI：
+ 輸出tab/Reports/Automatically探索報告/成功條件/**漏洞**
+ 輸出tab/Reports/Manually設定報告/*report-name-1*/成功條件/**漏洞**

## Reports
<a name="github.configuration.reports"></a>

(*action-name*/Outputs/**Reports**)

(選用)

指定測試報告組態的區段。

對應的 UI：輸出索引標籤/**報告**

## report-name-1
<a name="github.configuration.reports.report-name-1"></a>

(*action-name*/Outputs/Reports/**report-name-1**)

（如果[Reports](#github.configuration.reports)包含 則為必要）

您要提供給 CodeCatalyst 報告的名稱，該報告將從原始報告產生。

對應的 UI：輸出tab/Reports/Manually設定報告/**報告名稱**

## Format
<a name="github.configuration.reports.name.testresults.format"></a>

(*action-name*/Outputs/Reports/*report-name-1*/**Format**)

（如果[Reports](#github.configuration.reports)包含 則為必要）

指定您用於報告的檔案格式。可能的值如下。
+ 對於測試報告：
  + 針對 Cucumber JSON，指定 **Cucumber** （視覺化編輯器） 或 `CUCUMBERJSON`(YAML 編輯器）。
  + 針對 JUnit XML，指定 **JUnit** （視覺化編輯器） 或 `JUNITXML`(YAML 編輯器）。
  + 對於 NUnit XML，指定 **NUnit** （視覺化編輯器） 或 `NUNITXML`(YAML 編輯器）。
  + 對於 NUnit 3 XML，指定 **NUnit3** （視覺化編輯器） 或 `NUNIT3XML`(YAML 編輯器）。
  + 針對 Visual Studio TRX，指定 **Visual Studio TRX** （視覺化編輯器） 或 `VISUALSTUDIOTRX`(YAML 編輯器）。
  + 針對 TestNG XML，指定 **TestNG** （視覺化編輯器） 或 `TESTNGXML`(YAML 編輯器）。
+ 對於程式碼涵蓋範圍報告：
  + 對於 Clover XML，指定 **Clover** （視覺化編輯器） 或 `CLOVERXML`(YAML 編輯器）。
  + 對於 Cobertura XML，指定 **Cobertura** （視覺編輯器） 或 `COBERTURAXML`(YAML 編輯器）。
  + 對於 JaCoCo XML，指定 **JaCoCo** （視覺編輯器） 或 `JACOCOXML`(YAML 編輯器）。
  + 對於 Simplecov 產生的 SimpleCov JSON，而非 [simplecov-json](https://github.com/vicentllongo/simplecov-json)，請指定 **Simplecov** （視覺化編輯器） 或 `SIMPLECOV`(YAML 編輯器）。 [https://github.com/simplecov-ruby/simplecov](https://github.com/simplecov-ruby/simplecov)
+ 對於軟體合成分析 (SCA) 報告：
  + 對於 SARIF，指定 **SARIF** （視覺化編輯器） 或 `SARIFSCA`(YAML 編輯器）。

對應的 UI：輸出tab/Reports/Manually設定報告/新增報告/*report-name-1*/**報告類型**和**報告格式**

## Configuration
<a name="github.configuration"></a>

(*action-name*/**Configuration**)

（必要） 您可以在此區段定義 動作的組態屬性。

對應的 UI：**組態**索引標籤

## Steps
<a name="github.configuration.steps"></a>

(*action-name*/Configuration/**Steps**)

(必要) 

指定 GitHub Marketplace 中動作詳細資訊頁面上顯示的 [GitHub ](https://github.com/marketplace)動作程式碼。請依照下列準則新增程式碼：

1. 將 GitHub 動作`steps:`區段中的程式碼貼到 CodeCatalyst 工作流程的 `Steps:`區段。程式碼以破折號 (-) 開頭，如下所示。

   要貼上的 GitHub 程式碼：

   ```
   - name: Lint Code Base
     uses: github/super-linter@v4
     env:
       VALIDATE_ALL_CODEBASE: false
       DEFAULT_BRANCH: master
       GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
   ```

1. 檢閱您剛貼上的程式碼，並視需要修改，使其符合 CodeCatalyst 標準。例如，使用上述程式碼區塊，您可以移除*紅色斜體*的程式碼，並以**粗體**新增程式碼。

   CodeCatalyst 工作流程 yaml：

   ```
   Steps:      
      - name: Lint Code Base
        uses: github/super-linter@v4
        env:
          VALIDATE_ALL_CODEBASE: false
          DEFAULT_BRANCH: mastermain
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
   ```

1. 如需 GitHub 動作中包含但`steps:`區段內不存在的其他程式碼，請使用 CodeCatalyst 同等程式碼將其新增至 CodeCatalyst 工作流程。您可以檢閱 [工作流程 YAML 定義](workflow-reference.md)，深入了解如何將 GitHub 程式碼移植到 CodeCatalyst。詳細的遷移步驟不在本指南的範圍內。

以下是如何在 **GitHub 動作**中指定檔案路徑的範例：

```
Steps:
  - name: Lint Code Base
    uses: github/super-linter@v4
    ...
  - run: cd /sources/WorkflowSource/MyFolder/  && cat file.txt
  - run: cd /artifacts/MyGitHubAction/MyArtifact/MyFolder/  && cat file2.txt
```

如需指定檔案路徑的詳細資訊，請參閱 [參考來源儲存庫檔案](workflows-sources-reference-files.md)和 [參考成品中的檔案](workflows-working-artifacts-refer-files.md)。

對應的 UI：組態索引標籤/**GitHub 動作 YAML**