Note
In diesem Inhalt wird die neueste Version von CodeQL CLI beschrieben. Weitere Informationen zu diesem Thema findest du unter https://github.com/github/codeql-cli-binaries/releases.
Um Details zu den Optionen anzuzeigen, die für diesen Befehl in früheren Releases verfügbar sind, führe den Befehl mit der Option --help
im Terminal aus.
Übersicht
codeql github upload-results --sarif=<file> [--github-auth-stdin] [--github-url=<url>] [--repository=<repository-name>] [--ref=<ref>] [--commit=<commit>] [--checkout-path=<path>] <options>...
codeql github upload-results --sarif=<file> [--github-auth-stdin] [--github-url=<url>] [--repository=<repository-name>] [--ref=<ref>] [--commit=<commit>] [--checkout-path=<path>] <options>...
Beschreibung
Lädt eine SARIF-Datei in die GitHub-Codeüberprüfung hoch.
Weitere Informationen finden Sie unter Hochladen von CodeQL-Analyseergebnissen auf GitHub.
Es muss ein GitHub Apps-Token oder ein persönliches Zugriffstoken festgelegt werden. Die bewährte Methode für die Sicherheit besteht darin, das Flag --github-auth-stdin
festzulegen und das Token über die Standardeingabe an den Befehl zu übergeben.
Alternativ kann die Umgebungsvariable GITHUB_TOKEN
festgelegt werden.
Dieses Token muss als Bereich security_events
verwenden.
Optionen
Primäre Optionen
-s, --sarif=<file>
[Obligatorisch] Pfad zur SARIF-Dateien für die Verwendung. Dies sollte die Ausgabe von codeql database analyze (oder codeql database interpret-results) mit --format sarif-latest
für den Upload auf github.com oder das entsprechende unterstützte Formattag für GitHub Enterprise Server-Instanzen sein (Siehe SARIF-Unterstützung für die Codeüberprüfung für SARIF-Version, die von Ihrem Release unterstützt werden).
-r, --repository=<repository-name>
Besitzer und Name des GitHub-Repositorys (z. B. github/octocat), das als Endpunkt für den Upload verwendet werden soll. Die CLI versucht, diese Informationen automatisch aus dem Auscheckpfad zu ermitteln, wenn keine Angabe erfolgt.
-f, --ref=<ref>
Name der Referenz, die analysiert wurde. Wenn es sich bei dieser Referenz um einen Pull Request für einen Mergecommit handelt, verwendest du refs/pulls/1234/merge oder refs/pulls/1234/head (je nachdem, ob dieser Commit dem HEAD- oder MERGE-Commit des PR entspricht). Andernfalls sollte dies ein Branch sein: refs/heads/Branchname. Wenn keine Angabe erfolgt, versucht die CLI, diese Informationen automatisch aus dem aktuellen Branch des Auscheckpfads aufzufüllen, sofern dieser vorhanden ist.
-c, --commit=<commit>
SHA des analysierten Commits. Wenn keine Angabe erfolgt, versucht die CLI, diese Informationen automatisch aus dem Auscheckpfad zu ermitteln.
-p, --checkout-path=<path>
Auscheckpfad. Die Standardeinstellung ist das aktuelle Arbeitsverzeichnis.
--merge
[Erweitert] ermöglicht die Angabe von mehreren SARIF-Dateien und das Zusammenführen dieser in einer einzelnen Datei vor dem Upload. Dies wird nur zur Abwärtskompatibilität empfohlen. Für neue Analysen wird empfohlen, zwei separate SARIF-Dateien mit unterschiedlichen Kategorien hochzuladen. Diese Option funktioniert nur in Verbindung mit SARIF-Dateien, die von CodeQL mit SARIF Version 2.1.0 erstellt wurden (dies ist die Standardversion von SARIF, die von CodeQL verwendet wird).
--no-wait-for-processing
Standardmäßig wartet die CLI, bis GitHub die SARIF-Datei für maximal 2 Minuten verarbeitet und einen Nicht-Null-Exit-Code zurückgibt, wenn während der Verarbeitung der Analyseergebnisse Fehler aufgetreten sind. Du kannst anpassen, wie lange die CLI mit --wait-for-processing-timeout
wartet, oder deaktiviere das Feature mit --no-wait-for-processing
.
--wait-for-processing-timeout=<waitForProcessingTimeout>
Die maximale Zeit, die die CLI wartet, bis die hochgeladene SARIF-Datei von GitHub verarbeitet wird, in Sekunden. Der Standardwert beträgt 120 Sekunden (2 Minuten).
Diese Option ist nur gültig, wenn --wait-for-processing
auf festgelegt ist.
--format=<fmt>
Legt ein Ausgabeformat fest. Verfügbare Optionen:
text
(Standard) : gibt die URL zum Nachverfolgen des Status des SARIF-Uploads aus.
json
: gibt den Antworttext der API-Anforderung für den SARIF-Upload aus.
Weitere Informationen finden Sie auch unter REST-API-Endpunkte für die Codeüberprüfung.
Optionen zum Konfigurieren des Speicherorts für die hochgeladenen SARIF-Dateien.
-a, --github-auth-stdin
Akzeptiert ein GitHub Apps-Token oder ein persönliches Zugriffstoken über die Standardeingabe.
Dadurch wird die GITHUB_TOKEN-Umgebungsvariable überschrieben.
-g, --github-url=<url>
URL der zu verwendenden GitHub-Instanz. Wenn nicht angegeben, versucht die CLI, diese automatisch über den Check-Out-Pfad zu ermitteln. Wenn dies nicht möglich ist, wird diese standardmäßig auf https://github.com/ gesetzt.
Allgemeine Optionen
-h, --help
Zeigt diesen Hilfetext an.
-J=<opt>
[Erweitert] Dient zum Angeben einer Option für die JVM-Instanz, die den Befehl ausführt.
(Beachte, dass Optionen, die Leerzeichen enthalten, nicht ordnungsgemäß verarbeitet werden.)
-v, --verbose
Ermöglicht die inkrementelle Erhöhung der Anzahl ausgegebener Statusmeldungen.
-q, --quiet
Ermöglicht die inkrementelle Verringerung der Anzahl ausgegebener Statusmeldungen.
--verbosity=<level>
[Erweitert] Dient zum expliziten Festlegen des Ausführlichkeitsgrads auf „errors“, „warnings“, „progress“, „progress+“, „progress++“ oder „progress+++“. Überschreibt -v
und -q
:
--logdir=<dir>
[Erweitert] Ermöglicht das Schreiben detaillierter Protokolle in eine oder mehrere Dateien im angegebenen Verzeichnis mit generierten Namen, die Zeitstempel und den Namen des ausgeführten Unterbefehls enthalten.
(Um eine Protokolldatei mit einem Namen zu schreiben, über den du die volle Kontrolle hast, gib stattdessen --log-to-stderr
an, und leite stderr wie gewünscht um.)
--common-caches=<dir>
[Erweitert] Steuert den Speicherort zwischengespeicherter Daten auf dem Datenträger, der zwischen mehreren Ausführungsvorgängen der CLI beibehalten wird, z. B. heruntergeladene QL-Pakete und kompilierte Abfragepläne. Wenn dies nicht explizit festgelegt ist, wird dieses Verzeichnis standardmäßig auf ein Verzeichnis mit dem Namen .codeql
festgelegt, das sich im Startverzeichnis des Benutzer. Es wird erstellt, wenn es noch nicht vorhanden ist.
Verfügbar seit v2.15.2
.