注: この機能を使うには、サイト管理者が お使いの GitHub Enterprise Server インスタンス の code scanning を有効にする必要があります。 コードをスキャンするためにGitHub Actionsを使いなら、サイト管理者はGitHub Actionsの有効化と、必要なインフラストラクチャのセットアップもしなければなりません。 詳しくは、「アプライアンス用コードスキャンの構成」を参照してください。
code scanning の構成について
さまざまなツールを使って、リポジトリでの code scanning を構成できます。 詳細については、「コード スキャンの既定セットアップの構成」および「コード スキャンの高度なセットアップの構成」を参照してください。
利用できるログと診断情報は、リポジトリ中でのcode scanningの利用方法によります。 使用しているcode scanningの種類を確認するには、リポジトリの [セキュリティ] タブで、アラート一覧の [ツール] ドロップダウン メニューを使用します。 詳しくは、「リポジトリのコード スキャンのアラートを管理する」を参照してください。
分析と診断情報について
code scanningの実行に対する分析と診断情報は、GitHub上のCodeQL分析を使用して見ることができます。
アラート一覧の上部にあるヘッダーに、最新の分析に関する分析情報が表示されます。 詳しくは、「リポジトリのコード スキャンのアラートを管理する」を参照してください。
診断情報は [アクション] ワークフロー ログに表示され、概要メトリックと抽出診断からなります。 GitHub の code scanning ログへのアクセスの詳細については、以下の「code scanningからのログ出力の表示」を参照してください。
GitHubの外部でCodeQL CLIを使っているなら、診断情報はデータベース分析の間に生成された出力中に示されます。 この情報は、code scanningの結果とともにGitHubにアップロードするSARIF結果ファイル中にも含まれています。
CodeQL CLI の詳細については、「CodeQL クエリによるコード分析」を参照してください。
サマリメトリクスについて
サマリのメトリクスには以下が含まれます。
- CodeQLデータベースの作成と抽出前のコードベース中のコードの行数(ベースラインとして使われます)
- 外部ライブラリと自動生成されたファイルを含む、コードから抽出されたCodeQLデータベース中のコードの行数
- 自動生成されたファイルと外部ライブラリを除く、CodeQLデータベース中のコードの行数
CodeQLソースコード抽出診断について
抽出診断は分析の間に見られたファイルのみをカバーし、以下のメトリクスを含みます。
- 分析に成功したファイル数
- データベースの作成中に抽出エラーを生成したファイル数
- データベースの作成中に抽出の警告を生成したファイル数
デバッグ ログを有効にすると、データベースの作成時に発生した CodeQL 抽出子のエラーと警告に関する詳しい情報を確認できます。 詳しくは、「ログの詳細が十分ではない」を参照してください。
code scanning からログ出力を表示する
このセクションは、GitHub Actionsを使って実行されるcode scanning(CodeQLあるいはサードパーティ)に適用されます。
リポジトリで code scanning を構成したら、実行したアクションの出力を見ることができます。
-
リポジトリ名の下にある [アクション] をクリックします。
code scanning ワークフローを実行するためのエントリを含むリストが表示されます。 エントリのテキストは、コミットメッセージに付けるタイトルです。
-
code scanning ワークフローのエントリをクリックします。
メモ: 既定のセットアップを有効にすることでトリガーされた CodeQL ワークフローの実行を探している場合、エントリのテキストは「CodeQL」です。
-
左側のジョブ名をクリックします。 たとえば、 [分析 (言語)] です。
-
このワークフローの実行時にアクションから出力されるログを確認します。
-
必要に応じて、ワークフローの実行をトリガーしたコミットを詳しく表示するには、短いコミット ハッシュをクリックしてください。 短いコミット ハッシュは、コミット作成者のユーザー名のすぐ後に表示されている 7 つの小文字です。
-
すべてのジョブが完了すると、確認されたすべての code scanning アラートの詳細を表示できます。 詳しくは、「リポジトリのコード スキャンのアラートを管理する」を参照してください。