AdvancedSecurity-Codeql-Init@1 - Advanced Security Initialize CodeQL v1 タスク
ビルドの準備として CodeQL データベースを初期化します。
スキャン対象のリポジトリに対して Azure DevOps のGitHub Advanced Securityが有効になっている必要があります。
構文
# 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
、 java
、 javascript
、 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
- RAM 使用量を MB 単位で制御するオプション
string
.
クエリ エバリュエーターで使用できる必要がある RAM の合計量を設定します。
タスクでここで指定 ram
することも、 という名前 advancedsecurity.codeql.ram
のパイプライン変数で指定することもできます。 両方が設定されている場合は、タスクで指定された値が優先されます。
threads
- この多くのスレッドを使用してクエリを評価する
string
.
0 を渡して、コンピューター上のコアごとに 1 つのスレッドを使用したり、N を渡して、N 個のコアを未使用のままにしたりすることができます (ただし、その場合でも、少なくとも 1 つのスレッドが使用されます)。
タスクでここで指定 threads
することも、 という名前 advancedsecurity.codeql.threads
のパイプライン変数で指定することもできます。 両方が設定されている場合は、タスクで指定された値が優先されます。
codeqlpathstoignore
- CodeQL 分析で除外するパスの一覧を設定する
string
.
複数のパスをコンマで区切って指定できます。 パスは、CodeQL が実行されている 場所に対する sourcesfolder
相対パスである必要があります。これは、既定では Build.SourcesDirectory
パイプライン環境変数です。 たとえば、ディレクトリを無視$(Build.SourcesDirectory)/donotscan
するには、 ではなく codeqlpathstoignore: $(Build.SourcesDirectory)/donotscan
を設定codeqlpathstoignore: donotscan
します。
codeqlpathstoinclude
- CodeQL 分析に含める追加パスの一覧を設定する
string
.
複数のパスをコンマで区切って指定できます。 パスは、CodeQL が実行されている 場所に対する sourcesfolder
相対パスである必要があります。これは、既定では Build.SourcesDirectory
パイプライン環境変数です。 たとえば、 ディレクトリを$(Build.SourcesDirectory)/app
含めるには、 ではなく codeqlpathstoinclude: $(Build.SourcesDirectory)/app
を設定codeqlpathstoinclude: app
します。
sourcesfolder
- 分析するソースを含むフォルダーを設定します
string
.
この値を指定しない場合は、パイプライン インフラストラクチャの既定の sources フォルダーが使用されます (変数によって Build.SourcesDirectory
提供されます)。
loglevel
- CodeQL 分析のログ レベルを設定する
string
. 使用できる値: 0
(警告)、 1
(詳細)、 2
(デバッグ)、 _
(既定値 (警告))。 既定値: _
。
ログ記録のレベルを指定します。
タスクでここで指定 loglevel
することも、 という名前 advancedsecurity.codeql.loglevel
のパイプライン変数で指定することもできます。 両方が設定されている場合、タスク内の の既定値が指定されていない限り、タスクで指定された値_
loglevel
が優先されます。 が指定されている場合 _
は、 の advancedsecurity.codeql.loglevel
値が使用可能な場合に使用されます。
configfilepath
- これを使用して、codeql でカスタム クエリ分析を有効にします (パスは絶対パスである必要があります)。
string
.
path が指定されていない場合、codeql 分析は既定のクエリを続行します。
codeqltoolsdirectory
- カスタム CodeQL ツール ディレクトリを設定する (パスは絶対パスである必要があります)
string
.
パスが指定されていない場合は、 の $agent_toolsdirectory
既定値が使用されます。
タスク制御オプション
すべてのタスクには、タスク入力に加えて制御オプションがあります。 詳細については、「 コントロール オプションと一般的なタスク プロパティ」を参照してください。
出力変数
[なし] :
解説
スキャン対象のリポジトリに対して Azure DevOps のGitHub Advanced Securityが有効になっている必要があります。
重要
このタスクは、Azure Repos Git リポジトリでのみサポートされています。
パイプラインは、次の順序でタスクを呼び出す必要があります。
- Initialize CodeQL
- AutoBuild (またはカスタム ビルド タスク)
- CodeQL 分析を実行する
AutoBuild タスクは省略可能であり、カスタム ビルド タスクに置き換えることができます。 プロジェクトを分析するには、AutoBuild またはカスタム ビルド タスクを実行する必要があります。
要件
要件 | 説明 |
---|---|
パイプラインの種類 | YAML、クラシック ビルド、クラシック リリース |
実行日 | エージェント、DeploymentGroup |
確認要求 | なし |
Capabilities | このタスクは、ジョブ内の後続のタスクに対する要求を満たしていません。 |
コマンドの制限 | Any |
設定可能な変数 | Any |
エージェントのバージョン | サポートされているすべてのエージェント バージョン。 |
タスクのカテゴリ | Build |