一言で
Code Quality は、信頼性・保守性の問題が将来の技術的負債になる前に止める仕組み。
CodeQL ルール + AI 解析 で検出し、PR で修正を提案、リポジトリの健全性をスコア化し、品質基準を満たさないマージも防げる。
Code Quality がカバーする範囲 📖 Docs
2026 年 7 月 20 日 に GA。役割は、コードが古くなっても信頼性・保守性・テストカバレッジを保つこと。GitHub Advanced Security に組み込まれた機能ではなく、その隣に並ぶ独立製品。
🔑 両方使う。Code Scanning は悪用可能なリスク、Code Quality は長期的なコードの健全性を守る。
対応言語 📖 Docs
CodeQL のルールベース解析は C#, Go, Java, JS/TS, Python, Ruby の 6 言語のみ。C/C++ や Swift などで使えるのは AI 解析とカバレッジだけ。
| 機能 | ✅ CodeQL 対応 6 言語 | ⚠️ C/C++ ほか |
|---|---|---|
| 🔍 PR の CodeQL finding + Autofix | ✅ | ❌ |
| 📋 default branch の Standard findings | ✅ | ❌ |
| 🤖 Agentic Autofix | ✅ | ❌ |
| 🚧 finding による品質ゲート | ✅ | ❌ |
| 🧠 AI 解析(最近変更されたファイル) | ✅ | ✅ |
| 🧪 カバレッジ(Cobertura XML) | ✅ | ✅ |
💡 PR 上に出るのは CodeQL の finding だけ。C/C++ の PR レビューは Copilot code review ↗(別製品)で補う。
マージ前に修正
AI がコードの大半を書くなら、品質を守るのは PR ごとの ruleset 品質ゲート。GitHub 社内では finding の 67.3% をマージ前に解消している(GitHub, 2026 ↗)。
| 🟢 PR ごとにゲート | 🔴 ゲートなし | |
|---|---|---|
| 🤖 エージェント | 見落としをゲートが検出 | 見落としがそのままマージ |
| 🔧 修正 | 同じ PR 内で Autofix | 後で修正 PR、後回しになりがち |
| 📉 コードベース | 基準を維持 | 負債が次のエージェントに残る |
- 🐛 編集が壊れやすい: 不健全なコードへの AI の編集は欠陥リスクが 30% 以上高い(FORGE 2026 ↗)
- 🪙 読むコストが増える: Code Health が最も低いコードは入力トークンが 約 45% 増(Java / C++、SCAM 2026 ↗)
Agentic Autofix 📖 Docs
修正案の提示だけでなく、既存の品質負債を修正 PR に変える。
| ステップ | 何が起きるか |
|---|---|
| 🎯 選択 | Security and quality → Code quality → Standard findings。同じページから 1〜25 件を選択。対象は default branch の CodeQL finding。 |
| 🤖 委任 | Assign to Copilot で cloud agent がブランチ上で修正し、検証して PR を作成。1 件の場合も Generate fix に代わる共通フロー。 |
| 👀 レビュー | 修正内容と CI の結果を確認してマージ。人によるレビューは引き続き必要。 |
- 🛂 利用条件: Code Quality を有効化した Team / Enterprise Cloud(data residency を含む)。既存の enterprise ポリシーを継承し、一括修正専用の設定は不要。
- 💳 コスト: AI credits を消費。委任には Copilot ライセンスも必要。
有効化と展開 📖 Docs
有効化は 3 階層のカスケード
- 🏛️ Enterprise —
Policies → Code qualityで Organization の利用を許可 - 🏢 Organization —
Settings → Code quality → Repository accessで対象リポジトリを指定 - 📦 Repository —
Settings → Code quality → Enable code qualityで scan を有効化
有効化する前に
- ⚙️ GitHub Actions — 決定論的な CodeQL scan は Actions workflow で動く
- 🏃 Runner — GitHub-hosted、または想定 label 付きの self-hosted
- 🧪 カバレッジ — 既存テストの Cobertura XML を upload
- 🧭 品質ゲート — ruleset は Evaluate mode で始めてからマージブロックへ
▼ gh-code-quality-inventory.sh Enterprise slug を渡すだけで全 Organization を巡回し、Code Quality が有効なリポジトリを一覧化 ./gh-code-quality-inventory.sh <enterprise>🏢 展開状況は Organization 単位でしか確認できない。 dashboard と「Repository access」は Organization スコープで、Enterprise レベルではポリシーの許可リストと消費ライセンスしか見えない。
GA の利用条件と料金
GitHub Enterprise Cloud と GitHub Team で利用可能。
▸ + でその項目の詳細を展開
品質を継続的に測定
PR での強制は新しい負債を止める。既存の負債がどこにあるかは dashboard と API でわかる。
- 📊 Repository / Organization dashboard — リポジトリ横断で reliability と maintainability score を確認し、負債が集中している場所を特定
- 🧪 PR のカバレッジ — 既存の Cobertura XML を表示し、カバレッジの増減を確認
- 🔌 API — リポジトリの有効化と finding の取得を自動化し、独自のレポートに活用
🎯 Dashboard で品質負債の場所を把握し、ruleset で新たな負債の追加を止める。