Skip to main content

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

          Code Qualityの CodeQL を利用した分析のしくみ、使用されるワークフロー、プル要求で報告された状態チェックに関する情報。

メモ

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

          CodeQLのパワーによる分析

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

* 既定のブランチの結果は、リポジトリの [ Security and quality] タブの [****] ダッシュボードの下に表示されます。

  •         **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/](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)
    

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

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

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

状態チェックの失敗

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

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

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