Copilotのコードレビュー(AIがプルリクエスト、つまりコードの変更を取り込む依頼を確認して指摘を残す機能)の設定が、APIから変えられるようになりました。Freeプランは今回の発表の対象に挙がっていません。GitHub Copilot自体は日本で使えます(当サイトの確認:11/3)。
今回の発表は、大きく2つです。1つは設定をAPIで管理できるようにしたこと、もう1つはレビュー画面の見直しと不具合の修正です。
画像:GitHub(公式発表 ) 企業から個々のリポジトリまで、APIで設定を決められる
企業の管理者は、すべての組織でコードレビューを有効にするか無効にするかを決められます。選択を組織の管理者に任せることもできます。
組織の管理者は、コードレビューの有効化、既定のレビュー作業量(指摘を探す深さの段階)、レビューを実行する環境(ランナー)の構成を管理できます。企業側で管理されている設定は、組織側では上書きできません。
リポジトリの管理者は、レビュー作業量と、カスタム指示やMCPツールを使うかどうかを決められます。MCPは、AIが外部のツールやデータにつながるための共通の決まりです。
APIは、Web画面と同じレビュー作業量の段階を受け付けます。組織とリポジトリの設定を読むと、自分が選べる段階の一覧も返ります。レビューやコメントには、Copilotが書いたと分かる属性の欄が付きました。コメントの根拠になったスキル、MCPサーバー、カスタム指示も確認できます。
ただし、API経由の操作には権限の条件があります。企業と組織の設定用のAPI(組織のランナー用APIを含む)は、GitHub Appsと、権限を絞ったFine-grained personal access tokens(個人用アクセストークン)に対応していません。
リポジトリ用の設定APIは両方に対応します。読むには「Administration: read」、変更するには「Administration: write」の権限が必要です。従来型のClassic personal access tokensは、リポジトリの管理者権限が必要です。
編集部の見方では、APIで設定を決められる意味は、複数の組織やリポジトリを抱える管理者にあります。1件ずつ画面で変えていた手間を減らせるためです。
画像:GitHub(公式発表 ) レビュー概要は指摘を上にまとめ、見なかったファイルも一覧に
新しいレビュー概要は、指摘を上部にまとめます。使ったレビュー作業量とアンケートは、下の小さなフッターに移りました。
スキップされたファイルと、内容の除外で対象外になったファイルは、「Files not reviewed」の1つの欄にまとまります。ファイル名と、除外理由へのリンクが付きます。中身が空の欄は表示されず、長い一覧は超過件数で省かれます。
概要に低評価(👎)を付けると、「Add a reason」から理由を選べます。例として、承認の判断に納得できない、コメントが長すぎる、指摘が不正確または細かすぎる、の3つが挙がっています。この回答は、Copilotの指摘の改善に使われます。
2回目以降のレビューでは、直近の変更と関係ない指摘が折りたたまれ、そのあと非表示になります。作業量の「Balanced」では、3つのレビュー用モデルを使い、別のモデルがその指摘をまとめるようになりました。
不具合の修正も入りました。コードレビューをオフにしてオンに戻しても、請求の設定とプレビューの設定が残ります。失敗したレビューやタイムアウトしたレビューは、1回だけ自動で再試行されます。優先のモデルが使えないときは、別の対象モデルに切り替わります。
レビューが始まった直後に誤って失敗と報告され、結果が捨てられる問題も直りました。サービス更新のあとに実行中だったレビューは、終わるまでの時間が長く取られます。
外部のCopilotライセンスからの依頼を止める設定(Block reviews requested with an external Copilot license)がオンでも、組織や企業が所有するGitHub Actions、Dependabot、アプリからは、組織が料金を払っている限りレビューを依頼できます。
そのほかにも変更があります。コードレビューのエージェントの作業画面に、1回のレビューで消費したAI credits(有料機能の利用量を数える単位。編集部注)が表示されるようになりました。自動レビューの対象から外すバイパスリストも、ルールに対応しました。リストに入れた人には、自動レビューが届きません。
利用状況を見るAPIでも動きがありました。11月5日には、使用量指標のAPIにコードレビューの詳細と対応率が加わっています(GitHub Changelogの発表、11/8確認)。対応率は、チェックされたコメントのうち開発者が対応した割合です。