Skip to main content

Enterprise Server 3.15 actualmente está disponible como versión candidata para lanzamiento.

github upload-results

Carga un archivo SARIF en el examen de código de GitHub.

¿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 github upload-results --sarif=<file> [--github-auth-stdin] [--github-url=<url>] [--repository=<repository-name>] [--ref=<ref>] [--commit=<commit>] [--checkout-path=<path>] <options>...

Descripción

Carga un archivo SARIF en el examen de código de GitHub.

Consulta: Carga de los resultados del análisis de CodeQL en GitHub

Debe establecerse un token de GitHub Apps o un token de acceso personal. El procedimiento recomendado para la seguridad consiste en establecer la marca --github-auth-stdin y pasar el token al comando por medio de la entrada estándar. Como alternativa, se puede establecer la variable de entorno GITHUB_TOKEN.

Este token debe tener el ámbito security_events.

Opciones

Opciones principales

-s, --sarif=<file>

[Obligatorio] Ruta de acceso a los archivos SARIF que se van a utilizar. Esta debería ser la salida de codeql database analyze (o codeql database interpret-results) con --format sarif-latest para subir a github.com o la etiqueta de formato compatible adecuada para instancias GitHub Enterprise Server (consulta Soporte de SARIF para escaneo de código para versiones SARIF compatibles con tu versión).

-r, --repository=<repository-name>

Propietario y nombre del repositorio de GitHub (por ejemplo, github/octocat) que se usarán como punto de conexión para la carga. La CLI intentará detectar esta información automáticamente desde la ruta de restauración si se omite.

-f, --ref=<ref>

Nombre de la referencia que se ha analizado. Si esta referencia es una confirmación de fusión mediante combinación de solicitud de cambios ("pull request merge commit"), usa refs/pull/1234/merge o refs/pull/1234/head (en función de si la confirmación corresponde o no a la confirmación HEAD o MERGE de la solicitud de incorporación de cambios). De lo contrario, debe ser una rama: refs/heads/branch-name. Si se omite, la CLI intentará rellenarlo de forma automática a partir de la rama actual de la ruta de acceso de extracción del repositorio, si existe.

-c, --commit=<commit>

SHA de la confirmación ("commit") que se ha analizado. Si se omite, la CLI intentará detectarlo automáticamente a partir de la ruta de acceso de extracción del repositorio.

-p, --checkout-path=<path>

Ruta de acceso de extracción del repositorio. El valor predeterminado es el directorio de trabajo actual.

--merge

[Avanzado] Permite especificar más de un archivo SARIF y combinar todos ellos en un único archivo antes de cargarlos. Esto solo se recomienda para la compatibilidad con versiones anteriores. Para los nuevos análisis, se recomienda cargar dos archivos SARIF independientes con categorías distintas. Esta opción solo funciona con los archivos SARIF generados por CodeQL con la versión 2.1.0 de SARIF (esta es la versión predeterminada de SARIF que CodeQL usa).

--no-wait-for-processing

De forma predeterminada, la CLI esperará a que GitHub procese el archivo SARIF durante un máximo de 2 minutos, y devolverá un código de salida distinto de cero si se produjeron errores durante el procesamiento de los resultados del análisis. Puedes personalizar cuánto tiempo esperará la CLI con --wait-for-processing-timeout, o deshabilitar la característica con --no-wait-for-processing.

--wait-for-processing-timeout=<waitForProcessingTimeout>

El tiempo máximo que la CLI esperará a que GitHub procese en segundos el archivo SARIF cargado. El valor predeterminado es 120 segundos (2 minutos). Esta opción solo es válida cuando se habilita --wait-for-processing.

--format=<fmt>

Selecciona el formato de salida. Entre las opciones se incluyen:

text (predeterminado) : imprime la dirección URL para realizar el seguimiento del estado de la carga de SARIF.

json: imprime el cuerpo de la respuesta de la solicitud de la API de carga de SARIF.

Consulta también: Puntos de conexión de la API de REST para el análisis de código

Opciones para configurar dónde cargar los archivos SARIF.

-a, --github-auth-stdin

Acepta un token de GitHub Apps o un token de acceso personal mediante la entrada estándar.

Esto invalida la variable de entorno GITHUB_TOKEN.

-g, --github-url=<url>

Dirección URL de la instancia de GitHub que se va a usar. Si se omite, la CLI intentará detectarlo automáticamente a partir de la ruta de acceso de extracción del repositorio y, si no es posible, se establece https://github.com/ como predeterminada.

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.