Skip to main content

Esta versión de GitHub Enterprise Server se discontinuó el 2024-09-25. No se realizarán lanzamientos de patch, ni siquiera para problemas de seguridad críticos. Para obtener rendimiento mejorado, seguridad mejorada y nuevas características, actualice a la versión más reciente de GitHub Enterprise Server. Para obtener ayuda con la actualización, póngase en contacto con el soporte técnico de GitHub Enterprise.

generate query-help

Genera ayuda de consultas de usuario final a partir de archivos .qhelp.

¿Quién puede utilizar esta característica?

CodeQL está disponible para los siguientes tipos de repositorios:

En este contenido se describe la versión más reciente de CodeQL CLI. Para obtener más información sobre esta versión, consulta https://github.com/github/codeql-cli-binaries/releases.

Para ver detalles de las opciones disponibles para este comando en una versión anterior, ejecuta el comando con la opción --help en el terminal.

Sinopsis

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

Descripción

Genera ayuda de consultas de usuario final a partir de archivos .qhelp.

Opciones

Opciones principales

<qhelpquerysuite>...

[Obligatorio] Archivos de ayuda de consultas que se van a representar. Cada argumento es uno de los siguientes:

  • Un archivo .qhelp que se va a representar.
  • Un archivo .md que se va a representar.
  • Un archivo .ql con un archivo .qhelp o .md correspondiente que se va a representar.
  • Directorio en el que se buscarán los archivos .ql de forma recursiva con los archivos .qhelp o .md correspondientes.
  • Un archivo .qls que define un conjunto determinado de consultas.
  • Nombre base de un archivo .qls "conocido" exportado por uno de los paquetes de QL instalados.

--format=<format>

[Obligatorio] Formato en el que se va a representar la documentación. Uno de los valores siguientes:

markdown: markdown de tipo GitHub.

sarif-latest: formato de intercambio de resultados de análisis estático (SARIF), un formato basado en JSON para describir los resultados del análisis estático. Esta opción de formato usa la versión admitida más reciente (v2.1.0). Esta opción no es adecuada para su uso en la automatización, ya que generará diferentes versiones de SARIF entre diferentes versiones de CodeQL.

sarifv2.1.0: SARIF v2.1.0.

-o, --output=<dir|file>

Ruta de acceso en la que escribir la documentación representada. Suele ser un directorio en el que se escribirá la salida representada.

Si solo se proporciona un archivo .qhelp o .ql y no existe ningún directorio en la ruta de acceso de salida, la salida se escribirá en un solo archivo en esa ruta de acceso.

Si no se proporciona ninguna ruta de acceso de salida, solo se aceptará un único archivo .qhelp o .ql y la salida se escribirá en stdout.

Si se usa un directorio de salida, los nombres de archivo incluidos en el directorio de salida se derivarán de los nombres del archivo .qhelp.

--warnings=<mode>

Cómo controlar las advertencias del representador de ayuda de consultas. Uno de los valores siguientes:

hide: suprime las advertencias.

show (predeterminado) : imprime las advertencias, pero continúa con la representación.

error: trata las advertencias como errores.

--no-sarif-minify

[Formatos SARIF solamente] Produce resultados SARIF impresos con bastante detalle. De manera predeterminada, la salida SARIF se minimiza para reducir el tamaño del archivo de resultados.

Opciones para buscar paquetes de QL (que pueden ser necesarios para resolver conjuntos de consultas)

--search-path=<dir>[:<dir>...]

Lista de directorios en los que se pueden encontrar paquetes de QL. Cada directorio puede ser un paquete de QL (o una agrupación de paquetes que contenga un archivo .codeqlmanifest.json en la raíz) o el elemento primario inmediato de uno o varios directorios de este tipo.

Si la ruta de acceso contiene más de un directorio, su orden define la prioridad entre ellos: cuando un nombre de paquete que se debe resolver tiene coincidencias en más de uno de los árboles de directorio, tiene prioridad el que se indica primero.

Apuntar esto a una extracción del repositorio CodeQL de código abierto debería funcionar al consultar uno de los lenguajes que residen allí.

Si extrajiste el repositorio CodeQL como un elemento relacionado de la cadena de herramientas CodeQL desempaquetada, no es necesario proporcionar esta opción; dichos directorios del mismo nivel siempre se buscarán paquetes de QL que no se encuentren de otro modo. (Si este valor predeterminado no funciona, se recomienda encarecidamente configurar --search-path de una vez en un archivo de configuración por usuario).

(Nota: En Windows, el separador de ruta de acceso es ;).

--additional-packs=<dir>[:<dir>...]

Si se da esta lista de directorios, se buscarán paquetes en ellos antes que en los incluidos en --search-path. El orden entre ellos no importa; si se encuentra un nombre de paquete en dos lugares diferentes de esta lista es un error.

Esto resulta útil si estás desarrollando temporalmente una versión nueva de un paquete que también aparece en la ruta de acceso predeterminada. Por otro lado, no se recomienda reemplazar esta opción en un archivo de configuración; algunas acciones internas agregarán esta opción sobre la marcha y reemplazarán cualquier valor configurado.

(Nota: En Windows, el separador de ruta de acceso es ;).

Opciones para configurar el administrador de paquetes de CodeQL

--registries-auth-stdin

Autentícate en los registros de contenedores de servidor de GitHub Enterprise; para ello, pasa una lista separada por comas de pares <registry_url>=<token>.

Por ejemplo, puedes pasar https://containers.GHEHOSTNAME1/v2/=TOKEN1,https://containers.GHEHOSTNAME2/v2/=TOKEN2 para autenticarte en dos instancias del servidor de GitHub Enterprise.

Esto invalida las variables de entorno CODEQL_REGISTRIES_AUTH y GITHUB_TOKEN. Si solo necesitas autenticarte en el registro de contenedor de github.com, puedes hacerlo mediante la opción --github-auth-stdin más sencilla.

--github-auth-stdin

Autentícate en el registro de contenedores de github.com; para ello, pasa un token de aplicaciones de GitHub en github.com o un token de acceso personal mediante la entrada estándar.

Para autenticarte en los registros de contenedores de servidor de GitHub Enterprise, pasa --registries-auth-stdin o usa la variable de entorno CODEQL_REGISTRIES_AUTH.

Esto invalida la variable de entorno GITHUB_TOKEN.

Opciones comunes

-h, --help

Muestra este texto de ayuda.

-J=<opt>

[Avanzado] Asigna la opción a la JVM que ejecuta el comando.

(Ten en cuenta que las opciones que contienen espacios no se administrarán correctamente).

-v, --verbose

Aumenta incrementalmente el número de mensajes de progreso impresos.

-q, --quiet

Reduce incrementalmente el número de mensajes de progreso impresos.

--verbosity=<level>

[Avanzado] Establece explícitamente el nivel de detalle en errores, advertencias, progreso, progreso+, progreso++, progreso+++. Invalida -v y -q.

--logdir=<dir>

[Avanzado] Escribe registros detallados en uno o varios archivos del directorio especificado, con nombres generados que incluyen marcas de tiempo y el nombre del subcomando en ejecución.

(Para escribir un archivo de registro con un nombre sobre el que tienes control total, proporciona --log-to-stderr y redirige stderr como quieras).

--common-caches=<dir>

[Avanzado] Controla la ubicación de los datos en caché del disco que se conservarán entre varias ejecuciones de la CLI, como paquetes QL descargados y planes de consulta compilada. Si no se define explícitamente, se toma como predeterminado un directorio denominado .codeql en el directorio principal del usuario, que se creará en caso de que no exista.

Disponible desde la versión v2.15.2.