Skip to main content

CodeQL を利用したコード品質の分析

CodeQL を利用した Code Quality の分析がどのように機能するか、使用されるワークフロー、プルリクエストで報告されるステータスチェックに関する情報。

メモ

GitHub Code Quality は現在 パブリック プレビュー にあり、変更される可能性があります。 パブリック プレビュー の間、Code Quality は課金されませんが、Code Quality スキャンでは GitHub Actions 分が消費されます。

CodeQL を利用した分析

Code Quality では、 CodeQL を使用して、プル要求と既定のブランチのルールベースの分析を実行します。

  •         **既定のブランチ**の結果は、リポジトリの [セキュリティ] タブの下の "標準の結果" ダッシュボードの下に表示されます。
    
  •         **pull request の結果は、**`github-code-quality[bot]`によって行われたコメントとして表示されます。
    

Copilotの自動修正 の提案は、可能な場合に検出結果に対して提供されます。

サポートされている言語のクエリ リスト

各Code Qualityルールは、CodeQLでクエリとして書かれ、GitHub Actionsを使用して実行されます。

ルールは、GitHub とオープン ソース開発者の両方によって継続的に改良されています。

  •         [AUTOTITLE](/code-security/code-quality/reference/codeql-queries/csharp-queries)
    
  •         [AUTOTITLE](/code-security/code-quality/reference/codeql-queries/go-queries)
    
  •         [AUTOTITLE](/code-security/code-quality/reference/codeql-queries/java-queries)
    
  •         [AUTOTITLE](/code-security/code-quality/reference/codeql-queries/javascript-queries)
    
  •         [AUTOTITLE](/code-security/code-quality/reference/codeql-queries/python-queries)
    
  •         [AUTOTITLE](/code-security/code-quality/reference/codeql-queries/ruby-queries)
    

CodeQL プロジェクトの詳細については、 https://codeql.github.com/を参照してください。

コード品質分析に使用されるワークフロー

Code Quality のすべてのワークフローの実行履歴は、あなたのリポジトリの [アクション] タブで確認できます。 動的ワークフローは"コード品質" と呼ばれます。

既定では、コード品質 ワークフローは標準の GitHub ランナーで実行されますが、特定のラベルを持つランナーを使用するように Code Quality を構成できます。 これらはGitHub またはセルフホステッドでホストできます。

組織でプライベート レジストリのキャッシュを構成している場合は、依存関係の解決に使用するコード品質分析に使用できます。

詳細については、以下を参照してください。

  •         [AUTOTITLE](/code-security/code-quality/how-tos/enable-code-quality)
    
  •         [AUTOTITLE](/code-security/securing-your-organization/enabling-security-features-in-your-organization/giving-org-access-private-registries#code-quality-access-to-private-registries)
    

プルリクエストのステータスチェック

プル要求でコード品質分析を実行すると、プル要求の下部にある [チェック] セクションに "CodeQL - コード品質 / Analyze" チェックが表示されます。

スキャンによって識別されたコードの問題は、プル要求のコメントで報告されます。 コメントは github-code-quality[bot] によって作成され、Copilotの自動修正 候補が含まれています。

状態チェックの失敗

ワークフローの実行に失敗しました。 たとえば、アクションのための時間予算が使い果たされた場合です。 エラーを診断するには、ログの表示を参照してください

マージがブロックされました: コード品質に関する問題が検出されました

スキャンによって、リポジトリのコード品質分岐規則によって設定された品質ゲートを超える問題がコードで検出されました。 pull request をマージする前に、これらの問題を解決する必要があります。 「pull request でのブロックの解決」を参照してください。