Skip to main content

CodeQL の構成ファイルでコマンド オプションを指定する

既定のコマンド オプションを、CodeQL の構成ファイルに保存できます。

この機能を使用できるユーザーについて

CodeQL は、次の種類のリポジトリで使用できます:

  • GitHub.com のパブリック リポジトリについては、「GitHub CodeQL の使用条件」を参照してください
  • GitHub Code Security が有効になっている GitHub Team または GitHub Enterprise Cloud 上の organization 所有のリポジトリ

CodeQL の構成ファイルでのコマンド オプションの指定について

コマンドの既定のオプションまたは頻繁に使われるオプションを、ユーザーごとの構成ファイルに保存できます。

CodeQL CLI のコマンド オプションは、次の 2 つの方法で指定できます。

  • 適切なフラグを使って、コマンド ラインで直接。
  • コマンドを実行するたびに CodeQL によって関連するオプションがスキャンされる構成 (config) ファイルで。

コマンドを実行するたびに変わる可能性が高いオプションの場合は、コマンド ラインで値を指定するのが、情報を CodeQL に渡す最も便利な方法です。 config ファイルにオプションを保存するのは、頻繁に使うオプションを指定するのによい方法です。 また、検索パスに対して通常使用するカスタム CodeQL パックを追加するのにも適した方法です。

CodeQL の構成ファイルを使用する

          `config` ファイルは、ホーム (Linux と macOS) またはユーザー プロファイル (Windows) ディレクトリの下の `.config/codeql/` サブディレクトリに保存する必要があります。 たとえば、「 `$HOME/.config/codeql/config` 」のように入力します。

オプションを指定する構文は次のとおりです。

<command> <subcommand> <option> <value>

同じオプションを複数のコマンドに適用するには、次のようにできます。

  •         `<subcommand>` を省略すると、関連するすべての `<subcommand>` にオプションが指定されます。
    
  •         `<command>` と `<subcommand>` の両方を省略すると、関連するすべての `<command>` と `<subcommand>` にオプションがグローバルに指定されます。
    

メモ

* config ファイルでスペースを使用できるのは、オプション フラグと値の間だけです。= を使ってオプション値を指定すると、CodeQL でエラーがスローされます。

  • コマンド ラインでオプションを指定すると、config でそのオプションに定義されている値がオーバーライドされます。
          `<command>`、`<subcommand>`、またはグローバルに複数のオプションを指定したい場合は、オプションごとに 1 行を使います。

例示

  •         `codeql database analyze` によって生成されたすべての分析結果を CSV 形式で出力するには、次のように指定します。
    
    database analyze --format csv
    

    ここでは、database analyze の間に実行される低レベルのコマンドに同じ --format オプションが渡されるのを防ぐため、コマンドとサブコマンドを指定する必要があります。

  • CodeQL コマンドの実行時に使う RAM (4,096 MB) とスレッド数 (4) を定義するには、個別の行で以下を指定します。

    --ram 4096
    --threads 4
    
  • CodeQL が CodeQL パックをスキャンするディレクトリをグローバルに指定するには (インストール ディレクトリの兄弟ではない場合)、以下を使います。

    --search-path <path-to-directory>