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 generate query-help --format=<format> [--output=<dir|file>] <options>... -- <qhelp|query|dir|suite>...
codeql generate query-help --format=<format> [--output=<dir|file>] <options>... -- <qhelp|query|dir|suite>...
Description
Génère l’aide des requêtes des utilisateurs finaux à partir de fichiers .qhelp.
Options
Options principales
<qhelpdir|suite>...
[Obligatoire] Fichiers d’aide de requêtes à rendre. Chaque argument est l’un des éléments suivants :
- Un fichier .qhelp à rendre.
- Un fichier .ql avec un fichier .qhelp correspondant à rendre.
- Un répertoire qui fera l’objet d’une recherche récursive pour trouver les fichiers .ql avec les fichiers .qhelp correspondants.
- Un fichier .qls qui définit un ensemble particulier de requêtes.
- Le nom de base d’un fichier .qls « connu » exporté par l’un des packs QL installés.
--format=<format>
[Obligatoire] Format de rendu de la documentation. Valeurs possibles :
markdown
: GitHub Flavored Markdown
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.
-o, --output=<dir|file>
Chemin dans lequel écrire la documentation rendue. Il s’agit généralement d’un répertoire dans lequel la sortie rendue est écrite.
Si un seul fichier .qhelp ou .ql est fourni et qu’aucun répertoire n’existe au niveau du chemin de sortie, la sortie est écrite dans un seul fichier au niveau de ce chemin.
Si aucun chemin de sortie n’est fourni, un seul fichier .qhelp ou .ql est accepté et la sortie est écrite dans stdout.
Si un répertoire de sortie est utilisé, les noms de fichier dans le répertoire de sortie sont dérivés des noms de fichier .qhelp.
--warnings=<mode>
Comment gérer les avertissements du renderer de l’aide des requêtes. Valeurs possibles :
hide
: Supprime les avertissements.
show
(par défaut) : Affiche les avertissements, mais poursuit le rendu.
error
: Traite les avertissements comme des erreurs.
--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.
Options pour trouver des packs QL (qui peuvent être nécessaires pour résoudre 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>=<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 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
.