В этом материале описывается последний выпуск Интерфейса командной строки CodeQL. Дополнительные сведения об этом выпуске см. в разделе https://github.com/github/codeql-cli-binaries/releases.
Чтобы просмотреть сведения о параметрах, доступных для этой команды в более раннем выпуске, выполните команду с параметром в терминале --help .
Краткий обзор
codeql database export-diagnostics --format=<format> [--output=<output>] <options>... -- <database>Описание
[Экспериментальный] Экспорт диагностических данных из базы данных для неудачного анализа.
Доступно начиная с v2.12.6.
Основные параметры
<database>
[Обязательно] Путь к строяемой базе данных CodeQL. Он должен быть подготовлен для извлечения с помощью инициализации базы данных codeql.
--db-cluster Если параметр задан, это не сама база данных, а каталог, содержащий базы данных, и все эти базы данных будут обрабатываться вместе.
--format=<format>
[Обязательно] Формат, в котором записываются результаты. Одно из двух значений:
raw: список необработанных неинтерпретированных диагностических сообщений в виде объектов JSON.
sarif-latest: формат обмена результатами статического анализа (SARIF), формат на основе JSON для описания результатов статического анализа. Этот параметр форматирования использует последнюю поддерживаемую версию (v2.1.0). Этот параметр не подходит для использования в автоматизации, так как он создает разные версии SARIF в разных версиях CodeQL.
sarifv2.1.0: SARIF версии 2.1.0.
text: список маркеров диагностических сообщений.
--[no-]db-cluster
Указывает, что каталог, заданный в командной строке, не является самой базой данных, а каталогом, содержащим одну или несколько создаваемых баз данных. Эти базы данных будут обрабатываться вместе.
-o, --output=<output>
Выходной путь для записи диагностических данных.
--sarif-exit-code=<sarifExitCode>
[Только форматы SARIF] Код выхода из процесса, завершающегося сбоем.
--sarif-exit-code-description=<sarifExitCodeDescription>
[Только форматы SARIF] Причина завершения неудачного процесса.
--sarif-category=<category>
[Только форматы SARIF] Укажите категорию для этого анализа, включаемую в выходные данные SARIF. Категорию можно использовать для различения нескольких анализов, выполняемых в одной фиксации и репозитории, но на разных языках или в разных частях кода.
Если вы анализируете одну и ту же версию базы кода несколькими разными способами (например, для разных языков) и отправляете результаты в GitHub для представления в разделе "Сканирование кода", это значение должно отличаться в каждом анализе, что указывает, что анализ дополняет, а не заменяет друг друга. (Значения должны быть согласованными при выполнении одного и того же анализа для разных версий базы кода.)
Это значение будет отображаться (с добавлением косой черты в конце, если ее еще нет) в качестве свойства <run>.automationId в SARIF v1, свойства <run>.automationLogicalId в SARIF v2 и свойства <run>.automationDetails.id в SARIF v2.1.0.
Общие параметры
-h, --help
Показать этот текст справки.
-J=<opt>
[Дополнительно] Предоставьте параметр виртуальной машине JVM, выполняющую команду .
(Остерегайтесь, что параметры, содержащие пробелы, будут обрабатываться неправильно.)
-v, --verbose
Постепенно увеличивайте количество выводемых сообщений о ходе выполнения.
-q, --quiet
Постепенно уменьшайте количество выводемых сообщений о ходе выполнения.
--verbosity=<level>
[Дополнительно] Явно задайте уровень детализации для одной из ошибок, предупреждений, progress, progress+, progress++, progress+++. Переопределяет -v и -q.
--logdir=<dir>
[Дополнительно] Запись подробных журналов в один или несколько файлов в указанном каталоге с созданными именами, включающими метки времени и имя выполняющейся подкоманды.
(Чтобы записать файл журнала с именем, над которым у вас есть полный контроль, вместо этого при необходимости предоставьте --log-to-stderr и перенаправьте stderr.)