Remarque
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
codeql database interpret-results --format=<format> --output=<output> [--threads=<num>] <options>... -- <database> <file|dir|suite>...
codeql database interpret-results --format=<format> --output=<output> [--threads=<num>] <options>... -- <database> <file|dir|suite>...
Description
[Plomberie] InterprĂšte les rĂ©sultats des requĂȘtes calculĂ©es dans des formats pertinents tels que SARIF ou CSV.
Les résultats doivent avoir été calculés et stockés dans un répertoire de base de données CodeQL avec codeql database run-queries. (Vous voudrez généralement effectuer ces étapes ensemble avec codeql database analyze.)
Options
Options principales
<database>
[Obligatoire] Chemin de la base de données CodeQL qui a été interrogée.
<file|dir|suite>...
RĂ©pĂšte la spĂ©cification des requĂȘtes qui ont Ă©tĂ© exĂ©cutĂ©es ici.
En cas dâomission, lâinterface CLI dĂ©termine un ensemble de requĂȘtes appropriĂ© Ă lâaide de la mĂȘme logique que codeql database run-queries.
(Dans une version ultĂ©rieure, il devrait ĂȘtre possible dâomettre cela et dâinterprĂ©ter Ă la place tous les rĂ©sultats trouvĂ©s dans la base de donnĂ©es. Cet avenir glorieux nâest pas pour tout de suite. DĂ©solĂ©.)
--format=<format>
[Obligatoire] Format dans lequel écrire les résultats. Valeurs possibles :
csv
: Valeurs sĂ©parĂ©es par des virgules mises en forme, notamment des colonnes avec des mĂ©tadonnĂ©es de rĂšgle et dâalerte.
sarif-latest
: Format SARIF (Static Analysis Results Interchange Format), basĂ© sur JSON pour dĂ©crire les rĂ©sultats dâanalyse statique. Cette option de format utilise la version prise en charge la plus rĂ©cente (v2.1.0). Cette option ne convient pas dans le cadre dâune automatisation, car elle produit diffĂ©rentes versions de format SARIF entre les diffĂ©rentes versions de CodeQL.
sarifv2.1.0
: SARIF v2.1.0.
graphtext
: Format texte reprĂ©sentant un graphe. Compatible uniquement avec les requĂȘtes avec @kind graph.
dgml
: Directed Graph Markup Language, format XML permettant de dĂ©crire des graphes. Compatible uniquement avec les requĂȘtes avec @kind graph.
dot
: Langage DOT Graphviz, format texte permettant de décrire des graphes.
Compatible uniquement avec les requĂȘtes avec @kind graph.
-o, --output=<output>
[Obligatoire] Chemin de sortie dans lequel Ă©crire les rĂ©sultats. Pour les formats de graphe, ce doit ĂȘtre un rĂ©pertoire, et le rĂ©sultat (ou les rĂ©sultats si cette commande prend en charge lâinterprĂ©tation de plusieurs requĂȘtes) est Ă©crit dans ce rĂ©pertoire.
--max-paths=<maxPaths>
Nombre maximal de chemins à produire pour chaque alerte avec des chemins. (Par défaut : 4)
--[no-]sarif-add-file-contents
[Formats SARIF uniquement] Incluez le contenu entier de tous les fichiers référencés dans au moins un résultat.
--[no-]sarif-add-snippets
[Formats SARIF uniquement] Incluez des extraits de code pour chaque emplacement mentionnĂ© dans les rĂ©sultats, avec deux lignes de contexte avant et aprĂšs lâemplacement signalĂ©.
--[no-]sarif-add-query-help
[Formats SARIF uniquement] [DĂ©conseillĂ©] Incluez lâaide de requĂȘte Markdown pour toutes les requĂȘtes. Elle charge lâaide des requĂȘtes pour /path/to/query.ql Ă partir du fichier /path/to/query.md. Si cet indicateur nâest pas fourni, le comportement par dĂ©faut consiste Ă inclure lâaide uniquement pour les requĂȘtes personnalisĂ©es, câest-Ă -dire celles des packs de requĂȘtes qui ne sont pas du formulaire `codeql/<lang&rt;-requĂȘtes`. Cette option nâa aucun effet lorsquâelle est passĂ©e Ă codeql bqrs interpret.
--sarif-include-query-help=<mode>
[Formats SARIF uniquement] SpĂ©cifiez sâil faut inclure lâaide de requĂȘte dans la sortie SARIF. Valeurs possibles :
always
: incluez lâaide sur les requĂȘtes pour toutes les requĂȘtes.
custom_queries_only
(par dĂ©faut) : incluez lâaide de requĂȘte uniquement pour les requĂȘtes personnalisĂ©es, câest-Ă -dire celles des packs de requĂȘtes qui ne sont pas du formulaire `codeql/<lang&rt;-requĂȘtes`.
never
: nâincluez aucune aide sur les requĂȘtes.
Cette option nâa aucun effet lorsquâelle est passĂ©e Ă codeql bqrs interpret.
Disponible depuis v2.15.2
.
--no-sarif-include-alert-provenance
[Advanced] [Formats SARIF uniquement] Ne pas inclure d'informations sur la provenance des alertes dans la sortie SARIF.
Disponible depuis v2.18.1
.
--[no-]sarif-group-rules-by-pack
[Formats SARIF uniquement] Place lâobjet de rĂšgle pour chaque requĂȘte sous son pack QL correspondant dans la propriĂ©tĂ© <run>.tool.extensions
. Cette option nâa aucun effet lorsquâelle est passĂ©e Ă codeql bqrs interpret.
--[no-]sarif-multicause-markdown
[Formats SARIF uniquement] Pour les alertes qui ont plusieurs causes, les inclut comme liste dĂ©taillĂ©e au format Markdown dans la sortie, en plus dâune chaĂźne simple.
--no-sarif-minify
[Formats SARIF uniquement] Produire une impression en mode Pretty de sortie SARIF. Par défaut, les données de sortie de SARIF sont minimisées afin de réduire la taille du fichier de sortie.
--sarif-run-property=<String=String>
[Formats SARIF uniquement] Paire clĂ©-valeur Ă ajouter au conteneur de propriĂ©tĂ©s « run » SARIF gĂ©nĂ©rĂ©. Peut ĂȘtre rĂ©pĂ©tĂ©.
--no-group-results
[Formats SARIF uniquement] Produit un rĂ©sultat par message, plutĂŽt quâun rĂ©sultat par emplacement unique.
--csv-location-format=<csvLocationFormat>
Format dans lequel produire des emplacements dans une sortie CSV. Un des éléments suivants : uri, ligne-colonne, décalage-longueur. (Par défaut : ligne-colonne)
--dot-location-url-format=<dotLocationUrlFormat>
ChaĂźne de format dĂ©finissant le format dans lequel produire les URL dâemplacement de fichier dans une sortie DOT. Les espaces rĂ©servĂ©s suivants peuvent ĂȘtre utilisĂ©s : {path} {start:line} {start:column} {end:line} {end:column}, {offset}, {length}
--[no-]sublanguage-file-coverage
[GitHub.com et GitHub Enterprise Server v3.12.0+ uniquement] Utilisez les informations de couverture des fichiers de sous-langage. Cela permet de calculer, dâafficher et dâexporter des informations de couverture de fichiers distinctes pour les langages qui partagent un extracteur CodeQL comme C et C++, Java et Kotlin, et JavaScript et TypeScript.
Disponible depuis v2.15.2
.
--sarif-category=<category>
[Formats SARIF uniquement] [RecommandĂ©] SpĂ©cifiez une catĂ©gorie pour cette analyse Ă inclure dans la sortie SARIF. Une catĂ©gorie peut ĂȘtre utilisĂ©e pour distinguer plusieurs analyses effectuĂ©es sur le mĂȘme commit et le mĂȘme dĂ©pĂŽt, mais dans diffĂ©rents langages ou diffĂ©rentes parties du code.
Si vous analysez la mĂȘme version dâune base de code de diffĂ©rentes maniĂšres (par exemple, pour diffĂ©rents langages) et que vous chargez les rĂ©sultats sur GitHub pour les prĂ©senter dans lâAnalyse du code, cette valeur doit diffĂ©rer entre chacune des analyses pour indiquer Ă lâAnalyse du code que les analyses se complĂštent plutĂŽt quâelles ne se remplacent. (Les valeurs doivent ĂȘtre cohĂ©rentes entre les exĂ©cutions de la mĂȘme analyse pour diffĂ©rentes versions de la base de code.)
Cette valeur sâaffiche (avec une barre oblique de fin ajoutĂ©e si elle nâest pas dĂ©jĂ prĂ©sente) en tant que propriĂ©tĂ© <run>.automationDetails.id
.
-j, --threads=<num>
Nombre de threads utilisés pour les chemins de calcul.
La valeur par dĂ©faut est de 1. Vous pouvez passer 0 pour utiliser un thread par cĆur sur la machine ou -N pour laisser N cĆurs inutilisĂ©s (sauf si au moins un thread est toujours utilisĂ©).
--no-database-extension-packs
[AvancĂ©] Omettez les packs dâextension stockĂ©s dans la base de donnĂ©es lors de la crĂ©ation de la base de donnĂ©es, soit Ă partir dâun fichier de configuration dâanalyse du code, soit Ă partir de fichiers dâextension stockĂ©s dans le rĂ©pertoire « extensions » de la base de code analysĂ©e.
--[no-]print-diagnostics-summary
Affiche un résumé des diagnostics analysés dans la sortie standard.
--[no-]print-metrics-summary
Affiche un résumé des métriques analysées dans la sortie standard.
--[no-]print-baseline-loc
Affiche les lignes de base de code comptabilisées dans la sortie standard.
Options pour configurer le gestionnaire de package CodeQL
--registries-auth-stdin
Permet de vous authentifier auprÚs des registres de conteneurs GitHub Enterprise Server en passant une liste de paires <registry_url>=<token> séparées par des virgules.
Par exemple, vous pouvez passer https://containers.GHEHOSTNAME1/v2/=TOKEN1,https://containers.GHEHOSTNAME2/v2/=TOKEN2
pour vous authentifier auprĂšs de deux instances GitHub Enterprise Server.
Cela remplace les variables dâenvironnement CODEQL_REGISTRIES_AUTH et GITHUB_TOKEN. Si vous avez seulement besoin de vous authentifier auprĂšs du registre de conteneurs github.com, vous pouvez vous authentifier en utilisant lâoption plus simple --github-auth-stdin
.
--github-auth-stdin
Permet de vous authentifier auprĂšs du registre de conteneurs github.com en passant un jeton github.com GitHub Apps ou un jeton dâaccĂšs personnel via une entrĂ©e standard.
Pour vous authentifier auprĂšs des registres de conteneurs GitHub Enterprise Server, passez --registries-auth-stdin
ou utilisez la variable dâenvironnement CODEQL_REGISTRIES_AUTH.
Cela remplace la variable dâenvironnement GITHUB_TOKEN.
Options permettant de spécifier les extensions à utiliser lors de l'interprétation des résultats
--model-packs=<
name@range>...
Une liste de noms de packs CodeQL, chacun avec une plage de versions optionnelle, Ă utiliser comme packs de modĂšles pour personnaliser les requĂȘtes qui sont sur le point d'ĂȘtre Ă©valuĂ©es.
Options pour trouver des packs QL (qui peuvent ĂȘtre nĂ©cessaires pour interprĂ©ter les suites de requĂȘtes)
--search-path=<dir>[:<dir>...]
Liste des rĂ©pertoires sous lesquels les packs QL peuvent ĂȘtre trouvĂ©s. Chaque rĂ©pertoire peut ĂȘtre un pack QL (ou un bundle de packs contenant un fichier .codeqlmanifest.json
Ă la racine) ou le parent immĂ©diat dâun ou plusieurs de ces rĂ©pertoires.
Si le chemin contient plusieurs rĂ©pertoires, leur ordre dĂ©finit la prioritĂ© entre eux : quand un nom de pack qui doit ĂȘtre rĂ©solu est mis en correspondance dans plusieurs arborescences de rĂ©pertoires, celle donnĂ©e en premier gagne.
Le pointage de ce chemin vers une extraction du dĂ©pĂŽt CodeQL open source devrait fonctionner lors de lâinterrogation dâun des langages qui y rĂ©sident.
Si vous avez extrait le dĂ©pĂŽt CodeQL en tant que frĂšre de la chaĂźne dâoutils CodeQL dĂ©compressĂ©e, vous nâavez pas besoin de donner cette option ; ces rĂ©pertoires frĂšres sont toujours recherchĂ©s pour les packs QL qui ne peuvent pas ĂȘtre trouvĂ©s autrement. (Si cette valeur par dĂ©faut ne fonctionne pas, il est fortement recommandĂ© de configurer --search-path
une fois pour toutes dans un fichier de configuration par utilisateur).
(Remarque : Sur Windows, le séparateur de chemin est ;
.)
--additional-packs=<dir>[:<dir>...]
Si cette liste de répertoires est donnée, des packs y sont recherchés avant ceux indiqués dans --search-path
. Lâordre entre eux nâa pas dâimportance ; il sâagit dâune erreur si un nom de pack est trouvĂ© dans deux rĂ©pertoires diffĂ©rents de cette liste.
Cette option est utile si vous dĂ©veloppez temporairement une nouvelle version dâun pack qui apparaĂźt aussi dans le chemin par dĂ©faut. En revanche, il nâest pas recommandĂ© de remplacer cette option dans un fichier de configuration ; certaines actions internes ajoutent cette option Ă la volĂ©e, remplaçant toute valeur configurĂ©e.
(Remarque : Sur Windows, le séparateur de chemin est ;
.)
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
.