Skip to main content

Enterprise Server 3.15 в настоящее время доступен в качестве кандидата на выпуск.

Bqrs интерпретирует

[Сантехника] Интерпретация данных в одном BQRS.

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

CodeQL доступен для следующих типов репозитория:

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

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

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

Shell
codeql bqrs interpret --format=<format> --output=<output> -t=<String=String> [--threads=<num>] [--source-archive=<sourceArchive>] [--source-location-prefix=<sourceLocationPrefix>] <options>... -- <bqrs-file>

Description

[Сантехника] Интерпретирует данные в одном BQRS.

Команда, которая интерпретирует один файл BQRS в соответствии с предоставленными метаданными и создает выходные данные в указанном формате.

Параметры

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

<bqrs-file>

[Обязательный] Файл BQRS для интерпретации.

--format=<format>

[Обязательный] Формат, в котором нужно записать результаты. Одно из двух значений:

csv: форматированные значения, разделенные запятыми, включая столбцы с метаданными правила и оповещения.

sarif-latest: формат обмена статическими результатами анализа (SARIF), формат на основе JSON для описания результатов статического анализа. Этот параметр формата использует последнюю поддерживаемую версию (версии 2.1.0). Этот параметр не подходит для использования в автоматизации, так как он создает разные версии SARIF между различными версиями CodeQL.

sarifv2.1.0: SARIF версии 2.1.0.

graphtext: текстовый формат, представляющий граф. Совместим только с запросами с графом @kind .

dgml: язык разметки графа, формат на основе XML для описания графов. Совместим только с запросами с графом @kind .

dot: язык Graphviz DOT, текстовый формат для описания графов. Совместим только с запросами с графом @kind .

-o, --output=<output>

[Обязательный] Выходной путь для записи результатов. Для форматов графов это должен быть каталог, а результат (или результаты, если эта команда поддерживает интерпретацию нескольких запросов) будут записаны в этом каталоге.

-t=<String=String>

[Обязательно] Пара значений ключа метаданных запроса. Повторите для каждого фрагмента метаданных. Необходимо указать по крайней мере ключи "kind" и "id". Ключи не нужно префиксировать с @помощью .

--max-paths=<maxPaths>

Максимальное количество путей для каждого оповещения с путями. (По умолчанию: 4)

--[no-]sarif-add-file-contents

[Форматы SARIF] Включите полное содержимое файла для всех файлов, на которые ссылается по крайней мере один результат.

--[no-]sarif-add-snippets

[Форматы SARIF] Включите фрагменты кода для каждого расположения, указанного в результатах, с двумя строками контекста до и после указанного расположения.

--[no-]sarif-add-query-help

[Форматы SARIF] Нерекомендуемые [] Включите справку по запросу Markdown для всех запросов. Он загружает справку по запросу /path/to/query.ql из файла /path/to/query.md. Если этот флаг не предоставляется по умолчанию, необходимо включить справку только для пользовательских запросов, т. е. тех, которые находятся в пакетах запросов, которые не относятся к коду формы`/lang&rt;-querys`<. Этот параметр не действует при передаче в кодql bqrs интерпретации.

--sarif-include-query-help=<mode>

[Форматы SARIF] Укажите, следует ли включать справку по запросу в выходные данные SARIF. Одно из двух значений:

always: включите справку по запросу для всех запросов.

custom_queries_only(по умолчанию): включите справку запроса только для пользовательских запросов, т. е. тех, которые находятся в пакетах запросов, которые не относятся к `коде формы/<lang&rt;-querys`.

never: не включать справку по запросу для каких-либо запросов.

Этот параметр не действует при передаче в кодql bqrs интерпретации.

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

--no-sarif-include-alert-provenance

[[Расширенные форматы SARIF] Не включайте сведения о происхождении оповещений в выходные данные SARIF.

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

--[no-]sarif-group-rules-by-pack

[Форматы SARIF] Поместите объект правила для каждого запроса в соответствующий пакет QL в свойстве <run>.tool.extensions . Этот параметр не действует при передаче в кодql bqrs интерпретации.

--[no-]sarif-multicause-markdown

[Форматы SARIF] Только для оповещений с несколькими причинами включите их в виде элемента, отформатированного Markdown, в выходные данные в дополнение к обычной строке.

--no-sarif-minify

[Только форматы SARIF] Создание довольно печатных выходных данных SARIF. По умолчанию выходные данные SARIF минимируются, чтобы уменьшить размер выходного файла.

--sarif-run-property=<String=String>

[Форматы SARIF] Пара значений ключа, добавляемая в созданный контейнер свойств SARIF "run". Может повторяться.

--no-group-results

[Форматы SARIF] Создает один результат для каждого сообщения, а не один результат на уникальное расположение.

--csv-location-format=<csvLocationFormat>

Формат, в котором создаются расположения в выходных данных CSV. Один из: URI, строка столбца, длина смещения. (По умолчанию: line-column)

--dot-location-url-format=<dotLocationUrlFormat>

Строка формата, определяющая формат, в котором создаются URL-адреса расположения файлов в выходных данных DOT. Следующие держатели мест можно использовать {path} {start:line} {start:column} {end:line} {end:column}, {offset}, {length}

--[no-]sublanguage-file-coverage

[GitHub.com и GitHub Enterprise Server версии 3.12.0+ используйте сведения о охвате вложенных файлов. Это вычисляет, отображает и экспортирует отдельные сведения о охвате файлов для языков, которые совместно используют средство извлечения CodeQL, такие как C и C++, Java и Kotlin, и JavaScript и TypeScript.

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

--sarif-category=<category>

[Только форматы SARIF] [Рекомендуется] Укажите категорию для этого анализа, включаемую в выходные данные SARIF. Категорию можно использовать для различения нескольких анализов, выполняемых в одном и том же фиксации и репозитории, но на разных языках или в разных частях кода.

Если вы анализируете одну и ту же версию базы кода различными способами (например, для разных языков) и отправляете результаты в GitHub для презентации в сканировании кода, это значение должно отличаться между каждым из анализов, что указывает сканирование кода, что дополнение_ к анализу_, а не заменять друг друга. (Значения должны быть согласованы между выполнением одного и того же анализа для разных версий базы кода.)

Это значение будет отображаться (с косой косой чертой, добавленной, если она еще не присутствует) в качестве <run>.automationDetails.id свойства.

-j, --threads=<num>

Количество потоков, используемых для вычислительных путей.

По умолчанию равен 1. Вы можете передать 0 для использования одного потока на ядро на компьютере или -N, чтобы оставить неиспользуемые ядра N (за исключением того, что по-прежнему используется хотя бы один поток).

--column-kind=<columnKind>

[ТОЛЬКО SARIF] Тип столбца, используемый для интерпретации столбцов расположения. Одно из: utf8, utf16, utf32, байт.

--[no-]unicode-new-lines

[ТОЛЬКО SARIF] Указывает, считаются ли символы юникода lS (разделитель линий, U+2028) и PS (разделитель абзацов, U+2029) в качестве новых строк при интерпретации номеров строк расположения.

Параметры исходного архива — должны быть предоставлены вместе или не вообще

-s, --source-archive=<sourceArchive>

Каталог или ZIP-файл, содержащий исходный архив.

-p, --source-location-prefix=<sourceLocationPrefix>

Путь к файлу в исходной файловой системе, в которой хранится исходный код.

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

-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.