Garden に戻る

GitHub RulesetでCopilotの自動コードレビューを設定する方法

GitHub Rulesetを使用して、特定のブランチに対するプルリクエストでGitHub Copilotによる自動コードレビューを有効にする手順を解説します。

公開日 読了目安 4 分

GitHubには、プルリクエスト(PR)の作成時にGitHub Copilotへ自動的にコードレビューを依頼する機能があります。
この機能を活用することで、レビュアーを手動でアサインする手間を削減し、開発フローの効率化とコード品質の均質化を図れます。

本記事では、Ruleset(ルールセット) を使用して、特定のブランチに対するPRでCopilotの自動レビューを有効にする手順を解説します。

Rulesetとは

Rulesetは、GitHubリポジトリに対して保護ルールやワークフローの制約を一括で適用する仕組みです。
従来のブランチ保護ルール(Branch protection rules)よりも柔軟な設定が可能で、以下のようなルールを管理できます。

  • 特定ブランチへのマージ制限
  • コミット署名の強制
  • ステータスチェックの必須化
  • Copilotによる自動コードレビューの依頼

今回は、この中の「Copilotによる自動コードレビュー」に焦点を当てて設定を行います。

自動レビューの前提条件

設定を行う前に、以下の条件を満たしていることを確認してください。

  • リポジトリの管理者権限(Admin)を持っていること
  • GitHub Copilotのプランで「Copilot Code Review」が有効になっていること
  • 適用対象となるブランチ(例:main や develop)が決まっていること

設定手順

リポジトリの設定画面から、順を追ってRulesetを作成します。

1. Rulesetの作成画面を開く

対象のリポジトリの Settings タブを開き、左側のサイドバーから Code and automation > Rules > Rulesets を選択します。
画面右上の New ruleset ボタンをクリックし、新しいルールセットの作成を開始します。

new-ruleset

2. 基本情報の入力

ルールセットの基本設定を行います。

  • Ruleset Name: 管理しやすい名前を入力します(例:copilot-review-for-main)。
  • Enforcement Status: Active に設定します。これにより、設定保存後すぐにルールが適用されます。
  • Target branches: Include default branch を選択するか、Include by pattern で main などの対象ブランチを指定します。

setting

3. 自動レビュー・ルールの追加

設定項目のリストから Automatically request Copilot code review を探し、チェックを入れて有効化します。
この設定により、対象ブランチに向けたPRが作成されると、Copilotが自動的にレビュアーとして追加されます。

運用に合わせて、以下のオプションも検討してください。

  • Review new pushes: PRに対して新しいコミットがプッシュされるたびに、再レビューを行うかどうかを設定します。継続的な品質チェックが必要な場合は有効にします。
  • Review draft pull requests: Draft(下書き)状態のPRでもレビューを行うかを設定します。早期フィードバックを得たい場合に有用です。

4. 設定の保存

すべての設定が完了したら、ページ下部の Create ボタンをクリックしてルールセットを保存します。
これで設定は完了です。次回以降、対象ブランチへのPR作成時にCopilotによるレビューが自動で開始されます。

レビュー品質の向上:copilot-instructions.md

自動レビューの精度や観点をプロジェクトの方針に合わせるために、.github/copilot-instructions.md ファイルの作成を推奨します。
このファイルをリポジトリのルートディレクトリに配置することで、Copilotに対してレビューの指針を指示できます。

記述例:

  • セキュリティ上の脆弱性がないか重点的に確認してください。
  • 可読性を下げる複雑なロジックがあれば指摘してください。
  • プロジェクトの命名規則(キャメルケース等)に従っているか確認してください。
  • テストコードが不足している場合は追加を提案してください。

具体的な指示を与えることで、単なる構文チェックにとどまらず、チームの基準に沿った実用的なレビューが期待できます。

まとめ

Rulesetを用いたCopilotの自動レビュー設定は、開発プロセスの自動化において非常に効果的です。

  • 手間の削減: レビュアーアサインの自動化により、開発者はコーディングに集中できます。
  • 品質の安定: 機械的なチェックをCopilotに任せることで、人間が見落としがちな問題を早期に発見できます。
  • 一貫性の確保: copilot-instructions.md と組み合わせることで、チーム全体で統一されたレビュー基準を適用できます。

個人開発から大規模なチーム開発まで、コード品質の維持と開発効率の向上に役立つ機能です。ぜひ導入を検討してください。