40を超えるサポートされた言語でCodacy静的分析を実行し、コード内の特定された問題を返すGithubアクション。
Codacyは、PHP、JavaScript、Python、Java、Rubyなどの40を超えるプログラミング言語を分析することで、チームが高品質のコードを簡単に作成できるようにする自動コードレビューツールです。 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アクション:
main masterへのリクエストを分析します。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は、Commitsの分析結果をUIダッシュボードにプルリクエストの結果を表示し、オプションでGitHub Pullリクエストで分析のステータスを直接報告します。

Codacy統合でGitHubアクションを使用するには:
Codacyでは、コンテナ化されたクライアント側のツールを有効にし、リポジトリコードパターンページで対応するコードパターンを構成します。
Codacyでは、リポジトリ設定のビルドサーバーを介して分析を実行できます。タブ一般、リポジトリ分析を行います。
この設定により、Codacyは、コミットの分析を再開する前に、ローカル分析の結果を待つことができます。
APIトークンを設定して、GitHubアクションがCodacyを認証できるようにします。
CODACY_PROJECT_TOKENという名前のリポジトリの暗号化された秘密として保存します。CODACY_API_TOKENという名前の組織の暗号化された秘密として保存します。
ショ和 構成ファイルにAPIトークンを書き留めたり、APIトークンをコードシーに関するプロジェクトに所有者の許可を与えたりするため、APIトークンを十分に保護しないでください。
以下をファイルに追加します.github/workflows/codacy-analysis.yamlリポジトリのyamlここで、 <CLIENT_SIDE_TOOL_NAME>は、Codacy分析CLIがローカルに実行するコンテナ化されたクライアント側ツールの名前です。
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 : 2147483647GOクライアント側のツールを実行している場合は、 Codacy Analysis Cli Githubアクションを実行する前に、GO環境をセットアップする必要があります。これには、セットアップGOTITHUBアクションを使用することをお勧めします。
- 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 "オプションでは、Codacyに関するGitHub統合を有効にして、Pullリクエストで変更されたファイルの分析に関する情報を直接入手できます。
Codacy Githubアクションは、Codacy Analysis CLIを実行するためのラッパーです。サポートされている入力パラメーターのリストについては、 action.yml参照してください。入力パラメーターをアクションに渡すには、関連するMAP with更新します。
次の例は、分析をsrcディレクトリに制限し、 verbose true設定することにより追加の詳細を提供します。
- name : Run Codacy Analysis CLI
uses : codacy/codacy-analysis-cli-action@master
with :
directory : src
verbose : true 貢献、フィードバック、バグレポートが大好きです。このアクションを実行中に問題に遭遇した場合は、このリポジトリで問題を開きます。