Azure DevOps サービス
Important
この機能は限定パブリック プレビュー段階です。
機能は予告なく変更または削除される場合があります。 プレビュー機能には、サービス レベル アグリーメント (SLA) および制限付きサポートはありません。
GitHub Copilotを使用して、Azure Reposの pull request を確認します。 Copilotは、変更されたコードにコメントや提案を投稿する自動レビュー担当者として機能するため、人間のレビュー担当者がサインオフする前にフィードバックを受け取ります。
この機能を使用するには、Project コレクション管理者が組織に対してオンにし、リポジトリ所有者が各リポジトリに対してオンにし、個々のユーザーがプレビュー機能を使用してオプトインします (管理者がすべてのユーザーに対してプレビューを有効にしない限り)。
Prerequisites
| カテゴリ | 必要条件 |
|---|---|
| 組織 | Azure DevOps の組織。 |
| リポジトリ | Azure Reposの Git リポジトリ。 TFVC はサポートされていません。 |
| 組織のアクセス許可 | Project コレクション管理者組織レベルで機能を有効にします。 |
| リポジトリのアクセス許可 | リポジトリの所有者または管理者がリポジトリの機能を有効にします。 |
| 請求書 | Azure DevOps組織にリンクされているAzure サブスクリプション。 Copilot コードレビューの利用分は、Azure Cost Management 経由で請求されます。 詳細については、請求を参照してください。 |
組織レベルで Copilot コード レビューを有効にする
プロジェクト コレクション管理者は、リポジトリ所有者が個々のリポジトリで Copilot コード レビューを有効にする前に、組織レベルでこれを有効にする必要があります。
Azure DevOps 組織 (
https://dev.azure.com/{yourorganization}) にサインインします。Organization settings>Repos>Repositories を選択します。
GitHub Copilot コードレビュー で、この組織のリポジトリに Copilot コードレビューの使用を許可する を On に切り替えます。
リポジトリ レベルで Copilot のコード レビューを有効にする
組織レベルのアクセスが有効になると、リポジトリ所有者は、それを使用する必要がある各リポジトリCopilotコード レビューを有効にします。
プロジェクト設定>リポジトリ>リポジトリ を選択します。
有効にするリポジトリを選択します。
Settings タブで、このリポジトリ内のプル要求のコード レビューを有効にするCopilotを On に切り替えます。
この機能が有効になっていることを確認するには、リポジトリで pull request を開きます。 GitHub Copilotは、Reviewers リストに使用可能なレビュー担当者として表示されます。
Copilot のコードレビューを使用する
この機能を 3 つのスコープすべてで有効にすると、pull request を確認するようにCopilotに依頼できます。 次のセクションでは、想定される内容について説明します。
レビューを要求する
既定では、GitHub Copilot は pull request を要求した場合にのみ確認します。
- pull request を開きます。
Reviewers セクションで、GitHub Copilot の横にある Request を選択します。- レビューが完了するまで待ちます。 リポジトリのサイズとプル要求の変更の数によっては、レビューにしばらく時間がかかる場合があります。 レビューが完了すると、状態が [ レビュー完了] に変わります。
Copilot が潜在的な問題を特定すると、確認して対処できるように、プル リクエストにコメントと提案を直接追加します。
Copilotのコメントを読む
- Copilotは、pull request に GitHub Copilot という名前の通常のレビュー担当者としてフィードバックを投稿します。
- 各コメントは、適用対象のコード行に表示され、可能な場合は、1 回のクリックで適用できる推奨される変更が含まれます。
- Copilot常に Comment レビューを残します。 これはプル リクエストを承認することも変更をリクエストすることもないため、そのレビューは必須レビュー担当者ポリシーの要件を満たさず、マージをブロックしません。
- Copilotのコメントは、人間の校閲者からのコメントのように動作します。 返信、対応、解決、非表示を切り替えることができます。 Copilotは返信を読み取らないし、フォローアップもしません。
新しいコミット後に再確認する
Copilotは、新しいコミットをプッシュするときに pull request を自動的に再レビューしません。 コミット後に新しいレビューを取得するには、
要件と制限
プレビュー期間中は次の要件と制限が適用され、変更される可能性があります。
Copilotは、次の要件を満たしている場合にのみ、pull request を確認します。
| 要件 | 価値 |
|---|---|
| プルリクエストの状態 | アクティブ |
| プル リクエストのマージ ステータス | マージ競合なし (マージ成功) |
| リポジトリのサイズ | 10 GB 以下 |
| プルリクエストで変更されたファイル | 100 個以下のファイル |
これらのコンカレンシーとレートの制限も適用されます。
| 制限 | 価値 |
|---|---|
| 同じプル要求バージョンに対するレビューの重複 | マージコミットごとに完了済みレビュー 1 件 |
| プル リクエストごとの同時レビュー | 1 |
| 組織ごとの同時レビュー | 5 |
| ユーザーごとの同時レビュー | 2 |
Billing
完了した各コード レビューでは、モデルに送信された入力トークン、モデルによって生成された出力トークン、既存のコンテキストを再利用するキャッシュ されたトークンなど、トークンが使用されます。 各レビューに使用されるトークンは、GitHub AI クレジットと呼ばれる標準的な課金単位に変換されます。1 クレジットは $0.01 USD です。
料金は、Azure DevOps組織にリンクされているAzure サブスクリプションに移動し、Azure Cost Managementでは別のメーターとして表示されます。 各レビューのコストは、プル要求のサイズや変更された行数などの要因によって異なります。 環境内で予想されるコストを見積もるために、最初に 1 つまたは 2 つのリポジトリの機能を有効にして、毎日の使用状況を監視します。
1 日の料金を監視するには:
Azure ポータルで、サブスクリプションに移動します。
[Cost Management]>[コスト分析] の順に選択します。
製品でフィルター処理して、組織の毎日のコストを表示します。
予算アラートを設定する
設定したしきい値に達したときに通知するAzure予算を作成します。 予算は通知するのみです。 レビューを停止したり、リソースを変更したりすることはありません。 Azure DevOps組織にリンクされているサブスクリプションに対する所有者、共同作成者、またはコスト管理共同作成者のアクセス権が必要です。
Azure ポータルで、Azure DevOps組織にリンクされているサブスクリプションを開きます。
[ コスト管理>Budgets] を選択し、[ 追加] を選択します。
[フィルター] で、Product のフィルターを追加し、AzDO のGitHub Copilotを選択します。
サブスクリプションが複数のAzure DevOps組織にリンクされている場合は、タグのフィルターを追加し、アラートの対象にする組織名タグを選択します。
予算名を入力し、リセット期間と有効期限を選択し、予算金額を設定して、[ 次へ] を選択します。
予算に対する割合として 1 つ以上のアラートしきい値 (たとえば、75% と 90%) を追加し、[ 種類] を [実績 ] または [ 予測済み] に設定し、通知する電子メール アドレスを入力します。
[作成] を選択します。
支出がしきい値に達すると、Azureは次の評価から 1 時間以内に電子メールを送信します。 トリガーされたアラートを確認するには、 Cost Management>Cost アラートを選択します。 アラート メールを迷惑メール フォルダーから除外するには、承認された送信者に azure-noreply@microsoft.com を追加します。 詳細については、「予算の 作成と管理」を参照してください。
Copilot のコード レビューをオフにする
Copilot のコード レビューの使用を停止するには、無効にしたいスコープでトグルを Off に設定します。
- 1 人のユーザーの場合: ユーザー設定で [プレビュー機能 ] トグルをオフにします。
- 1 つのリポジトリの場合: Project settings>Repos>Repositories でリポジトリの切り替えをオフにします。
- 組織全体: Organization settings>Repos>Repositories で組織の切り替えをオフにします。 このアクションにより、すべてのリポジトリの機能が無効になります。
フィードバックの共有
このプレビューに関する問題を報告したり、フィードバックを共有したりするには、Azure DevOps Developer Communityにアクセスしてください。
次のステップ
よく寄せられる質問 (FAQ)
Q: トークンに対して課金される定価はどこで確認できますか?
A: GitHub Copilotドキュメントのモデルと価格を参照してください。
Q: コード レビューで使用されるトークンの数に影響を与える要因は何ですか?
A: トークンの使用は、リポジトリのサイズ、変更のサイズ、レビューされるコードの複雑さなどの要因によって異なります。
Q: Copilot サブスクリプションで購入したクレジットは、Azure DevOpsでのコード レビューの使用量にカウントされますか? GitHub Copilot プランの AI クレジットを使用できますか?
A: いいえ。Azure DevOpsでの使用では、GitHub Copilotプランの AI クレジットは使用されません。
Q: 顧客コードまたは pull request レビュー コンテンツは、基盤モデルのトレーニングまたは改善に使用されますか?
A: いいえ。 プル リクエストの差分、プロンプト、応答、提案、関連するレビュー コンテキストなど、Copilot コード レビューで使用されるやり取りデータは、基盤モデルのトレーニングまたは改善には使用されません。
Q: コード レビュー中またはコード レビュー後に保持される顧客データは何ですか?
A: データの処理と保持は、GitHub Copilotポリシードキュメントに従います。 Azure Reposでは、Copilotコード レビュー用の個別の保持スケジュールは発行されません。
Q: pull request の差分、プロンプト、生成された提案、またはテレメトリは、リクエスト処理後も保存されますか? 保持されている場合、保持期間は何ですか?
A: 保持関連のポリシーの更新など、現在のストレージと保持の詳細については、GitHub Copilot信頼とプライバシーに関するドキュメントを参照してください。 Azure Reposでは、現在、Copilotコード レビュー用の個別の機能固有の保持期間テーブルは発行されていません。
Q: 顧客コンテンツはどこで処理され、Copilotコード レビューのために保存されますか?
A: Azure Repos での Copilot コード レビューは、GitHub Copilot を基盤としています。 GitHub Copilotのデータ所在地は、このプレビュー機能Azure DevOps組織のデータ所在地の境界と一致しません。 たとえば、Azure DevOps組織が EU でホストされている場合、Copilotコード レビュー処理は、米国などの別の地域で引き続き発生する可能性があります。
Q: GitHub Copilot データ レジデンシーは、Azure Repos 向けの Copilot コード レビューに適用されますか?
A: このプレビュー機能では、Azure DevOps 組織の地理的な所在地によって Copilot のコード レビュー処理が行われる地理的な場所が決まると見なさないでください。 最新のデータ レジデンシーの対象範囲と境界については、GitHub Copilot の信頼とプライバシーに関するドキュメントを確認してください。
Q: Azure Repos Copilotコード レビューは、GitHub Copilot Business および GitHub Copilot Enterprise と同じデータ処理コミットメントに従いますか。
A: はい。Azure Reposのコード レビュー Copilotは、GitHub Copilotデータ処理ポリシーに従います。 現在のコミットメントについては、信頼とプライバシーに関するドキュメントGitHub Copilot参照してください。
Q: セキュリティおよびコンプライアンス チームと共有できるお客様向けのコンプライアンス ドキュメントは何ですか?
A: 次の公式リファレンスを使用します。
Q: プレビュー固有の制限事項や、注意する必要がある例外はありますか。
回答: はい。 Azure ReposのCopilotコード レビューは、限定パブリック プレビュー段階にあります。
- プレビュー機能は、予告なしに変更または削除される可能性があります。
- プレビュー機能には、サービス レベル アグリーメント (SLA) および制限付きサポートはありません。
- この機能のデータ所在地は、Azure DevOps 組織のデータ所在地の境界線と一致していません。