本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 動作中設定品質報告
本節說明如何在 動作中設定品質報告。
自動探索和手動報告
啟用自動探索時,CodeCatalyst 會搜尋傳遞至動作的所有輸入,以及動作本身產生的所有檔案,尋找測試、程式碼涵蓋範圍、軟體合成分析 (SCA) 和靜態分析 (SA) 報告。您可以在 CodeCatalyst 中檢視和操作每個報告。
您也可以手動設定要產生哪些報告。您可以指定要產生的報告類型以及檔案格式。如需詳細資訊,請參閱品質報告類型。
設定報告的成功條件
您可以設定值來決定測試、程式碼涵蓋範圍、軟體合成分析 (SCA) 或靜態分析 (SA) 報告的成功條件。
成功條件是用來判斷報告是否通過或失敗的閾值。CodeCatalyst 會先產生您的報告,可以是測試、程式碼涵蓋範圍、SCA 或 SA 報告,然後將成功條件套用至產生的報告。然後,它會顯示是否符合成功條件,以及達到多少程度。如果任何報告不符合指定的成功條件,則指定成功條件的 CodeCatalyst 動作會失敗。
例如,當您設定 SCA 報告的成功條件時,從最嚴重到最不嚴重的有效漏洞值為:CRITICAL
、HIGH
、MEDIUM
、LOW
、INFORMATIONAL
。如果您設定條件以HIGH
嚴重性掃描一個漏洞,則如果至少有一個HIGH
嚴重性漏洞或沒有HIGH
嚴重性漏洞,但至少一個嚴重性層級較高的漏洞,例如一個CRITICAL
嚴重性的漏洞,則報告將會失敗。
如果您未指定成功條件,則:
- Visual
-
設定成功條件
-
在導覽窗格中,選擇 CI/CD,然後選擇工作流程。
-
選擇包含產生報告之動作的工作流程。這是您要套用成功條件的報告。您可以依定義工作流程的來源儲存庫或分支名稱進行篩選,或依工作流程名稱或狀態進行篩選。
-
選擇編輯。
-
選擇視覺化。
-
在工作流程圖表中,選擇您已設定為產生 CodeCatalyst 報告的動作。
-
選擇 Output (輸出) 索引標籤。
-
在自動探索報告或手動設定報告下,選擇成功條件。
成功條件隨即出現。根據您先前的選擇,您可能會看到下列任何或所有選項:
通過率
指定測試報告中必須傳遞的測試百分比,相關 CodeCatalyst 報告才能標示為已傳遞。有效值包括小數位數。例如:50
、60.5
。通過率條件僅適用於測試報告。如需測試報告的詳細資訊,請參閱測試報告。
線路涵蓋範圍
指定程式碼涵蓋範圍報告中必須涵蓋的行數百分比,以便將相關聯的 CodeCatalyst 報告標示為已傳遞。有效值包括小數位數。例如:50
、60.5
。明細涵蓋範圍條件僅適用於程式碼涵蓋範圍報告。如需程式碼涵蓋範圍報告的詳細資訊,請參閱程式碼涵蓋範圍報告。
分支涵蓋範圍
在程式碼涵蓋範圍報告中指定必須涵蓋的分支百分比,相關 CodeCatalyst 報告才能標示為傳遞。有效值包括小數位數。例如:50
、60.5
。分支涵蓋範圍條件僅適用於程式碼涵蓋範圍報告。如需程式碼涵蓋範圍報告的詳細資訊,請參閱程式碼涵蓋範圍報告。
漏洞 (SCA)
指定 SCA 報告中允許將相關聯 CodeCatalyst 報告標記為已傳遞的漏洞數量和嚴重性上限。若要指定漏洞,您必須指定:
-
您要包含在計數中的漏洞的最低嚴重性。有效值,從最嚴重到最不嚴重,為:CRITICAL
、HIGH
、MEDIUM
、LOW
、INFORMATIONAL
。
例如,如果您選擇 HIGH
,則 HIGH
和 CRITICAL
漏洞將會很高。
-
您想要允許之指定嚴重性的漏洞數量上限。超過此數字會導致 CodeCatalyst 報告標示為失敗。有效值為整數。
漏洞條件只會套用至 SCA 報告。如需 SCA 報告的詳細資訊,請參閱 軟體合成分析報告。
錯誤
指定 SA 報告中允許將相關聯 CodeCatalyst 報告標記為已傳遞的錯誤數目和嚴重性上限。若要指定錯誤,您必須指定:
-
您要包含在計數中錯誤的最低嚴重性。有效值,從最嚴重到最不嚴重,為:CRITICAL
、HIGH
、MEDIUM
、LOW
、INFORMATIONAL
。
例如,如果您選擇 HIGH
,則 HIGH
和 CRITICAL
錯誤將會很高。
-
您想要允許之指定嚴重性的錯誤數目上限。超過此數字會導致 CodeCatalyst 報告標示為失敗。有效值為整數。
錯誤條件只會套用至 PyLint 和 ESLint SA 報告。如需 SA 報告的詳細資訊,請參閱 靜態分析報告。
安全漏洞
指定 SA 報告中允許將相關聯 CodeCatalyst 報告標記為已傳遞之安全漏洞的數量和嚴重性上限。若要指定安全漏洞,您必須指定:
-
您要包含在計數中的安全漏洞的最低嚴重性。有效值,從最嚴重到最不嚴重,為:CRITICAL
、HIGH
、MEDIUM
、LOW
、INFORMATIONAL
。
例如,如果您選擇 HIGH
,則 HIGH
和 將高化CRITICAL
安全漏洞。
-
您想要允許之指定嚴重性的安全漏洞數量上限。超過此數字會導致 CodeCatalyst 報告標示為失敗。有效值為整數。
安全漏洞條件僅適用於 PyLint 和 ESLint SA 報告。如需 SA 報告的詳細資訊,請參閱 靜態分析報告。
品質問題
指定 SA 報告中允許將相關聯 CodeCatalyst 報告標記為已傳遞的品質問題數量和嚴重性上限。若要指定品質問題,您必須指定:
-
您要包含在計數中之品質問題的最低嚴重性。有效值,從最嚴重到最不嚴重,為:CRITICAL
、HIGH
、MEDIUM
、LOW
、INFORMATIONAL
。
例如,如果您選擇 HIGH
,則 HIGH
和CRITICAL
品質問題將會高排名。
-
您想要允許之指定嚴重性的品質問題數量上限。超過此數字會導致 CodeCatalyst 報告標示為失敗。有效值為整數。
品質問題條件僅適用於 PyLint 和 ESLint SA 報告。如需 SA 報告的詳細資訊,請參閱 靜態分析報告。
-
選擇 Commit (遞交)。
-
執行工作流程,讓 CodeCatalyst 將成功條件套用至原始報告,並重新產生包含成功條件資訊的相關聯 CodeCatalyst 報告。如需詳細資訊,請參閱手動啟動工作流程執行。
- YAML
-
設定成功條件
-
在導覽窗格中,選擇 CI/CD,然後選擇工作流程。
-
選擇包含產生報告之動作的工作流程。這是您要套用成功條件的報告。您可以依定義工作流程的來源儲存庫或分支名稱進行篩選,或依工作流程名稱或狀態進行篩選。
-
選擇編輯。
-
選擇 YAML。
-
在工作流程圖表中,選擇您已設定為產生 CodeCatalyst 報告的動作。
-
在詳細資訊窗格中,選擇輸出索引標籤。
-
在 動作、 AutoDiscoverReports
區段或 Reports
區段中,新增 SuccessCriteria 屬性,以及 PassRate
、、LineCoverage
BranchCoverage
、Vulnerabilities
StaticAnalysisBug
、 StaticAnalysisSecurity
和 StaticAnalysisQuality
屬性。
如需每個屬性的說明,請參閱 建置和測試動作 YAML。
-
選擇 Commit (遞交)。
-
執行工作流程,讓 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