メモ
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 でのブロックの解決」を参照してください。