Поделиться через


AdvancedSecurity-Codeql-Init@1 — расширенная задача "Инициализация CodeQL версии 1"

Инициализирует базу данных CodeQL при подготовке к сборке.

Для проверяемого репозитория необходимо включить GitHub Advanced Security для Azure DevOps.

Синтаксис

# Advanced Security Initialize CodeQL v1
# Initializes the CodeQL database in preparation for building.
- task: AdvancedSecurity-Codeql-Init@1
  inputs:
    #languages: # 'csharp' | 'cpp' | 'go' | 'java' | 'javascript' | 'python' | 'ruby' | 'swift'. Languages to analyze. 
    #querysuite: 'Select a query suite...' # 'Select a query suite...' | 'code-scanning' | 'security-extended' | 'security-experimental' | 'security-and-quality'. CodeQL Query Suite to use for analysis. Default: Select a query suite....
  # Advanced
    #ram: # string. Options to control RAM usage in MB. 
    #threads: # string. Use this many threads to evaluate queries. 
    #codeqlpathstoignore: # string. Set a list of paths to exclude in the CodeQL analysis. 
    #codeqlpathstoinclude: # string. Set a list of additional paths to include in the CodeQL analysis. 
    #sourcesfolder: # string. Sets the folder that contains the sources to be analyzed. 
    #loglevel: '_' # '0' | '1' | '2' | '_'. Set the log level for the CodeQL analysis. Default: _.
    #configfilepath: # string. Use this to enable custom query analysis in codeql (path must be absolute). 
    #codeqltoolsdirectory: # string. Set a custom CodeQL tools directory (path must be absolute).

Входные данные

languages - Языки для анализа
string. Допустимые значения: csharp, cpp, go, javascriptjava, python, ruby, . swift

Язык программирования для анализа. Несколько языков можно разделить запятыми.

Вы можете задать язык здесь в задаче или указать язык в переменной конвейера с именем advancedsecurity.codeql.language. Если заданы оба параметра, приоритет имеет значение, указанное в задаче.


querysuite - Набор запросов CodeQL, используемый для анализа.
string. Допустимые значения: Select a query suite..., code-scanning, security-extended, security-experimental, security-and-quality. Значение по умолчанию: Select a query suite....

Набор запросов, т. е. набор правил, используемый для анализа. Значение можно указать здесь в задаче или в переменной конвейера с именем advancedsecurity.codeql.querysuite. Если заданы оба параметра, приоритет имеет значение, указанное в задаче. Значение по умолчанию — , Select a query suite... указывающее, что набор запросов должен быть указан в переменной advancedsecurity.codeql.querysuite .


ram - Параметры управления использованием ОЗУ в МБ
string.

Задайте общий объем ОЗУ, который должен быть разрешен для использования оценщиком запросов.

Можно указать ram здесь в задаче или в переменной конвейера с именем advancedsecurity.codeql.ram. Если заданы оба параметра, приоритет имеет значение, указанное в задаче.


threads - Использование этого количества потоков для оценки запросов
string.

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

Можно указать threads здесь в задаче или в переменной конвейера с именем advancedsecurity.codeql.threads. Если заданы оба параметра, приоритет имеет значение, указанное в задаче.


codeqlpathstoignore - Настройка списка путей для исключения в анализе CodeQL
string.

Можно указать несколько путей, разделенных запятыми. Пути должны быть относительно sourcesfolder , где выполняется CodeQL. По умолчанию используется Build.SourcesDirectory переменная среды конвейера. Например, чтобы игнорировать $(Build.SourcesDirectory)/donotscan каталог, задайте вместо codeqlpathstoignore: donotscancodeqlpathstoignore: $(Build.SourcesDirectory)/donotscan.


codeqlpathstoinclude - Настройка списка дополнительных путей для включения в анализ CodeQL
string.

Можно указать несколько путей, разделенных запятыми. Пути должны быть относительно sourcesfolder , где выполняется CodeQL. По умолчанию используется Build.SourcesDirectory переменная среды конвейера. Например, чтобы включить $(Build.SourcesDirectory)/app каталог, задайте codeqlpathstoinclude: app вместо codeqlpathstoinclude: $(Build.SourcesDirectory)/app.


sourcesfolder - Задает папку, содержащую анализируемые источники
string.

Если это значение не указано, используется папка sources по умолчанию для инфраструктуры конвейера (предоставляется переменной Build.SourcesDirectory ).


loglevel - Установка уровня ведения журнала для анализа CodeQL
string. Допустимые значения: 0 (Warning), 1 (Verbose), 2 (Debug), _ (Default (Warning)). Значение по умолчанию: _.

Укажите уровень ведения журнала.

Можно указать loglevel здесь в задаче или в переменной конвейера с именем advancedsecurity.codeql.loglevel. Если заданы оба значения, значение, указанное в задаче, имеет приоритет, если не указано значение _ по умолчанию для loglevel в задаче. Если _ задан параметр , используется значение из , advancedsecurity.codeql.loglevel если оно доступно.


configfilepath - Используйте этот параметр, чтобы включить пользовательский анализ запросов в codeql (путь должен быть абсолютным).
string.

Если путь не указан, анализ кода будет продолжаться с запросами по умолчанию.


codeqltoolsdirectory - Установка пользовательского каталога средств CodeQL (путь должен быть абсолютным)
string.

Если путь не указан, будет использоваться значение $agent_toolsdirectory по умолчанию .


Параметры управления задачами

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

Выходные переменные

Нет.

Remarks

Для проверяемого репозитория необходимо включить GitHub Advanced Security для Azure DevOps.

Важно!

Эта задача поддерживается только для Azure Repos репозиториев Git.

Конвейер должен вызывать задачи в следующем порядке.

  1. Инициализация CodeQL
  2. Автособрать (или пользовательские задачи сборки)
  3. Выполнение анализа CodeQL

Задача автособрать является необязательной и может быть заменена пользовательскими задачами сборки. Для анализа проекта необходимо выполнить автособрание или пользовательские задачи сборки.

Требования

Требование Описание
Типы конвейеров YAML, классическая сборка, классический выпуск
Выполняется в Агент, DeploymentGroup
Требования None
Capabilities Эта задача не удовлетворяет требованиям для последующих задач в задании.
Ограничения команд Любой
Устанавливаемые переменные Любой
Версия агента Все поддерживаемые версии агента.
Категория задач Сборка

См. также раздел