Skip to main content
Мы публикуем частые обновления нашей документации, и перевод этой страницы может все еще выполняться. Актуальные сведения см. в документации на английском языке.

создание справки по запросу

Создайте справку по запросам конечных пользователей из файлов QHELP.

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

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

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

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

Краткий обзор

Shell
codeql generate query-help --format=<format> [--output=<dir|file>] <options>... -- <qhelp|query|dir|suite>...

Описание

Создайте справку по запросам конечных пользователей из файлов QHELP.

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

<qhelpdir|suite>...

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

  • Файл QHELP для отрисовки.
  • QL-файл с соответствующим файлом QHELP для отрисовки.
  • Каталог, в который будет выполняться рекурсивный поиск QL-файлов с соответствующими файлами QHELP.
  • QLS-файл, определяющий определенный набор запросов.
  • Базовое имя "известного" QLS-файла, экспортированного одним из установленных пакетов QL.

--format=<format>

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

markdown: разметка Markdown в GitHub.

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

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

-o, --output=<dir|file>

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

Если указан только один файл QHELP или QL и по выходному пути не существует каталога, выходные данные будут записаны в один файл по указанному пути.

Если выходной путь не указан, будет принят только один файл QHELP или QL, а выходные данные будут записаны в stdout.

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

--warnings=<mode>

Обработка предупреждений от отрисовщика справки по запросам. Одно из двух значений:

hide: подавление предупреждений.

show(по умолчанию): вывод предупреждений, но продолжение отрисовки.

error: предупреждения обрабатываются как ошибки.

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

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

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

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

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

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

(Примечание. В Windows разделителем пути является ;).

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

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

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

(Примечание. В Windows разделителем пути является ;).

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

--registries-auth-stdin

Выполните проверку подлинности в реестрах контейнеров GitHub Enterprise Server, передав список \<registry_url>=\ пар, разделенный запятыми.

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

Это переопределяет переменные среды CODEQL_REGISTRIES_AUTH и GITHUB_TOKEN. Если вам нужно пройти проверку подлинности только в реестре контейнеров github.com, можно использовать более простой --github-auth-stdin вариант.

--github-auth-stdin

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

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

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

Общие параметры

-h, --help

Показать этот текст справки.

-J=<opt>

[Дополнительно] Предоставьте параметр виртуальной машине JVM, выполняющую команду .

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

-v, --verbose

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

-q, --quiet

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

--verbosity=<level>

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

--logdir=<dir>

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

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