Skip to main content

bqrs interpret

[Plomberie] Interprète des données dans un seul BQRS.

Qui peut utiliser cette fonctionnalité ?

GitHub CodeQL est concédé sous licence par utilisateur lors de l’installation. Vous pouvez utiliser CodeQL uniquement pour certaines tâches soumises aux restrictions de licence. Pour plus d’informations, consultez « À propos de CodeQL CLI ».

Si vous disposez d’une licence GitHub Advanced Security, vous pouvez utiliser CodeQL pour l’analyse automatisée, l’intégration continue et la livraison continue. Pour plus d’informations, consultez « À propos de GitHub Advanced Security ».

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 bqrs interpret --format=<format> --output=<output> -t=<String=String> [--threads=<num>] [--source-archive=<sourceArchive>] [--source-location-prefix=<sourceLocationPrefix>] <options>... -- <bqrs-file>

Description

[Plomberie] Interprète des données dans un seul BQRS.

Commande qui interprète un seul fichier BQRS en fonction des métadonnées fournies et génère une sortie dans le format spécifié.

Options

Options principales

<bqrs-file>

[Obligatoire] Fichier BQRS à interpréter.

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

-t=<String=String>

[Obligatoire] Paire clé-valeur des métadonnées de requête. À répéter pour chaque élément de métadonnées. Au moins les clés « kind » et « id » doivent être spécifiées. Les clés n’ont pas besoin d’être préfixées avec @.

--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-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-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] Spécifie 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 apparaît (avec une barre oblique finale ajoutée si elle n’est pas déjà présente) sous forme de propriété <run>.automationId au format SARIF v1, de propriété <run>.automationLogicalId au format SARIF v2 et de propriété <run>.automationDetails.id au format SARIF v2.1.0.

-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é).

--sarif-run-property=<String=String>

[SARIF uniquement] Paire clé-valeur à ajouter au conteneur de propriétés « run » SARIF généré. Peut être répété.

--column-kind=<columnKind>

[SARIF uniquement] Type de colonne utilisé pour interpréter les colonnes d’emplacement. Un des éléments suivants : utf8, utf16, utf32, octets.

--[no-]unicode-new-lines

[SARIF uniquement] Indique si les caractères de nouvelle ligne Unicode LS (Séparateur de lignes, U+2028) et PS (Séparateur de paragraphe, U+2029) sont considérés comme des nouvelles lignes lors de l’interprétation des numéros de ligne d’emplacement.

Options d’archivage source - doivent être fournies ensemble ou pas du tout

-s, --source-archive=<sourceArchive>

Répertoire ou fichier zip contenant l’archive source.

-p, --source-location-prefix=<sourceLocationPrefix>

Chemin de fichier sur le système de fichiers d’origine où le code source a été stocké.

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.