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 Pro

  • 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コード レビュープレミアムリクエストの使用に対して料金が発生します。 1. ** Copilotライセンスを持たないメンバーがCopilotコード レビューでGitHub.comを使用できるようにします**。 このサブポリシーでは、ライセンスのないユーザーに対して Copilotコード レビュー を有効にします。

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

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

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

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

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

          Copilotコード レビュー ライセンスを持たないユーザーの場合は IDE では使用できません。

除外されたファイル

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

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

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

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

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

メモ

          Copilotコード レビュー には、 パブリック プレビュー にあり、変更される可能性がある機能があります。 
          [AUTOTITLE](/free-pro-team@latest/site-policy/github-terms/github-pre-release-license-terms)は、プレビュー機能の使用に適用されます。

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

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

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

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

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

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

メモ

より大きな GitHubホストランナーの使用は分単位で課金され、追加の GitHub Actions 料金が発生する可能性があります。

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

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

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

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

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

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

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

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

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

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

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

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

これらのユーザーに対して Copilotコード レビュー が有効になっている場合、生成されるすべての Premium 要求は、支払われた超過分の使用量として組織または企業に直接課金されます。 これは、手動で要求されたレビューと自動コード レビューの両方に適用されます。

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

モデルの使用法

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

メモ

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

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 は、そのリポジトリ内のプル要求を確認するときに、この情報を使用できます。 詳しくは、「[AUTOTITLE](/copilot/concepts/agents/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を有効にします。 「[AUTOTITLE](/code-security/code-quality/concepts/about-code-quality)」を参照してください。

参考資料

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