Skip to main content

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

Copilot があなたのためにプルリクエストをレビューする方法について確認してください。

この機能を使用できるユーザーについて

すべての有料 Copilot プランで利用できます。

はじめに

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

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

可用性

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

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

メモ

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

Copilotコード レビューCopilot ライセンスなし

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

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

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

  1. ** AI credits有料使用量**。 最初にこのポリシーを有効にします。 これにより、企業または組織は、 Copilotコード レビューAI credits の使用に対して料金が発生します。
  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+、および Copilot Max(コパイロット・マックス) プランに対して自動的に有効になります。

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

コード レビューでのエージェント機能のための GitHub Actions ランナーの使用

Copilotコード レビュー では、 GitHub Actions を使用して、完全なプロジェクト コンテキストの収集や パブリック プレビューの機能など、エージェント機能を実行します。 既定では、 Copilotコード レビュー は標準の GitHubホストランナーを使用します。 パフォーマンスを向上させるために、より大きな GitHubホストランナーにアップグレードしたり、セルフホステッド ランナーを使用したりすることもできます。

メモ

より大きな GitHubホストランナーの使用量は、分単位でより高いレートで課金されます。 セルフホステッド ランナーは、 GitHub Actions 分を消費しません。

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

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

ランナーの構成の詳細については、 GitHub Copilot コード レビュー用のランナーの構成 を参照してください。

GitHub Actionsランに関連付けられているCopilotコード レビュー分を表示できます。 詳細については、コードレビューに関するGitHub Actions議事録をご覧ください。

コード レビューの使用状況

Copilotが IDE でプル要求を確認したり、コードをレビューしたりするたびに、対話によってAI creditsが消費されます。 量は、使用されるモデルと処理されるトークンの数によって異なります。

コード レビューには、モデルの相互作用の AI credits (レビュー自体) とエージェント機能 (コンテキストの収集とツールの使用) の GitHub Actions 分という 2 つのコスト コンポーネントがあります。 GitHub Actionsの使用方法の詳細については、コード レビューのエージェント機能のGitHub Actions ランナーの使用を参照してください。

すべての新しいプル要求に対して Copilot からコード レビューを自動的に要求するようにリポジトリが構成されている場合、 AI credits の消費量は pull request 作成者に起因します。 レビューが別のユーザーによって手動でリクエストされた場合、その使用量は代わりにそのユーザーに計上されます。

プル要求が GitHub Actions またはボットによって作成された場合、使用法は次に適用されます。

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

予算に達するとどうなりますか

Copilot 事業とCopilot Enterpriseの場合、コード レビュー アクセスは予算コントロールによって管理されます。 ユーザーがユーザー レベルの予算に達した場合、またはエンタープライズまたはコスト センターの使用制限が使い果たされた場合、コード レビューは他の AI credits消費機能と共にブロックされます。 「使用量ベースの課金の予算」を参照してください。

Copilot を含む Copilotコード レビュー ライセンスやプランを持たないユーザー

Copilotコード レビューにアクセスできないユーザーには、AI creditsの毎月の許容量はありません。 これには、 Copilot ライセンスを持たないユーザーと、 Copilot無料 プランのユーザー ( Copilotコード レビューを含まない) が含まれます。

これらのユーザーに対して Copilotコード レビュー が有効になっている場合、使用するすべての AI credits は、有料の追加使用量として組織または企業に直接課金されます。 これは、手動で要求されたレビューと自動コード レビューの両方に適用されます。

AI credits これらのユーザーが使用するリソースは、個々のユーザーの予算に起因しません。 課金レポートでは、追加の使用状況として表示されます。 コード レビューを含む Copilot ライセンスを持つユーザーは、管理者によって構成されたユーザー レベルの予算に従って、共有プールからの AI credits を使用します。

モデルの使用法

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

メモ

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

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

Copilot コードレビューの検証

Copilot は、プル要求内のすべての問題を検出する保証はありません。 時には間違いを犯すことがあります。 Copilotのフィードバックは常に慎重に検証してください。 人間のレビューで Copilotのフィードバックを補足します。

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

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

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

カスタム手順

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

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

Copilot Pro、Copilot Pro+、またはCopilot Max(コパイロット・マックス)プランがある場合は、Copilot メモリを有効にすることができます。 これにより、 Copilot はリポジトリについて学習した有用な詳細を格納できます。 Copilot は、そのリポジトリ内のプル要求を確認するときに、この情報を使用できます。 詳しくは、「GitHub Copilot Memory について」をご覧ください。

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

既定では、 Copilot は pull request に割り当てた場合にのみ pull request を確認します。 ただし、自動レビューは構成できます。

  • ****またはCopilot ProプランのCopilot Pro+は、作成したすべてのプル要求を自動的に確認するようにCopilotを構成できます。
  • リポジトリ所有者は、Copilotへのアクセス権を持つユーザーによって作成されたリポジトリ内のすべてのプル要求を自動的に確認するようにCopilotを構成できます。
  • 組織の所有者は、プル要求がCopilotユーザーによって作成された組織内のリポジトリの一部または全部のすべてのプル要求を自動的に確認するようにCopilotを構成できます。

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

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

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

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

メモ

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

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

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

参考資料