# результаты интерпретации базы данных

\[Сантехника] Интерпретируйте результаты вычисляемого запроса в значимые форматы, такие как SARIF или CSV.

> \[!NOTE]
> Это содержимое описывает последний выпуск данных CodeQL CLI. Дополнительные сведения об этом выпуске см. в статье <https://github.com/github/codeql-cli-binaries/releases>.
>
> Чтобы просмотреть сведения о параметрах, доступных для этой команды в предыдущем выпуске, выполните команду с <span style="white-space: nowrap;">`--help`</span> параметром в терминале.

## Synopsis

```shell copy
codeql database interpret-results --format=<format> --output=<output> [--threads=<num>] <options>... -- <database> <file|dir|suite>...
```

## Description

```
          \[Сантехника] Интерпретируйте вычисляемый запрос в значимые форматы, такие как SARIF или CSV.
```

Результаты должны быть вычислены и сохранены[ в каталоге базы данных CodeQL с помощью ](/ru/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-run-queries)запросов запуска базы данных codeql. (Обычно эти действия необходимо выполнить вместе с помощью [анализа](/ru/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-analyze) базы данных codeql.

## Options

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

#### `<database>`

```
          \[Обязательный] Путь к базе данных CodeQL, запрашиваемой.
```

#### `<file|dir|suite>...`

Повторите спецификацию, в которой были выполнены запросы.

Если опущено, интерфейс командной строки определит подходящий набор запросов, используя ту же логику, что и [run-запросы](/ru/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-run-queries) базы данных codeql.

(В будущей версии ее следует опустить и интерпретировать все результаты, найденные в базе данных. Это славное будущее еще не. К сожалению.)

#### `--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>`

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

#### `--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 интерпретации](/code-security/reference/code-scanning/codeql/codeql-cli-manual/bqrs-interpret).
```

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

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

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

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

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

Этот параметр не действует при передаче в [кодql bqrs интерпретации](/ru/code-security/reference/code-scanning/codeql/codeql-cli-manual/bqrs-interpret).

Доступно с момента `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 интерпретации](/code-security/reference/code-scanning/codeql/codeql-cli-manual/bqrs-interpret).
```

#### `--[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* (за исключением того, что по-прежнему используется хотя бы один поток).

#### `--no-database-extension-packs`

```
          \[Дополнительно] Опустить пакеты расширений, хранящиеся в базе данных во время создания базы данных, из файла конфигурации сканирования кода или из файлов расширений, хранящихся в каталоге расширений проанализированной базы кода.
```

#### `--[no-]print-diagnostics-summary`

Напечатать сводку по проанализированным диагностика стандартным выходным данным.

#### `--[no-]print-metrics-summary`

Вывод сводки по проанализированным метрикам в стандартные выходные данные.

#### `--[no-]print-baseline-loc`

Печать базовых строк кода, которые учитываются в стандартных выходных данных.

### Параметры настройки диспетчера пакетов CodeQL

#### `--registries-auth-stdin`

Проверка подлинности в реестрах контейнеров GitHub Enterprise Server путем передачи \<registry\_url>=\<token> разделенного запятыми списка пар.

Например, можно передать `https://containers.GHEHOSTNAME1/v2/=TOKEN1,https://containers.GHEHOSTNAME2/v2/=TOKEN2`
для проверки подлинности на двух экземплярах GitHub Enterprise Server.

При этом переопределяются переменные среды маркера токена CODEQL\_И\_AUTH и GITHUB\_. Если вам нужно выполнить проверку подлинности только в реестре контейнеров github.com, можно вместо этого выполнить проверку подлинности с помощью более `--github-auth-stdin` простого параметра.

#### `--github-auth-stdin`

Проверка подлинности в реестре контейнеров github.com путем передачи маркера github.com GitHub Apps или личного маркера доступа через стандартные входные данные.

Чтобы пройти проверку подлинности в реестрах контейнеров GitHub Enterprise Server, передайте `--registries-auth-stdin` или используйте переменную среды AUTH CODEQL\_REGISTRIES\_.

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

### Параметры для указания расширений, используемых при интерпретации результатов

####

```
          `--model-packs=<`
          <name@range>>...
```

Список имен пакетов CodeQL, каждый из которых содержит необязательный диапазон версий, который будет использоваться в качестве пакетов моделей для настройки запросов, которые будут оцениваться.

### Параметры поиска пакетов QL (которые могут потребоваться для интерпретации наборов запросов)

#### `--search-path=<dir>[:<dir>...]`

Список каталогов, в которых можно найти пакеты QL. Каждый каталог может быть пакетом QL (или пакетом пакетов, содержащих `.codeqlmanifest.json` файл в корневом каталоге) или непосредственным родительским элементом одного или нескольких таких каталогов.

Если путь содержит несколько каталогов, их порядок определяет приоритет между ними: когда имя пакета, которое должно быть разрешено, совпадает с несколькими деревьями каталогов, то один из первых побед.

Указывая это на получение репозитория CodeQL с открытым исходным кодом, должно работать при запросе одного из языков, которые живут там.

Если вы проверили репозиторий CodeQL как одноуровневую цепочку инструментов CodeQL, вам не нужно предоставлять этот параметр; Такие каталоги с братом всегда будут искать пакеты QL, которые не удается найти в противном случае. (Если это значение по умолчанию не работает, настоятельно рекомендуется настроить `--search-path` один раз и для всех в файле конфигурации для каждого пользователя).

(Примечание. В Windows разделитель путей имеет значение `;`).

#### `--additional-packs=<dir>[:<dir>...]`

Если указан этот список каталогов, они будут искать пакеты до тех, в которых они есть `--search-path`. Порядок между ними не имеет значения; Это ошибка, если имя пакета найдено в двух разных местах в этом списке.

Это полезно, если вы временно разрабатываете новую версию пакета, который также отображается в пути по умолчанию. С другой стороны, *не рекомендуется* переопределить этот параметр в файле конфигурации. Некоторые внутренние действия будут добавлять этот параметр на лету, переопределяя любое настроенное значение.

(Примечание. В Windows разделитель путей имеет значение `;`).

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

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