GitHub操作用於運行CODACY靜態分析的40多種支持語言,並在代碼中返回已確定的問題。
Codacy是一種自動代碼審核工具,可以通過分析40多種編程語言,例如PHP,JavaScript,Python,Java和Ruby來確保您的團隊編寫高質量代碼。 Codacy允許您定義自己要執行的質量規則,代碼模式和質量設置,以防止代碼庫上的問題。
Codacy GitHub動作支持以下方案:
默認情況下,codacy github動作:

要使用默認設置的github操作, .github/workflows/codacy-analysis.yaml在您的存儲庫中添加以下內容。
name : Codacy Analysis CLI
on : ["push"]
jobs :
codacy-analysis-cli :
name : Codacy Analysis CLI
runs-on : ubuntu-latest
steps :
- name : Checkout code
uses : actions/checkout@main
- name : Run Codacy Analysis CLI
uses : codacy/codacy-analysis-cli-action@master 將CODACY GITHUB操作與GitHub代碼掃描集成在一起,以在您的存儲庫中顯示分析結果,即“標籤安全性,頁面代碼掃描警報” 。
在這種情況下,github動作:
master main 。results.sarif ,然後將其上傳到GitHub。 
要將github操作與github代碼掃描集成使用, .github/workflows/codacy-analysis.yaml在您的存儲庫中添加以下內容。
name : Codacy Security Scan
on :
push :
branches : [ "master", "main" ]
pull_request :
branches : [ "master", "main" ]
jobs :
codacy-security-scan :
name : Codacy Security Scan
runs-on : ubuntu-latest
steps :
- name : Checkout code
uses : actions/checkout@main
- name : Run Codacy Analysis CLI
uses : codacy/codacy-analysis-cli-action@master
with :
output : results.sarif
format : sarif
# Adjust severity of non-security issues
gh-code-scanning-compat : true
# Force 0 exit code to allow SARIF file generation
# This will hand over control about PR rejection to the GitHub side
max-allowed-issues : 2147483647
# Upload the SARIF file generated in the previous step
- name : Upload SARIF results file
uses : github/codeql-action/upload-sarif@main
with :
sarif_file : results.sarif 使用GitHub操作運行CODACY支持的任何容器的客戶端工具,並將分析結果上傳到Codacy。
在這種情況下,github動作:
此後,Codacy在UI儀表板上顯示了您的提交和拉的請求的分析結果,並可以選擇直接在您的github拉動請求上報告分析的狀態。

將github動作與CODACY集成使用:
在CODACY上,啟用容器化客戶端工具,並在存儲庫代碼模式頁面上配置相應的代碼模式。
關於CODACY,在您的存儲庫設置,TAB常規,存儲庫分析中,通過構建服務器啟用運行分析。
此設置使Codacy能夠等待本地分析的結果,然後再恢復對提交的分析。
設置一個API令牌,以允許GitHub操作對CODACY進行身份驗證:
CODACY_PROJECT_TOKEN的名稱為您的存儲庫。CODACY_API_TOKEN名稱為您的組織。
配x 切勿將API令牌寫入您的配置文件,並保留API令牌的保護,因為它們將所有者權限授予您的Codacy項目。
將以下內容添加到文件.github/workflows/codacy-analysis.yaml中,其中<CLIENT_SIDE_TOOL_NAME>是CODEACY ANARICES CLI將在本地運行的容器化客戶端工具的名稱,或者不指定此參數以運行CODACY:CODACY:CODACY:
name : Codacy Analysis CLI
on : ["push"]
jobs :
codacy-analysis-cli :
name : Codacy Analysis CLI
runs-on : ubuntu-latest
steps :
- name : Checkout code
uses : actions/checkout@main
- name : Run Codacy Analysis CLI
uses : codacy/codacy-analysis-cli-action@master
with :
tool : <CLIENT_SIDE_TOOL_NAME>
project-token : ${{ secrets.CODACY_PROJECT_TOKEN }}
# or
# api-token: ${{ secrets.CODACY_API_TOKEN }}
upload : true
max-allowed-issues : 2147483647如果您正在運行GO客戶端工具,則還必須在運行CODACY分析CLI GITHUB操作之前設置GO環境。我們建議對此使用設置github操作:
- name : set-up go
uses : actions/setup-go@v3
with :
# Go version currently supported by Codacy
go-version : 1.19.1可選,指定以下參數以運行獨立客戶端工具:
run-gosec : " true "
run-staticcheck : " true "由於工具的複雜編排Clang-Tidy和Faux PAS,該操作可以接收工具的輸出文件並將其上傳到CODACY:
clang-tidy-output : " path/to/output "
faux-pas-output : " path/to/output "如果您只想運行獨立的客戶端工具,而不是Codacy支持的所有容器化工具,請指定:
run-docker-tools : " false "可選地,啟用GITHUB集成在CODACY上,以獲取有關直接在拉動請求上對更改文件的分析的信息。
Codacy GitHub動作是運行Codacy Analysis CLI的包裝器。有關支持的輸入參數的列表,請參見action.yml 。要將輸入參數傳遞給操作,請更新with地圖關聯的內容。
以下示例將分析限製到src目錄,並通過將verbose信息設置為true提供其他詳細信息。
- name : Run Codacy Analysis CLI
uses : codacy/codacy-analysis-cli-action@master
with :
directory : src
verbose : true 我們喜歡貢獻,反饋和錯誤報告。如果您在運行此操作時會遇到問題,請在此存儲庫中打開一個問題。