次の方法で共有


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. 使用できる値: csharpcpp、、 gojavajavascriptpythonrubyswift

分析するプログラミング言語。 複数の言語をコンマで区切ることができます。

ここでタスクで言語を設定することも、 という名前 advancedsecurity.codeql.languageのパイプライン変数で言語を指定することもできます。 両方が設定されている場合は、タスクで指定された値が優先されます。


querysuite - 分析に使用する CodeQL クエリ スイート。
string. 使用できる値: Select a query suite...、、code-scanningsecurity-extendedsecurity-experimentalsecurity-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 リポジトリでのみサポートされています。

パイプラインは、次の順序でタスクを呼び出す必要があります。

  1. Initialize CodeQL
  2. AutoBuild (またはカスタム ビルド タスク)
  3. CodeQL 分析を実行する

AutoBuild タスクは省略可能であり、カスタム ビルド タスクに置き換えることができます。 プロジェクトを分析するには、AutoBuild またはカスタム ビルド タスクを実行する必要があります。

要件

要件 説明
パイプラインの種類 YAML、クラシック ビルド、クラシック リリース
実行日 エージェント、DeploymentGroup
確認要求 なし
Capabilities このタスクは、ジョブ内の後続のタスクに対する要求を満たしていません。
コマンドの制限 Any
設定可能な変数 Any
エージェントのバージョン サポートされているすべてのエージェント バージョン。
タスクのカテゴリ Build

こちらもご覧ください