Skip to main content

database interpret-results

[Plomberie] InterprĂšte les rĂ©sultats des requĂȘtes calculĂ©es dans des formats pertinents tels que SARIF ou CSV.

Qui peut utiliser cette fonctionnalité ?

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

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

Shell
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.