この記事では、解釈された結果を生成するために AUTOTITLE コマンドで使用するクエリを記述する方法について説明します。 カスタム クエリの概念については、 カスタム CodeQL クエリ を参照してください。
有効なクエリの記述
カスタム分析を実行する前に、有効なクエリを記述し、.ql 拡張子付きのファイルに保存する必要があります。 クエリの記述に役立つ広範なドキュメントがあります。 詳しくは、「CodeQL クエリ」を参照してください。
クエリ メタデータを含める
`database analyze` コマンドを使用してクエリを実行する場合は、結果が確実に正しく解釈されるように、次の 2 つのプロパティを含める必要があります。
-
クエリ識別子 (
@id):/または-で区切られた小文字あるいは数字で構成される一連の単語。クエリを識別して分類します。 -
クエリの種類 (
@kind): クエリをシンプルなアラート (@kind problem)、一連のコードの場所で文書化されたアラート (@kind path-problem)、抽出のトラブルシューティング (@kind diagnostic)、またはサマリー メトリック (@kind metricと@tags summary) として識別します。
これらのメタデータ プロパティについて詳しくは、「CodeQL クエリのメタデータ」と「クエリ メタデータ スタイル ガイド」を参照してください。
SARIF ファイルにカスタム CodeQL クエリのクエリサポートを含める
クエリのヘルプとドキュメント形式の詳細については、 AUTOTITLE を参照してください。
コード スキャン分析の実行時に SARIF ファイルにクエリ ヘルプを含めるには:
-
次のいずれかの形式でクエリ ヘルプを記述します。 * Markdown ファイル: 同じ名前のクエリと共に Markdown ファイルを保存します (たとえば、
my-query.mdのmy-query.ql)。 * **.qhelpファイル**:.qhelp形式でクエリ ヘルプを記述し、分析を実行する前に Markdown に変換します。 詳しくは、「クエリ ヘルプ ファイル」と「クエリ ヘルプ ファイルのテスト」を参照してください。 -
`codeql database analyze` オプションを使用して`--sarif-add-query-help`を実行します。codeql database analyze <database> --format=sarif-latest --output=results.sarif --sarif-add-query-helpメモ
`--sarif-add-query-help` オプションは、 CodeQL CLI v2.7.1 以降から使用できます。 -
SARIF ファイルを GitHub にアップロードします。
次のステップ
カスタム クエリを共有して使用するには、 CodeQL パックを発行して使用する を参照してください。