Skip to main content

Test des fichiers d’aide aux requĂȘtes

Vous pouvez utiliser CodeQL CLI pour prĂ©visualiser vos fichiers d’aide aux requĂȘtes au format Markdown et vous assurer qu’ils sont valides.

Qui peut utiliser cette fonctionnalité ?

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

À propos du test des fichiers d’aide aux requĂȘtes

Testez les fichiers d’aide aux requĂȘtes en les restituant au format Markdown pour vous assurer qu’ils sont valides avant de les charger dans le dĂ©pĂŽt CodeQL ou de les utiliser dans l’analyse du code.

L’aide aux requĂȘtes est une documentation qui accompagne une requĂȘte pour expliquer le fonctionnement de la requĂȘte et pour fournir des informations sur le problĂšme potentiel identifiĂ© par la requĂȘte. Il est recommandĂ© d’écrire une aide aux requĂȘtes pour toutes les nouvelles requĂȘtes. Pour plus d’informations, consultez « Contribution Ă  CodeQL Â» dans le dĂ©pĂŽt CodeQL.

CodeQL CLI comprend une commande pour tester l’aide aux requĂȘtes et restituer le contenu au format Markdown afin de vous permettre de prĂ©visualiser facilement le contenu dans votre IDE. Utilisez la commande pour valider les fichiers d’aide aux requĂȘtes avant de les charger dans le dĂ©pĂŽt CodeQL ou de les partager avec d’autres utilisateurs. À partir de CodeQL CLI 2.7.1 et ultĂ©rieur, vous pouvez aussi inclure l’aide aux requĂȘte restituĂ©e en Markdown dans les fichiers SARIF gĂ©nĂ©rĂ©s pendant les analyses CodeQL afin que l’aide aux requĂȘtes puisse ĂȘtre affichĂ©e dans l’interface utilisateur de l’analyse du code. Pour plus d’informations, consultez « Analyse de votre code avec des requĂȘtes CodeQL Â».

Prérequis

  • Le fichier d’aide aux requĂȘtes (.qhelp) doit avoir un fichier de requĂȘte (.ql) associĂ© avec un nom de base identique.
  • Le fichier d’aide aux requĂȘtes doit suivre la structure et le style standard de la documentation de l’aide aux requĂȘtes. Pour plus d’informations, consultez le Guide de style de l’aide aux requĂȘtes dans le dĂ©pĂŽt CodeQL.

En cours d’exĂ©cution codeql generate query-help

Vous pouvez tester les fichiers d’aide aux requĂȘtes en exĂ©cutant la commande suivante :

codeql generate query-help <qhelp|query|dir|suite> --format=<format> [--output=<dir|file>]

Pour cette commande, <qhelp|query|dir|suite> doit ĂȘtre le chemin d’accĂšs Ă  un fichier .qhelp, le chemin d’accĂšs Ă  un fichier .ql, le chemin d’accĂšs Ă  un rĂ©pertoire contenant des requĂȘtes et des fichiers d’aide de requĂȘte ou le chemin d’accĂšs Ă  une suite de requĂȘtes.

Vous devez spĂ©cifier une option --format qui dĂ©finit comment l’aide aux requĂȘtes est restituĂ©e. Actuellement, vous devez spĂ©cifier markdown pour restituer l’aide aux requĂȘtes au format Markdown.

L’option --output dĂ©finit un chemin de fichier dans lequel l’aide aux requĂȘtes restituĂ©e sera enregistrĂ©e.

  • Pour les rĂ©pertoires contenant des fichiers .qhelp ou des suites de requĂȘtes dĂ©finissant un ou plusieurs fichiers .qhelp, vous devez spĂ©cifier un rĂ©pertoire --output. Les noms de fichier dans le rĂ©pertoire de sortie sont dĂ©rivĂ©s des noms de fichier .qhelp.
  • Pour les fichiers .qhelp ou .ql seuls, vous pouvez spĂ©cifier une option --output. Si vous ne spĂ©cifiez pas de chemin de sortie, l’aide aux requĂȘtes restituĂ©e est Ă©crite en stdout.

Pour des dĂ©tails complets sur toutes les options que vous pouvez utiliser lors d’un test de fichiers d’aide aux requĂȘtes, consultez generate query-help.

Résultats

Lorsque vous exĂ©cutez la commande, CodeQL tente de restituer chaque fichier .qhelp qui a un fichier .ql associĂ©. Pour les fichiers uniques, le contenu restituĂ© est affichĂ© en stdout si vous ne spĂ©cifiez pas une option --output. Pour tous les autres cas d’usage, le contenu restituĂ© est enregistrĂ© dans le chemin de sortie spĂ©cifiĂ©.

Par dĂ©faut, CodeQL CLI affiche un message d’avertissement si :

  • Des Ă©lĂ©ments dans l’aide aux requĂȘtes ne sont pas valides, avec une description de ces Ă©lĂ©ments d’aide aux requĂȘtes non valides
  • Les fichiers .qhelp spĂ©cifiĂ©s dans la commande n’ont pas le mĂȘme nom de base qu’un fichier .ql associĂ©
  • Les fichiers .ql spĂ©cifiĂ©s dans la commande n’ont pas le mĂȘme nom de base qu’un fichier .qhelp associĂ©

Vous pouvez indiquer Ă  CodeQL CLI comment gĂ©rer ces avertissements en incluant une option --warnings dans votre commande. Pour plus d’informations, consultez « generate query-help Â».

Pour aller plus loin