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 我们喜欢贡献,反馈和错误报告。如果您在运行此操作时会遇到问题,请在此存储库中打开一个问题。