GitHub -Aktion zum Ausführen der statischen Analyse von Codacy in über 40 unterstützten Sprachen und zur Rückgabe identifizierter Probleme im Code.
Codacy ist ein automatisiertes Code-Überprüfungs-Tool, mit dem Sie sicherstellen können, dass Ihr Team hochwertige Code schreibt, indem mehr als 40 Programmiersprachen wie PHP, JavaScript, Python, Java und Ruby analysiert werden. Mit Codacy können Sie Ihre eigenen Qualitätsregeln, Codemuster und Qualitätseinstellungen definieren, die Sie durchsetzen möchten, um Probleme in Ihrer Codebasis zu verhindern.
Die Codacy Github -Aktion unterstützt die folgenden Szenarien:
Standardmäßig ist die Codacy Github -Aktion:

Um die GitHub-Aktion mit Standardeinstellungen zu verwenden, fügen Sie Folgendes einer Datei hinzu .github/workflows/codacy-analysis.yaml in Ihrem Repository:
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 Integrieren Sie die Codacy -Github -Aktion mit GitHub -Code -Scannen, um die Analyseergebnisse in Ihrem Repository unter der Registerkarte "Seitscodescanning -Warnungen" anzuzeigen.
In diesem Szenario die Github -Aktion:
master oder main , indem Sie alle unterstützten statischen Codeanalyse -Tools für die in Ihrem Repository gefundenen Sprachen ausführen.results.sarif aus. 
Um die GitHub-Aktion mit GitHub-Code-Scanning-Integration zu verwenden, fügen Sie Folgendes einer Datei hinzu .github/workflows/codacy-analysis.yaml in Ihrem Repository:
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 Verwenden Sie die GitHub-Aktion, um eine der containerisierten clientseitigen Tools auszuführen, die durch die Kodazität unterstützt werden, und laden Sie die Ergebnisse der Analyse in das Codacy hoch.
In diesem Szenario die Github -Aktion:
Danach zeigt Codacy die Ergebnisse der Analyse Ihrer Commits an und zeichnet die Anforderungen der UI -Dashboards ab und meldet optional den Status der Analyse direkt in Ihren Github -Pull -Anfragen.

Verwenden Sie die GitHub -Aktion mit Codacy -Integration:
Aktivieren Sie bei Codacy das containerisierte Client-Seite-Tool und konfigurieren Sie die entsprechenden Codemuster auf Ihrer Seite "Repository -Codemuster" .
Aktivieren Sie bei der Codacy die Ausführung der Ausführung durch Build Server in Ihren Repository -Einstellungen , Registerkarte Allgemeiner Repository -Analyse .
Diese Einstellung ermöglicht die Kodazität, auf die Ergebnisse der lokalen Analyse zu warten, bevor die Analyse Ihrer Commits wieder aufgenommen wird.
Richten Sie ein API -Token ein, damit die GitHub -Aktion sich in der Codacy authentifizieren kann:
CODACY_PROJECT_TOKEN .CODACY_API_TOKEN .
Euen Schreiben Sie niemals API -Token in Ihre Konfigurationsdateien und halten Sie Ihre API -Token gut geschützt, da sie den Eigentümer Berechtigungen für Ihre Projekte zur Codacy erteilen.
Fügen Sie eine Datei zu einer Datei hinzu .github/workflows/codacy-analysis.yaml in Ihrem Repository, wobei <CLIENT_SIDE_TOOL_NAME> der Name des containerisierten clientseitigen Tools ist, das die Codacy-Analyse-CLI local ausführt, oder nicht angeben, um alle von der Kandidat unterstützten Tools auszuführen:
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 : 2147483647Wenn Sie ein GO-Client-Seiten-Tool ausführen, müssen Sie auch die GO-Umgebung einrichten, bevor Sie die Codacy-Analyse-CLI-Github-Aktion ausführen. Wir empfehlen, dafür die Setup-Go-Github-Aktion zu verwenden:
- name : set-up go
uses : actions/setup-go@v3
with :
# Go version currently supported by Codacy
go-version : 1.19.1Geben Sie optional die folgenden Parameter an, um eigenständige clientseitige Tools auszuführen:
run-gosec : " true "
run-staticcheck : " true "Aufgrund der komplexen Orchestrierung der Tools, die klettern und faux PAS sind, kann die Aktion stattdessen die Ausgabedateien der Tools empfangen und sie in Codacy hochladen:
clang-tidy-output : " path/to/output "
faux-pas-output : " path/to/output "Wenn Sie nur die eigenständigen Client-Seite-Tools ausführen möchten und nicht alle von Codacy unterstützten Container-Tools, geben Sie an:
run-docker-tools : " false "Aktivieren Sie optional die GitHub -Integration in Codacy, um Informationen über die Analyse der geänderten Dateien direkt in Ihren Pull -Anforderungen zu erhalten.
Die Codacy Github -Aktion ist ein Wrapper zum Ausführen der Codacy -Analyse -CLI. Eine Liste der unterstützten Eingabeparameter finden Sie unter action.yml . Um Eingabeparameter an die Aktion zu übergeben, aktualisieren Sie die with der MAP zugeordnete zugeordnete.
Das folgende Beispiel begrenzt die Analyse in ein src -Verzeichnis und liefert zusätzliche Details, indem es verbose auf true gesetzt wird.
- name : Run Codacy Analysis CLI
uses : codacy/codacy-analysis-cli-action@master
with :
directory : src
verbose : true Wir lieben Beiträge, Feedback und Fehlerberichte. Wenn Sie bei der Ausführung dieser Aktion Probleme treffen, öffnen Sie ein Problem in diesem Repository.