Skip to main content
Nous publions des mises à jour fréquentes de notre documentation, et la traduction de cette page peut encore être en cours. Pour obtenir les informations les plus actuelles, consultez la documentation anglaise.

Cette version de GitHub Enterprise a été abandonnée le 2023-03-15. Aucune publication de correctifs n’est effectuée, même pour les problèmes de sécurité critiques. Pour de meilleures performances, une sécurité améliorée et de nouvelles fonctionnalités, effectuez une mise à niveau vers la dernière version de GitHub Enterprise. Pour obtenir de l’aide sur la mise à niveau, contactez le support GitHub Enterprise.

resolve queries

[Plomberie profonde] Développe les répertoires de requêtes et les spécifications de suite.

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 l’interface CLI CodeQL. 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 resolve queries <options>... -- <query|dir|suite|pack>...

Description

[Plomberie profonde] Développe les répertoires de requêtes et les spécifications de suite.

Cette commande de plomberie est chargée d’étendre les paramètres de ligne de commande des sous-commandes qui peuvent exécuter plusieurs requêtes, à une liste de fichiers .ql individuels à exécuter.

Si elle est exécutée sans argument, elle affiche un message d’aide incluant une liste de définitions de suite de requêtes « connues » trouvées dans les packs QL disponibles pour le flux d’erreurs standard, et retourne une liste vide de requêtes.

Options principales

<querysuite|pack>...

[Obligatoire] Requêtes à exécuter. Chaque argument se présente sous la forme scope/name@range:path où :

  • scope/name est le nom qualifié d’un pack CodeQL.
  • range est une plage semver.
  • path est un chemin de système de fichiers.

Si scope/name est spécifié, range et path sont facultatifs. Un range manquant implique la dernière version du pack spécifié. Un path manquant implique la suite de requêtes par défaut du pack spécifié.

path peut être, au choix, un fichier de requête *.ql, un répertoire contenant une ou plusieurs requêtes ou un fichier de suite de requêtes .qls. Si aucun nom de pack n’est spécifié, un path doit être fourni et sera interprété comme relatif au répertoire de travail actuel du processus en cours.

Pour spécifier un path qui contient un littéral @ ou :, utilisez path: comme préfixe de l’argument, comme suit : path:directory/with:and@/chars.

Si scope/name et path sont spécifiés, path ne peut pas être absolu. Il est considéré comme relatif à la racine du pack CodeQL.

--format=<fmt>

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

text (par défaut)  : Liste orientée ligne des noms de chemin.

json : Liste simple des noms de chemin sous forme de chaînes.

bylanguage : Représentation JSON plus complète qui regroupe les requêtes par extracteur avec lequel elles fonctionnent, déduit de leurs dépendances de bibliothèque - Légèrement plus cher à calculer.

installedpacks : [Plomberie profonde] Représentation JSON listant les packs de requêtes CodeQL qui sont référencés directement ou à l’intérieur d’une suite de requêtes et qui ne sont pas disponibles en local.

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 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>=\ 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 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.)