GitHub Copilot · 16 ステップ

GitHub Copilot コードレビューの設定チュートリアル

Copilot は GitHub 上のすべてのプルリクエストをレビューできます。手動でレビューを依頼し、修正提案をワンクリックで適用し、rulesets で必須運用に変えるまで。GitHub 公式の録画を使った 16 ステップの図解ガイドです。

結論:4 つのステップで Copilot コードレビューを設定

  • プルリクエストを開き、Reviewers → Copilot の横にある Request をクリック。概要コメントと行内の修正提案は通常 30 秒以内に届きます。
  • Commit suggestion ボタンで修正を適用。IDE は不要です。Copilot Autofix の修正コミット後は code scanning が自動で再実行され、アラートを閉じます。
  • 必須化するには:rulesets で Require a pull request before merging と Automatically request Copilot code review にチェック。新しいプルリクエストには自動で Copilot が付きます。
  • チームの規約は .github/copilot-instructions.md に書く。リポジトリ直下の AGENTS.md やパス単位の .instructions.md で、Copilot のチェック項目をさらに細かく調整できます。

How to automate code reviews and testing with GitHub Copilot

動画:GitHub4:36

開く

Configuring code review by GitHub Copilot

公式ドキュメント:GitHub Docs

開く

このページのスクリーンショットはすべて GitHub 公式録画(デモリポジトリ)からのものです。解説テキストは独自に執筆し、各設定項目は GitHub Docs で確認しました。

出典動画は GitHub の YouTube 公式チャンネルで、タイムスタンプ付きリンクで参照しています。スクリーンショット内の Copilot コメントは録画内のデモコンテンツです。

GitHub Copilot コードレビューの設定手順

プルリクエスト上の Copilot レビューを読む

  1. 1

    プルリクエストを開き、Reviewers で Copilot を探す

    プルリクエストを作成すると同時に、Copilot が Reviewers 欄に現れます。手動で追加したか、rulesets が自動で依頼したかのどちらか。タイムラインの "review requested due to automatic review settings" が自動化の証拠です。

    GitHub pull request conversation page showing Copilot in the Reviewers sidebar and the timeline entry review requested due to automatic review settings on pull request #11
    PR を開いた瞬間に、Copilot はレビュー待ち行列に入ります。0:10 の場面を見る
  2. 2

    Copilot の Pull Request Overview から読む

    Copilot の最初のコメントは要約です。この PR の目的、レビューしたファイル、生成したコメント数がわかります。以降のレビューの目次として使いましょう。

    Copilot pull request overview comment on GitHub describing the /publishers/search endpoint with a Reviewed Changes table listing two changed files and three generated comments
    行内コメントを読む前に、概要コメントで Copilot の視点を把握できます。0:20 の場面を見る
  3. 3

    修正提案つきの行内コメントを読む

    行内コメントは問題の該当行に付きます。この例では exec() と文字列連結をコードインジェクションのリスクとして指摘し、すぐ適用できる suggestion ブロックを添えています。

    Copilot code review comment on a Python diff flagging exec() with string formatting as a serious code injection vulnerability with a suggested change calling __validate_id(publisher_id) instead
    重大な指摘ほど、ワンクリック適用の修正提案がセットで付きます。0:32 の場面を見る
  4. 4

    スタイルや型ヒントの指摘も確認する

    Copilot はリポジトリ独自の規約も守らせようとします。ここではコーディングガイドラインを引用し、追加すべき正確なアノテーションを提示。コメント下の 👍/👎 でフィードバックできます。

    Copilot review comment asking for a missing Python return type annotation with the exact code def search_publishers() -> tuple[dict, int] shown on a GitHub pull request diff
    規約に関する指摘は、自分たちのガイドラインをそのまま引用して返ってきます。0:52 の場面を見る

Copilot と code scanning の指摘を修正する

  1. 5

    Copilot の指摘を code scanning と突き合わせる

    github-advanced-security ボットは同じ exec() を CodeQL のコードインジェクションアラートとして報告します。その下に Copilot Autofix が脆弱性の説明と修正案を追加します。

    CodeQL code injection alert on server/routes/publishers.py in a GitHub pull request with a Copilot Autofix comment explaining how to remove the exec call and validate the id directly
    同じ行を 2 人のレビュアーが見る:CodeQL が警告し、Copilot Autofix が処方箋を出す。1:08 の場面を見る
  2. 6

    修正提案をワンクリックで適用する

    suggestion ブロックには必ず Commit suggestion ボタンがあり、IDE を開かずに PR ブランチへ修正コミットを積めます。複数の提案を 1 つのコミットにまとめることも可能です。

    Suggested change block on a GitHub pull request diff replacing exec(__validate_id(%s) % publisher_id) with a direct __validate_id call above the Commit suggestion button and a Review required merge box
    Commit suggestion は修正を直接 PR ブランチに書き込みます。1:23 の場面を見る
  3. 7

    code scanning が自動で再実行されるのを確認

    Autofix の提案を採用すると "Alert fix successfully applied" バナーが表示され、PR に 2 つ目のコミットが加わり、CodeQL がブランチを再スキャン。修正が有効ならアラートは自動で閉じます。

    GitHub banner reading Alert fix successfully applied above pull request #11 which now wants to merge two commits into main from the add-functionality branch
    修正イコール再スキャン:修正コミット後に CodeQL がブランチを検証します。1:46 の場面を見る
  4. 8

    Files タブで残りのコメントを処理する

    Files changed タブでは Copilot のコメントが diff の横に並びます。ここで Apply suggestion を開き、必要ならコミットメッセージを調整してコミット。エディタへ戻る必要はありません。

    Apply suggestion dialog on the GitHub Files changed tab with the commit message Commit suggestion from @Copilot and a Commit changes button over a Python diff
    レビューコメントは suggestion ごと Files タブの diff に付いたままです。2:02 の場面を見る

rulesets と指示ファイルでレビューを必須にする

  1. 9

    Copilot を自動依頼する rulesets を作る

    Settings → Rulesets → New ruleset でデフォルトブランチを対象にし、Require a pull request before merging を展開して Required approvals を 1 に、さらに Automatically request Copilot code review にチェック。以降、誰も Request を押し忘れずに済みます。

    GitHub ruleset editor with Require a pull request before merging expanded showing Required approvals set to 1 and the Automatically request Copilot code review checkbox ticked
    このチェックボックスで、対象ブランチの新 PR すべてに Copilot が付きます。2:26 の場面を見る
  2. 10

    マージを守るステータスチェックを必須にする

    同じ rulesets で Require status checks to pass を有効にし、GitHub Actions ワークフローの backend-tests と frontend-tests を追加。マージはグリーンを待つようになります。

    GitHub ruleset Require status checks to pass section listing backend-tests and frontend-tests GitHub Actions workflows as required status checks for merging
    リポジトリの Actions にある 2 つのジョブが、すべてのマージの門番になりました。2:32 の場面を見る
  3. 11

    未解決のセキュリティアラートでマージをブロックする

    同じく rulesets で Require code scanning results にチェックし、CodeQL を追加してしきい値を設定 — Security alerts: High or higher、Alerts: Errors。高深刻度の検出は修正までマージを凍結します。

    GitHub ruleset Require code scanning results setting with the CodeQL tool configured to block on Security alerts High or higher and Errors under Required tools and alert thresholds
    CodeQL のしきい値が、どのアラートでマージを止めるかを決めます。2:42 の場面を見る
  4. 12

    チームの規約をテキストで Copilot に教える

    リポジトリに .github/copilot-instructions.md を追加し、スタックとルールを記述します。Copilot Review は毎回このファイルを読み、コメント内であなたのガイドラインを引用します。

    GitHub file view of .github/copilot-instructions.md on the main branch opening the Tailspin Toys Crowd Funding Development Guidelines preview with a code standards section
    ファイルは .github に置き、すべての Copilot レビューが継承します。2:53 の場面を見る

Copilot 自身のプルリクエストをレビューする

  1. 13

    Copilot の PR も同僚のコードと同じようにレビュー

    Copilot 自身もプルリクエストを作成します。そのコードにも同じ目を向けましょう。PR を開き、Copilot が書いた説明を読み、マージ前に人間のレビューが必須になっているか確認します。

    Draft pull request #13 authored by Copilot from the copilot/fix-12 branch with a Copilot requested your review banner and a backend changes description on GitHub
    Copilot は copilot/fix-12 ブランチからこの PR を出し、人間のレビューを依頼してきました。3:12 の場面を見る
  2. 14

    承認前に codespace でブランチを動かす

    Copilot のブランチで codespace を開き、アプリを起動します。Copilot が作った星評価フィルターは実際に動くので、diff を読むだけでなく手で動かして確かめましょう。

    Tailspin Toys web app running in a GitHub codespace with the rating filter set to 4+ Stars and the featured games grid filtered down to highly rated titles
    codespace の URL で Copilot のブランチが動いています。フィルターは 4+ Stars。3:42 の場面を見る
  3. 15

    @copilot のメンションで修正を依頼する

    足りない部分があれば、PR にコメントして @copilot へ具体的に要件を伝えます。Copilot は同じ PR へフォローアップコミットを push。スコープの不満など言いません。

    GitHub comment box on a Copilot authored pull request with a typed message asking copilot to fill the star display based on the decimal part of a game rating
    @copilot へのコメント 1 つで、エージェントは再び仕事に戻ります。3:57 の場面を見る
  4. 16

    Copilot の PR 上で workflow の実行を承認する

    セキュリティのため、Copilot 作成の PR では Actions が人間の承認まで待機します。Approve workflows to run を押し、backend-tests・frontend-tests・CodeQL がすべてグリーンになってからマージしましょう。

    GitHub checks panel on a Copilot pull request showing Run tests backend-tests and frontend-tests pull_request workflows queued as Required and waiting for approval
    キューはあなた待ちです。Copilot の PR は人間のワンタップで Actions が動きます。4:18 の場面を見る

GitHub Copilot コードレビューの FAQ

関連ガイド