Skip to main content

GitHub Copilot コード レビューについて

Copilot が、どのようにプル リクエストをレビューするかについて説明します。

はじめに

Copilotコード レビュー は、任意の言語で記述されたコードをレビューし、フィードバックを提供します。 コードを複数の角度からレビューして問題を特定し、修正を提案します。 2 回のクリックで、推奨される変更を適用できます。

この記事では、Copilotコード レビュー の概要について説明します。 Copilot からコード レビューを要求する方法については、 GitHub Copilot を使ったコードレビュー を参照してください。

可用性

Copilotコード レビュー は、以下でサポートされています。

  • GitHub.com
  • GitHub Mobile
  • VS Code
  • Visual Studio
  • Xcode
  • JetBrains IDE

Copilotコード レビュー は、以下のプランで利用可能なプレミアム機能です。

  • データ 変数.copilot.copilot_pro_short %}

  • Copilot Pro+

  • Copilot 事業

  • Copilot Enterprise

            [Copilot プラン](https://github.com/features/copilot/plans?ref_product=copilot&ref_type=purchase&ref_style=text)を確認してください。
    

組織から Copilot を受け取った場合、組織は、Copilot ポリシー設定で、Copilotコード レビュー オプションを有効にする必要があります。 これは、GitHub.com または GitHub Mobile のレビューに適用されます。 「組織内の GitHub Copilot のポリシーと機能の管理」を参照してください。

Copilotコード レビュー は Copilot ライセンスなしで使用することはできません。

          **Copilot のライセンスを持たない**組織メンバーは、Copilotコード レビュー をGitHub.comで使用できます。 エンタープライズ管理者または組織の所有者が有効にする必要があります。 この機能は、**Copilot 事業** および **Copilot Enterprise** プランに加入している組織が利用できます。

ライセンスのないユーザーのコード レビューを有効にする

Copilot ライセンスを持たない組織メンバーが Copilotコード レビュー を使用できるようにするには、次の 2 つのポリシーを有効にする必要があります。

  1.        **Premium リクエストの有料利用**。 最初にこのポリシーを有効にします。 これにより、エンタープライズまたは組織には、Copilotコード レビュー Premium 要求の使用量が課金されます。
    
  2.        **Copilot ライセンスを持たないメンバーがCopilotコード レビュー を GitHub.com で使用できるようにします**。 このサブポリシーは、ライセンスのないユーザーに対して Copilotコード レビュー を有効にします。
    

2 番目のポリシーには、次の特性があります。

  • この機能は既定で無効になっています。
  • このポリシーをエンタープライズ レベルで設定すると、表示されますが、組織レベルでは 編集できなくなります
  • ポリシーは 最も制限が厳しい。 Copilotコード レビュー は、ポリシーを明示的に有効にしたリポジトリでのみ使用できます。

ライセンスを持たないユーザーに対する動作

両方のポリシーが有効になっている場合、Copilot ライセンスが付与されていないユーザーは、組織のリポジトリ内のプル リクエストの Copilotコード レビュー からレビューを要求できます。

自動コード レビューが有効になっているリポジトリでは、Copilot はすべてのプル要求を自動的に確認します。 これは、作成者が Copilot ライセンスを持っているかどうかにかかわらず発生します。

ライセンスがないユーザーに対しては、Copilotコード レビュー を IDE で利用することはできません。

除外されたファイル

一部のファイルの種類はCopilotコード レビュー から除外されます。

  • 依存関係管理ファイル (package.json や Gemfile.lock など)
  • ログ ファイル
  • SVG ファイル

これらのファイルの種類をプル要求に含める場合、Copilotコード レビュー はファイルを確認しません。

詳しくは、「GitHub Copilot コード レビュー から除外されるファイル」をご覧ください。

Copilotコード レビュー のエージェント機能

メモ

  • Copilotコード レビュー には、 パブリック プレビュー に含まれる機能があり、変更される可能性があります。 GitHub プレリリース ライセンス条項は、プレビュー機能の使用に適用されます。

Copilotコード レビュー は、エージェント機能を利用してその機能を拡張します。

  •         **完全なプロジェクト コンテキストの収集**。 これにより、より具体的で正確で、コンテキストに応じたコード レビューが提供されます。 この機能は、リポジトリ全体を分析して、コード変更のコンテキストをより深く理解します。 完全なプロジェクト コンテキスト収集が一般提供されています。
    
  •         **Copilotコーディングエージェント に提案を渡す機能**。 これにより、推奨される修正が適用されたブランチに対する新しいプル要求の作成が自動化されます。 Copilotコーディングエージェント への提案の受け渡しはパブリック プレビュー段階であり、変更される可能性があります。
    

これらの機能は、Copilot ProプランまたはCopilot Pro+プランに対して自動的に有効になります。

GitHub Actions を使用できないまたは、Copilotコード レビュー が使用する Actions ワークフローが失敗した場合でも、レビューは生成されます。 ただし、エージェント機能によって提供される追加機能は含まれません。

コード レビューでのエージェント機能に対する GitHub Actions ランナーの使用

Copilotコード レビュー は、GitHub Actions の無料の分を使用して、エージェント機能を実行します。これには、プロジェクト全体のコンテキスト収集および、パブリック プレビュー の機能が含まれます。 既定では、Copilotコード レビュー は、GitHub でホストされるランナーを使用します。

コード レビューでエージェント機能を使用するために、組織または企業で GitHub Actions を有効にする必要はありません。

組織が、GitHub でホストされるランナーを無効にした場合、エージェント機能は利用できません。 この場合、コード レビューは、より限定的なレビューにフォールバックします。

このような状況の組織では、セルフホステッド ランナーを使用できます。 詳しくは、「GitHub Copilot コードレビューのためのセルフホステッドランナーの構成」をご覧ください。

コード レビューの月間クォータ

Copilot が IDE でプル要求を確認したり、コードをレビューしたりするたびに、Copilot Premium 要求の月間クォータが 1 つ減ります。

すべての新しい pull request に対して Copilot からコード レビューを自動的に要求するようにリポジトリが構成されている場合、Premium 要求の使用量は pull request 作成者のクォータに適用されます。

GitHub Actions またはボットが、プル リクエストを作成する場合、使用量は、次に適用されます。

  • ワークフローをトリガーしたユーザー (そのユーザーを識別できる場合)。
  • 指定された請求管理者。

クォータに達するとどうなりますか

毎月のクォータに達すると、クォータがリセットされるまで、 Copilot からコード レビューを受け取ることができません。 クォータがリセットされる前にコードレビューを引き続き使用するには、Copilotプランをアップグレードするか、追加のプレミアムリクエストを有効にする必要があります。

Copilot ライセンスを持たないユーザーのクォータ

Copilot ライセンスが付与されていないユーザーには、月次 Premium 要求クォータはありません。 このようなユーザーに対して Copilotコード レビュー が有効な場合、生成されるすべての Premium 要求は、支払われた超過分の使用量として組織または企業に直接課金されます。 これは、手動で要求されたレビューと自動コード レビューの両方に適用されます。

ライセンスのないユーザーによって生成された Premium 要求は、Copilot プラン クォータに起因しません。 課金レポートと Premium 要求分析では、超過分の使用量として表示されます。 Copilot ライセンスが付与されているユーザーは、割り当てられたプラン クォータから引き続き Premium 要求を使用します。

モデルの使用法

Copilotコード レビューは、入念に調整されたモデル、プロンプト、システム動作の組み合わせを使って、さまざまなコードベースについての一貫した高品質のフィードバックを提供する、専用の製品です。 モデルを変更すると、レビュー コメントの信頼性、ユーザー エクスペリエンス、品質が損なわれる可能性があるため、モデルの切り替えはサポートされていません。

メモ

Copilotコード レビューは、organization の [Models] 設定ページで有効にされていないモデルを使う場合があります。 [モデル] 設定ページでは、Copilot チャット のみが制御されます。

Copilotコード レビュー は一般公開されているため、すべてのモデルの使用は一般公開の条件に従います。 「組織内の GitHub Copilot のポリシーと機能の管理」をご覧ください。

Copilot コード レビューを検証する

Copilot は、プル リクエスト内のすべての問題や課題を検出するとは限りません。 時には間違いを犯すことがあります。 Copilotのフィードバックを慎重に検証してください。 Copilotのフィードバックは、人間のレビューで補完します。

詳しくは、「GitHub Copilot コード レビューの責任ある使用」をご覧ください。

Copilot のリポジトリに関する知識を強化する

Copilot がリポジトリ内のコード、使用するツール、およびコーディングの標準とプラクティスについて知れば知るほど、レビューの精度と有用性が高くなります。 Copilotのリポジトリに関する知識を強化するには、2 つの方法があります。

カスタム手順

これらは、リポジトリに 1 つ以上のファイルとして書き込んで格納する、短い自然言語ステートメントです。 GitHub の組織の所有者である場合は、組織の設定でカスタム指示を定義することもできます。 詳しくは、「GitHub Copilotの応答をカスタマイズする方法」をご覧ください。

Copilot メモリ (パブリック プレビュー)

Copilot Pro または Copilot Pro+ プランがある場合は、Copilot メモリ を有効にすることができます。 これにより、 Copilot は、リポジトリについて学習した有用な詳細を格納できます。 Copilot は、そのリポジトリ内のプル リクエストを確認するときにこの情報を使用できます。 詳しくは、「GitHub Copilotのエージェント記憶について」をご覧ください。

プル リクエストの自動レビューについて

既定では、Copilot は、プル リクエストに割り当てた場合にのみそのプル リクエストをレビューします。 ただし、自動レビューは構成できます。

  • Copilot Pro または Copilot Pro+ プランの個々のユーザーは、 Copilot を構成して、作成したすべてのプル要求を自動的に確認できます。
  •         **Repository 所有者** は、 Copilot を構成して、Copilot にaccessを持つユーザーによって作成されたすべてのプル要求をリポジトリ内で自動的に確認できます。
    
  •         **組織の所有者** が、Copilot を構成すると、Copilot ユーザーによってプル リクエストが作成された組織内の一部またはすべてのリポジトリのプル リクエストを自動的にレビューすることができます。
    

プル リクエスト自動レビューをトリガーする

自動コード レビューのトリガーは、構成設定によって異なります。

  • 基本設定:
    • "Open" プル リクエストとしてプル リクエストを作成する場合。
    • 初めて "Draft" pull request を "Open" に切り替えます。
  • 新しいプッシュを確認します。
    • 新しいコミットをプル リクエストにプッシュするたび。
  • 下書きの pull request を確認します。
    • "Open" に切り替える前に、プルリクエストは下書きの段階で自動的にレビューされます。

完全な手順については、 GitHub Copilot による自動コード レビューの構成 を参照してください。

メモ

Copilot がプルリクエストへの各プッシュをレビューするように設定されていない限り、プルリクエストは1回だけレビューされます。 pull request が自動的にレビューされた後で変更を加え、あなたが Copilot による再レビューを希望する場合は、手動でこれを要求することができます。 [レビュー担当者] メニューの Copilot 名の横にある [] ボタンをクリックします。

リポジトリ全体の詳細なコード品質フィードバックの取得

GitHub Copilot コード レビュー は pull request でコードをレビューし、フィードバックを提供します。 リポジトリ全体の信頼性と保守容易性に関する実用的なフィードバックが必要な場合は、GitHub Code Quality を有効にします。 「GitHubのコード品質について」を参照してください。

参考資料

  •         [AUTOTITLE](/copilot/how-tos/agents/copilot-code-review/using-copilot-code-review)