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
codeql bqrs interpret --format=<format> --output=<output> -t=<String=String> [--threads=<num>] [--source-archive=<sourceArchive>] [--source-location-prefix=<sourceLocationPrefix>] <options>... -- <bqrs-file>
codeql bqrs interpret --format=<format> --output=<output> -t=<String=String> [--threads=<num>] [--source-archive=<sourceArchive>] [--source-location-prefix=<sourceLocationPrefix>] <options>... -- <bqrs-file>
Descripción
[Asociación] Interpreta los datos de un único archivo BQRS.
Comando que interpreta un único archivo BQRS según los metadatos proporcionados y genera la salida en el formato especificado.
Opciones
Opciones principales
<bqrs-file>
[Obligatorio] El archivo BQRS que se va a interpretar.
--format=<format>
[Obligatorio] Formato en el que se van a escribir los resultados. Uno de los valores siguientes:
csv
: valores separados por comas con formato, incluidas las columnas con metadatos de regla y alerta.
sarif-latest
: formato de intercambio de resultados de análisis estático (SARIF); un formato basado en JSON para describir los resultados de 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.
graphtext
: formato de texto que representa un grafo. Solo es compatible con las consultas con el grafo @kind.
dgml
: lenguaje de marcado de grafos dirigido; un formato basado en XML para describir grafos. Solo es compatible con las consultas con el grafo @kind.
dot
: lenguaje DOT de Graphviz; un formato basado en texto para describir grafos.
Solo es compatible con las consultas con el grafo @kind.
-o, --output=<output>
[Obligatorio] Ruta de acceso de salida en la que se van a escribir los resultados. En el caso de los formatos de grafo, debe ser un directorio y el resultado (o los resultados si este comando admite la interpretación de más de una consulta) se escribirán en ese directorio.
-t=<String=String>
[Obligatorio] Par de valores clave de metadatos de consulta. Se repite para cada fragmento de metadatos. Se deben especificar al menos las claves "kind" e "id". No es necesario que las claves tengan el prefijo @.
--max-paths=<maxPaths>
Número máximo de rutas de acceso que se van a generar para cada alerta con rutas de acceso. (Valor predeterminado: 4)
--[no-]sarif-add-file-contents
[Solo formatos SARIF] Incluye el contenido completo de todos los archivos a los que se hace referencia en al menos un resultado.
--[no-]sarif-add-snippets
[Solo formatos SARIF] Incluye fragmentos de código de cada ubicación mencionada en los resultados, con dos líneas de contexto antes y después de la ubicación notificada.
--[no-]sarif-add-query-help
[Solo formatos SARIF] [En desuso] Incluye la ayuda de la consulta de Markdown para todas las consultas. Carga la ayuda de consulta para /path/to/query.ql desde el archivo /path/to/query.md. Si no se proporciona esta marca, el comportamiento predeterminado es incluir ayuda solo para consultas personalizadas, es decir, las de los paquetes de consultas que no tienen el formato `codeql/<lang&rt;-queries`. Esta opción no tiene ningún efecto cuando se pasa a codeql bqrs interpret.
--sarif-include-query-help=<mode>
[Solo formatos SARIF] Especifica si se debe incluir la ayuda de consulta en la salida de SARIF. Uno de los valores siguientes:
always
: incluir la ayuda de consulta para todas las consultas.
custom_queries_only
(valor predeterminado): incluir la ayuda de consulta solo para consultas personalizadas, es decir, las de los paquetes de consultas que no tienen el formato `codeql/<lang&rt;-queries`.
never
: no incluir la ayuda de consulta para ninguna consulta.
Esta opción no tiene ningún efecto cuando se pasa a codeql bqrs interpret.
Disponible desde la versión v2.15.2
.
--[no-]sarif-group-rules-by-pack
[Solo formatos SARIF] Coloca el objeto de regla de cada consulta en su paquete de QL correspondiente en la propiedad <run>.tool.extensions
. Esta opción no tiene ningún efecto cuando se pasa a codeql bqrs interpret.
--[no-]sarif-multicause-markdown
[Solo formatos SARIF] Para las alertas que tienen varias causas, las incluyes como una lista de elementos con formato Markdown en la salida además de como una cadena sin formato.
--no-group-results
[Solo formatos SARIF] Genera un resultado por mensaje, en lugar de un resultado por ubicación única.
--csv-location-format=<csvLocationFormat>
Formato en el que se van a generar ubicaciones en la salida CSV. Puede ser: URI, columna de línea, longitud de desplazamiento. (Valor predeterminado: columna de línea)
--dot-location-url-format=<dotLocationUrlFormat>
Cadena de formato que define el formato en el que se van a generar direcciones URL de ubicación de archivo en la salida de DOT. Se pueden usar los siguientes marcadores de posición {path} {start:line} {start:column} {end:line} {end:column}, {offset}, {length}.
--[no-]sublanguage-file-coverage
[GitHub.com y GitHub Enterprise Server v3.12.0 y versiones posteriores solamente] Use la información de cobertura de archivos de sublenguaje. Esto calcula, muestra y exporta información de cobertura de archivos independiente para lenguajes que comparten un extractor de CodeQL como C y C++, Java y Kotlin, y JavaScript y TypeScript.
Disponible desde la versión v2.15.2
.
--sarif-category=<category>
[Solo formatos SARIF] Especifica una categoría para este análisis que se va a incluir en la salida de SARIF. Puede usarse una categoría para distinguir análisis múltiples realizados en la misma confirmación y repositorio, pero en lenguajes diferentes o en partes diferentes del código.
Si analizas la misma versión de una base de código de varias maneras diferentes (por ejemplo, para distintos lenguajes) y cargas los resultados en GitHub para su presentación en el análisis de código, este valor debe variar entre cada uno de los análisis, lo que indica al análisis de código que los análisis se complementan en lugar de sustituirse entre sí. (Los valores deben ser coherentes entre ejecuciones del mismo análisis para diferentes versiones del código base).
Este valor aparecerá (con una barra diagonal final anexada si aún no está presente) como la propiedad <run>.automationId
en SARIF v1, la propiedad <run>.automationLogicalId
en SARIF v2 y la propiedad <run>.automationDetails.id
en SARIF v2.1.0.
-j, --threads=<num>
Número de subprocesos usados para calcular rutas de acceso.
De manera predeterminada, su valor es 1. Puedes pasar 0 para usar un subproceso por núcleo en la máquina o N para dejar N núcleos sin usar (excepto que aún se usa al menos un subproceso).
--sarif-run-property=<String=String>
[Solo SARIF] Par clave-valor para que se va a agregar al contenedor de propiedades "run" de SARIF generado. Se puede repetir.
--column-kind=<columnKind>
[Solo SARIF] El tipo de columna usado para interpretar las columnas de ubicación. Puede ser: utf8, utf16, utf32, bytes.
--[no-]unicode-new-lines
[Solo SARIF] Indica si los caracteres de nueva línea unicode LS (separador de líneas, U+2028) y PS (separador de párrafos, U+2029) se consideran nuevas líneas al interpretar los números de línea de ubicación.
Opciones de archivo de código fuente: se deben proporcionar todas o ninguna
-s, --source-archive=<sourceArchive>
Directorio o archivo ZIP que contiene el archivo de origen.
-p, --source-location-prefix=<sourceLocationPrefix>
Ruta de acceso del archivo en el sistema de archivos original donde se almacenó el código fuente.
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
.