Skip to content

Exit-Codes

Was die CLI als Exit-Code liefert und was die Werte bedeuten.

Die folgende Tabelle gilt für codecharter analyze. Andere Befehle verwenden dieselben Nummern mit anderer Bedeutung (zum Beispiel liefert codecharter test Exit-Code 1 bei fehlgeschlagenen Spec-Fällen und codecharter verify Exit-Code 1 bei erkanntem Drift). Exit-Code 6 (Lizenzfehler) gilt für jeden Befehl.

Code Bedeutung
0 Erfolg. Keine Findings über der --fail-on-Schwelle.
1 Findings über der --fail-on-Schwelle.
2 Aufruf- oder Konfigurationsfehler (zum Beispiel ungültige Flag-Kombinationen, eine fehlende Diff-Datei, kein Regelverzeichnis, eine defekte Baseline-Datei oder ein fehlendes Lockfile bei konfigurierten Profilen).
3 Analyse konnte nicht ausgeführt werden. Entweder konnte die Solution nicht geladen werden, oder der Profil-Cache ist unvollständig und das Portal nicht erreichbar. Im zweiten Fall führen Sie codecharter update mit Internetverbindung aus.
4 Lockfile veraltet. Bei konfigurierten Plattform-Profilen weicht der Content-Hash eines Profils von dem ab, was das Portal meldet. Führen Sie codecharter update aus.
6 Lizenzfehler. Lizenzdatei fehlt, ist abgelaufen, manipuliert oder für diese CLI-Version nicht freigegeben. Siehe Lizenzdatei.
10 Konfigurationsdatei strukturell ungültig. .codecharter/config.yml oder .codecharter/config.local.yml enthält fehlerhaftes YAML oder eine ungültige Struktur. Die genaue Fehlermeldung erscheint auf stderr.

--fail-on und Exit-Code 1

codecharter analyze MySolution.sln --fail-on error
codecharter analyze MySolution.sln --fail-on warn
codecharter analyze MySolution.sln --fail-on info
Wert Exit-Code 1 wenn
error mindestens ein error-Finding
warn mindestens ein warn- oder error-Finding
info mindestens ein Finding überhaupt

Ohne --fail-on führt jedes Finding zu Exit-Code 1. Mit --fail-on error wird nur bei Findings mit Severity error blockiert.

Beispiele in CI-Shells

GitHub Actions

- name: CodeCharter
  run: codecharter analyze MySolution.sln --fail-on error
  # Exit-Code 1 macht den Step rot, GitHub stoppt den Job.

Bash mit Exit-Codes auswerten

codecharter analyze MySolution.sln --fail-on error
code=$?
case $code in
  0) echo "ok" ;;
  1) echo "findings over threshold" ;;
  2) echo "usage or configuration error" ;;
esac