Skip to main content

Enterprise Server 3.15 est actuellement disponible en tant que version finale (RC).

github upload-results

Charge un fichier SARIF dans l’analyse du code GitHub.

Qui peut utiliser cette fonctionnalité ?

CodeQL est disponible pour les types de référentiels suivants :

Ce contenu décrit la version la plus récente de CodeQL CLI. Pour plus d’informations sur cette version, consultez https://github.com/github/codeql-cli-binaries/releases.

Pour voir les détails des options disponibles pour cette commande dans une version antérieure, exécutez la commande avec l’option --help dans votre terminal.

Synopsis

Shell
codeql github upload-results --sarif=<file> [--github-auth-stdin] [--github-url=<url>] [--repository=<repository-name>] [--ref=<ref>] [--commit=<commit>] [--checkout-path=<path>] <options>...

Description

Charge un fichier SARIF dans l’analyse du code GitHub.

Voir : Chargement des résultats d'analyse de CodeQL sur GitHub

Un jeton GitHub Apps ou un jeton d’accès personnel doivent être définis. Pour de bonnes pratiques en matière de sécurité, nous vous recommandons de définir l’indicateur --github-auth-stdin et de passer le jeton à la commande par le biais d’une entrée standard. Vous pouvez également définir la variable d’environnement GITHUB_TOKEN.

Votre jeton doit avoir l’étendue security_events.

Options

Options principales

-s, --sarif=<file>

[Obligatoire] Chemin d’accès au fichier SARIF à utiliser. Il doit s’agir de la sortie de codeql database analyze (ou codeql database interpret-results) avec --format sarif-latest pour le chargement vers github.com ou l’étiquette de format prise en charge appropriée pour les instances GitHub Enterprise Server (voir Prise en charge de SARIF pour l’analyse du code pour les versions SARIF prises en charge par votre version).

-r, --repository=<repository-name>

Propriétaire et nom du dépôt GitHub (par exemple, github/octocat) à utiliser comme point de terminaison pour le chargement. L’interface CLI tente de le détecter automatiquement à partir du chemin d’extraction s’il est omis.

-f, --ref=<ref>

Nom de la référence analysée. Si cette référence est un commit de fusion de demande de tirage (pull request), utilisez refs/pull/1234/merge ou refs/pull/1234/head (selon que ce commit correspond ou non au commit HEAD ou MERGE de la demande de tirage). Sinon, il doit s’agir d’une branche : refs/heads/nom-branche. En cas d’omission, l’interface CLI tente de remplir automatiquement cette valeur à partir de la branche actuelle du chemin d’extraction, le cas échéant.

-c, --commit=<commit>

SHA du commit qui a été analysé. S’il est omis, l’interface CLI tente de le détecter automatiquement à partir du chemin d’extraction.

-p, --checkout-path=<path>

Chemin de l’extraction. La valeur par défaut est le répertoire de travail actif.

--merge

[Avancé] Autorise la spécification de plusieurs fichiers SARIF et les fusionne en un seul fichier avant de les charger. Cela n’est recommandé qu’à des fins de compatibilité descendante. Pour les nouvelles analyses, nous vous recommandons de charger deux fichiers SARIF distincts avec des catégories différentes. Cette option fonctionne uniquement conjointement avec les fichiers SARIF produits par CodeQL avec SARIF version 2.1.0 (il s’agit de la version par défaut de SARIF utilisée par CodeQL).

--no-wait-for-processing

Par défaut, l’interface CLI attend que GitHub traite le fichier SARIF pendant un maximum de 2 minutes, retournant un code de sortie non nul s’il y avait des erreurs lors du traitement des résultats de l’analyse. Vous pouvez personnaliser la durée d’attente de l’interface CLI avec --wait-for-processing-timeout, ou désactiver la fonctionnalité avec --no-wait-for-processing.

--wait-for-processing-timeout=<waitForProcessingTimeout>

Délai maximal pendant lequel l’interface CLI attendra que le fichier SARIF téléchargé soit traité par GitHub, en secondes. La valeur par défaut est de 120 secondes (2 minutes). Cette option est valide uniquement quand --wait-for-processing est activé.

--format=<fmt>

Sélectionne le format de sortie. Les options sont les suivantes :

text (par défaut)  : affiche l’URL du suivi de l’état du chargement SARIF.

json : affiche le corps de la réponse de la demande d’API de chargement SARIF.

Voir aussi : Points de terminaison d’API REST pour l’analyse de codes

Options permettant de configurer l’emplacement de chargement des fichiers SARIF.

-a, --github-auth-stdin

Accepte un jeton GitHub Apps ou un jeton d’accès personnel via une entrée standard.

Cela remplace la variable d’environnement GITHUB_TOKEN.

-g, --github-url=<url>

URL de l’instance GitHub à utiliser. Si elle est omise, l’interface CLI tente de la détecter automatiquement à partir du chemin d’extraction et, si cela n’est pas possible, la valeur par défaut est https://github.com/

Options courantes

-h, --help

Affiche ce texte d’aide.

-J=<opt>

[Avancé] Donne une option à l’environnement JVM exécutant la commande.

(Attention, les options contenant des espaces ne sont pas gérées correctement.)

-v, --verbose

Augmente de façon incrémentielle le nombre de messages de progression affichés.

-q, --quiet

Diminue de façon incrémentielle le nombre de messages de progression affichés.

--verbosity=<level>

[Avancé] Définit explicitement le niveau de détail sur errors, warnings, progress, progress+, progress++ ou progress+++. Remplace -v et -q.

--logdir=<dir>

[Avancé] Écrit des journaux détaillés dans un ou plusieurs fichiers du répertoire donné, avec des noms générés qui incluent des horodatages et le nom de la sous-commande en cours d’exécution.

(Pour écrire un fichier journal avec un nom sur lequel vous avez un contrôle total, donnez plutôt --log-to-stderr et redirigez stderr comme vous le souhaitez.)

--common-caches=<dir>

[Avancé] Contrôle l’emplacement des données en cache sur le disque qui persisteront entre plusieurs exécutions de l’interface CLI, telles que les packs QL téléchargés et les plans de requête compilés. S’il n’est pas défini explicitement, il s’agit par défaut d’un répertoire nommé .codeql dans le répertoire de base de l’utilisateur. S’il n’existe pas déjà, il est créé.

Disponible depuis v2.15.2.