Skip to main content
ドキュメントへの更新が頻繁に発行されており、このページの翻訳はまだ行われている場合があります。 最新の情報については、「英語のドキュメント」を参照してください。
現在、GitHub AE は限定的リリースです。

bqrs interpret

[プラミング] 単一の BQRS 内のデータを解釈します。

GitHub CodeQL は、インストール時にユーザーごとにライセンスされます。 CodeQL は、ライセンスの制限の下で特定のタスクでのみ使用できます。 詳しくは、「CodeQL CLI について」を参照してください。

GitHub Advanced Security ライセンスがある場合は、CodeQL を使用して、自動分析、継続的インテグレーション、継続的デリバリーを行うことができます。 詳しくは、「GitHub Advanced Security について」を参照してください。

This content describes the most recent release of the CodeQL CLI. For more information about this release, see https://github.com/github/codeql-cli-binaries/releases.

To see details of the options available for this command in an earlier release, run the command with the --help option in your terminal.

構文

Shell
codeql bqrs interpret --format=<format> --output=<output> -t=<String=String> [--threads=<num>] [--source-archive=<sourceArchive>] [--source-location-prefix=<sourceLocationPrefix>] <options>... -- <bqrs-file>

説明

[プラミング] 単一の BQRS 内のデータを解釈します。

指定されたメタデータに従って単一の BQRS ファイルを解釈し、指定された形式で出力を生成するコマンド。

主なオプション

<bqrs-file>

[必須] 解釈する BQRS ファイル。

--format=<format>

[必須] 結果を書き込む形式。 つぎのいずれかです。

csv: ルールとアラート メタデータの両方がある列を含む、書式設定されたコンマ区切りの値。

sarif-latest: Static Analysis Results Interchange Format (SARIF)。静的な分析結果を記述するための JSON ベースの形式。 この形式オプションでは、サポートされている最新バージョン (v2.1.0) が使用されます。 このオプションは、異なる CodeQL バージョン間で異なるバージョンの SARIF が生成されるため、自動化での使用には適していません。

sarifv2.1.0: SARIF v2.1.0。

graphtext: グラフを表すテキスト形式。 @kind グラフを使用するクエリとのみ互換性があります。

dgml: Directed Graph Markup Language。グラフを記述するための XML ベースの形式。 @kind グラフを使用するクエリとのみ互換性があります。

dot: Graphviz DOT 言語。グラフを記述するためのテキストベースの形式。 @kind グラフを使用するクエリとのみ互換性があります。

-o, --output=<output>

[必須] 結果を書き込む出力パス。 グラフ形式の場合、これはディレクトリである必要があり、結果 (このコマンドで複数のクエリの解釈がサポートされている場合は複数の結果) がそのディレクトリ内に書き込まれます。

-t=<String=String>

[必須] クエリ メタデータのキーと値のペア。 各メタデータに対して繰り返します。 少なくともキー 'kind' と 'id' を指定する必要があります。 キーの前に @ を付ける必要はありません。

--max-paths=<maxPaths>

パスを含むアラートごとに生成するパスの最大数。 (既定値: 4)

--[no-]sarif-add-file-contents

[SARIF 形式のみ] 少なくとも 1 つの結果で参照されるすべてのファイルの完全なファイル コンテンツを含めます。

--[no-]sarif-add-snippets

[SARIF 形式のみ] 結果に示されている各場所のコード スニペットを含めます。報告された場所の前後に 2 行のコンテキストがあります。

--[no-]sarif-add-query-help

[SARIF 形式のみ] 結果に Markdown クエリ ヘルプを含めます。 /path/to/query.md ファイルから /path/to/query.ql のクエリ ヘルプが読み込まれます。 このオプションは、codeql bqrs interpret に渡しても効果はありません。

--[no-]sarif-group-rules-by-pack

[SARIF 形式のみ] <run>.tool.extensions プロパティの対応する QL パックの下に、各クエリのルール オブジェクトを配置します。 このオプションは、codeql bqrs interpret に渡しても効果はありません。

--[no-]sarif-multicause-markdown

[SARIF 形式のみ] 複数の原因があるアラートの場合は、プレーン文字列に加え、マークダウン形式の明細化されたリストとして出力に含めます。

--no-group-results

[SARIF 形式のみ] 一意の場所ごとに 1 つの結果ではなく、メッセージごとに 1 つの結果を生成します。

--csv-location-format=<csvLocationFormat>

CSV 出力で場所を生成する形式。 次のいずれか: uri、行列、オフセット長。 (既定値: 行列)

--dot-location-url-format=<dotLocationUrlFormat>

DOT 出力でファイルの場所 URL を生成する形式を定義する書式設定文字列。 プレース ホルダーとして、{path} {start:line} {start:column} {end:line} {end:column}、{offset}、{length} を使用できます

--sarif-category=<category>

[SARIF 形式のみ] SARIF 出力に含めるこの分析のカテゴリを指定します。 カテゴリを使用して、同じコミットとリポジトリ (ただし、異なる言語またはコードの異なる部分) で実行される複数の分析を区別できます。

同じバージョンのコード ベースを複数の異なる方法で分析し (たとえば、言語が異なる場合)、コード スキャンでプレゼンテーションするために GitHub に結果をアップロードする場合、この値は各分析間で異なる必要があります。これにより、コード スキャンに対して、分析では互いに ''置き換える'' のではなく ''補足する'' ことが示されます ** (コード ベースの ''異なる'' バージョンに対して同じ分析の実行間で値の一貫性を保つ必要があります)。

この値は、SARIF v1 では <run>.automationId プロパティ、SARIF v2 では <run>.automationLogicalId プロパティ、SARIF v 2.1.0 では <run>.automationDetails.id プロパティとして表示されます (まだ存在しない場合は末尾にスラッシュが付加される)。

-j, --threads=<num>

パスの計算に使用されるスレッドの数。

既定値は 1 です。 0 を渡して、コンピューター上のコアごとに 1 つのスレッドを使用したり、N を渡して、N 個のコアを未使用のままにしたりすることができます (ただし、それでも少なくとも 1 つのスレッドを使用する)。

--sarif-run-property=<String=String>

[SARIF のみ] 生成された SARIF 'run' プロパティ バッグに追加するキーと値のペア。 繰り返すことができます。

--column-kind=<columnKind>

[SARIF のみ] 場所の列を解釈するために使用される列の種類。 次のいずれか: utf8、utf16、utf32、bytes。

--[no-]unicode-new-lines

[SARIF のみ] Unicode 改行文字 LS (行区切り記号、U+2028) と PS (段落区切り記号、U+2029) が、場所の行番号を解釈するときに改行と見なされるかどうか。

ソース アーカイブ オプション - 一緒に指定するか、まったく指定しない必要がある

-s, --source-archive=<sourceArchive>

ソース アーカイブを含むディレクトリまたは zip ファイル。

-p, --source-location-prefix=<sourceLocationPrefix>

ソース コードが格納されていた元のファイル システム上のファイル パス。

共通オプション

-h, --help

このヘルプ テキストを表示します。

-J=<opt>

[詳細設定] コマンドを実行している JVM にオプションを指定します

(スペースを含むオプションは正しく処理されないことに注意してください)。

-v, --verbose

印刷される進行状況メッセージの数を段階的に増やします。

-q, --quiet

印刷される進行状況メッセージの数を段階的に減らします。

--verbosity=<level>

[詳細設定] 詳細レベルを、errors、warnings、progress、progress+、progress++、progress+++ のいずれかに明示的に設定します。 -v-q がオーバーライドされます。

--logdir=<dir>

[詳細設定] タイムスタンプと実行中のサブコマンドの名前を含む生成された名前を使用して、指定されたディレクトリ内の 1 つまたは複数のファイルに詳細なログを書き込みます

(完全に制御できる名前でログ ファイルを書き込むには、代わりに --log-to-stderr を指定し、必要に応じて stderr をリダイレクトします)。