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

このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2023-03-15. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの向上、新機能の向上を図るために、最新バージョンの GitHub Enterprise にアップグレードします。 アップグレードに関するヘルプについては、GitHub Enterprise サポートにお問い合わせください

クエリ参照ファイル

クエリ参照ファイルを使って、テストで実行するクエリの場所を定義できます。

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

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

注: この記事は、2023 年 1 月に CodeQL ドキュメント Web サイトから移行されました。

クエリ参照ファイルについて

クエリ参照ファイルは、テストする 1 つのクエリの場所を定義するテキスト ファイルです。

テスト ディレクトリに含まれていないクエリの実行を test run サブコマンドに指示するときは、クエリ参照ファイルを使います。 テストとして実行するクエリを指定するには、2 つの方法があります。

  1. クエリ参照ファイルを使って、テストするクエリの場所を指定します。 これは、実際のコードベースの問題を特定することを目的としたアラート クエリとパス クエリのテストを作成する場合に便利です。 テスト コードの複数のディレクトリを作成し、それぞれでクエリの異なる側面を対象にする場合があります。 その後、テスト コードの各ディレクトリにクエリ参照ファイルを追加して、テストするクエリを指定します。
  2. クエリをテストのディレクトリに直接追加します。 これらは通常、QL ライブラリの動作をテストするためにクエリを明示的に記述する場合に便利です。 多くの場合、これらのクエリにはライブラリ述語の呼び出しが数個だけ含まれ、出力をテストできるようにそれらを select ステートメントでラップします。

クエリ参照ファイルを定義する

各クエリ参照ファイル .qlref には、1 つのクエリを見つける場所を定義する 1 行が含まれています。 場所は、クエリを含む CodeQL パックのルートを基準にして定義されている必要があります。 通常これは、.qlref を含む CodeQL パック、テスト パックのdependencies ブロックで指定されている CodeQL パック、または CodeQL パックの推移的な依存関係のいずれかです。

システム間で互換性があるよう、すべてのオペレーティング システムのパスでスラッシュを使う必要があります。

JavaScript アラート クエリをテストするためのクエリ参照ファイル: DeadAngularJSEventListener.qlref

javascript/ql/test にある CodeQL パック用の qlpack.yml ファイル https://github.com/github/codeql/blob/main/javascript/ql/test/qlpack.yml では、依存関係として codeql/javascript-queries が定義されています。 そのため、クエリ参照ファイルでは、codeql/javascript-queries CodeQL パックを基準にしてクエリの場所を定義します。

AngularJS/DeadAngularJSEventListener.ql