Skip to main content

github upload-results

Отправляет ФАЙЛ SARIF в сканирование кода GitHub.

Кто может использовать эту функцию?

GitHub CodeQL лицензируется на основе каждого пользователя при установке. Вы можете использовать CodeQL только для определенных задач в соответствии с ограничениями лицензии. Дополнительные сведения см. в разделе Сведения о интерфейсе командной строки CodeQL.

Если у вас есть лицензия GitHub Advanced Security, можно использовать CodeQL для автоматического анализа, непрерывной интеграции и непрерывной доставки. Дополнительные сведения см. в разделе Сведения о GitHub Advanced Security.

Это содержимое описывает последний выпуск данных CodeQL CLI. Дополнительные сведения об этом выпуске см. в статье https://github.com/github/codeql-cli-binaries/releases.

Чтобы просмотреть сведения о параметрах, доступных для этой команды в предыдущем выпуске, выполните команду с --help параметром в терминале.

Краткие сведения

Shell
codeql github upload-results --sarif=<file> [--github-auth-stdin] [--github-url=<url>] [--repository=<repository-name>] [--ref=<ref>] [--commit=<commit>] [--checkout-path=<path>] <options>...

Description

Отправляет ФАЙЛ SARIF в сканирование кода GitHub.

См.: Отправка результатов анализа CodeQL в GitHub

Необходимо задать маркер GitHub Apps или личный маркер доступа. Для получения рекомендаций по обеспечению безопасности рекомендуется задать --github-auth-stdin флаг и передать маркер команде через стандартные входные данные. Кроме того, GITHUB_TOKEN можно задать переменную среды.

Этот маркер должен иметь security_events область.

Параметры

Основные параметры

-s, --sarif=<file>

[Обязательный] Путь к используемым файлам SARIF. Это должны быть выходные данные анализа базы данных codeql (или codeql database interpret-results) --format sarif-latest для отправки в github.com или соответствующего поддерживаемого тега формата для экземпляров GitHub Enterprise Server (см . раздел AUTOTITLE для версий SARIF, поддерживаемых выпуском).

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

Владелец репозитория GitHub и имя (например, github/octocat) для отправки в качестве конечной точки. Интерфейс командной строки попытается выполнить автоматическое определение из пути проверка out, если он опущен.

-f, --ref=<ref>

Имя проанализированного ссылок. Если это фиксация слияния запроса на вытягивание, используйте refs/pulls/1234/merge или refs/pulls/1234/head (в зависимости от того, соответствует ли эта фиксация head или MERGE фиксации PR). В противном случае это должно быть ветвь: refs/heads/branch-name. Если опущено, интерфейс командной строки попытается автоматически заполнить это из текущей ветви пути проверка out, если это существует.

-c, --commit=<commit>

SHA фиксации, которая была проанализирована. Если это опущено, интерфейс командной строки попытается выполнить автоматическую выборку из пути проверка out.

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

Путь к извлечению. По умолчанию используется текущий рабочий каталог.

--merge

[Дополнительно] Разрешите указанию нескольких ФАЙЛОВ SARIF и объедините их в один файл перед отправкой. Это рекомендуется только для обратной совместимости. Для новых анализов рекомендуется отправить два отдельных ФАЙЛА SARIF с разными категориями. Этот параметр работает только в сочетании с ФАЙЛАми SARIF, созданными CodeQL с SARIF версии 2.1.0 (это версия SARIF по умолчанию, используемая CodeQL).

--no-wait-for-processing

По умолчанию интерфейс командной строки ожидает обработки ФАЙЛА SARIF в течение не более 2 минут, возвращая ненулевой код выхода, если во время обработки результатов анализа возникли ошибки. Вы можете настроить, сколько времени интерфейс командной строки будет ждать, или --wait-for-processing-timeoutотключить функцию с --no-wait-for-processingпомощью.

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

Максимальное время, когда интерфейс командной строки ожидает отправки ФАЙЛА SARIF, который будет обработан GitHub в секундах. Значение по умолчанию — 120 секунд (2 минуты). Этот параметр действителен только в том случае, если --wait-for-processing включен.

--format=<fmt>

Выберите выходной формат. В число вариантов входят следующие варианты:

text(по умолчанию): напечатать URL-адрес для отслеживания состояния отправки SARIF.

json: печать текста ответа запроса API отправки SARIF.

См. также: Конечные точки REST API для сканирования кода

Параметры настройки места отправки ФАЙЛОВ SARIF.

-a, --github-auth-stdin

Примите маркер GitHub Apps или личный маркер доступа с помощью стандартных входных данных.

Это переопределяет переменную среды токена GITHUB_.

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

URL-адрес используемого экземпляра GitHub. Если опущено, интерфейс командной строки попытается выполнить автоматическое определение этого из пути проверка out, и если это невозможно по умолчаниюhttps://github.com/

Распространенные параметры

-h, --help

Отображение этого текста справки.

-J=<opt>

[Дополнительно] Укажите параметр JVM, выполняя команду.

(Убедитесь, что параметры, содержащие пробелы, не будут обрабатываться правильно.)

-v, --verbose

Постепенно увеличьте число отображаемых сообщений о ходе выполнения.

-q, --quiet

Постепенно уменьшайте количество отображаемых сообщений о ходе выполнения.

--verbosity=<level>

[Дополнительно] Явным образом задайте уровень детализации на одну из ошибок, предупреждений, хода выполнения, хода выполнения+, хода выполнения++, хода выполнения+++. Переопределяет -v и -q.

--logdir=<dir>

[Дополнительно] Запись подробных журналов в один или несколько файлов в указанном каталоге с созданными именами, включающими метки времени и имя выполняющегося подкоманда.

(Чтобы записать файл журнала с именем, над которым у вас есть полный контроль, вместо этого предоставьте --log-to-stderr и перенаправите stderr по мере необходимости.)

--common-caches=<dir>

[Дополнительно] Управляет расположением кэшированных данных на диске, которые будут сохраняться между несколькими запусками интерфейса командной строки, такими как скачанные пакеты QL и скомпилированные планы запросов. Если этот параметр не задан явным образом, по умолчанию используется каталог с именем .codeql в домашнем каталоге пользователя; он будет создан, если он еще не существует.

Доступно с момента v2.15.2.