エージェントがソース コードの読み取り、エラーの検索、問題の作成、ワークフローのトリガー、デプロイとインシデントの照合を行えるように、GitHub リポジトリを接続します。
ヒント
概要
- Code Access は、エージェントのソース コード、IaC、構成を調査コンテキストとして提供します。
- GitHub Connector では、問題、PR、およびワークフロー操作が有効になります。
- GitHub MCP は、ガバナンス コントロールを使用して完全なGitHub ツール アクセスを提供します。
-
OAuth、PAT、または BYO GitHub App で認証します。 3 つの作業はすべて、
github.comで行います。 GitHub Enterprise Cloud (<tenant>.ghe.com) には BYO アプリが必要です。
ソース コード、インフラストラクチャ定義、デプロイ構成、スキル、Runbook は、GitHubで利用できます。 エージェントがこれらの成果物を読み取ることができる場合、調査は一般的なトラブルシューティングから、正確なファイル、正確なコミット、および正確な構成変更を参照する根本原因分析に進みます。
エージェントで GitHub コネクタを使用する方法
SRE エージェントAzure 3 つの方法でGitHubに接続し、それぞれ異なる目的を果たします。
| 接続の種類 | 設定する場所 | エージェントが取得するもの |
|---|---|---|
| コードへのアクセス | Builder > コード アクセス | コード検索、パス/分岐によるファイル読み取り、エラーからソースへの相関関係、セマンティック コード検索 |
| GitHub コネクタ | Builder > コネクタ > コネクタの追加 | Issue の作成/一覧、PR の作成/マージ、GitHub Actions ワークフローのトリガーと追跡 |
| GitHub MCP | Builder > コネクタ > コネクタの追加 | 承認ポリシーとツール選択コントロールを使用した、MCP を介した完全なGitHub ツール カタログ |
同じエージェントで複数の接続の種類を使用できます。 それぞれ異なるランタイムの目的を果たします。
GitHub コネクタの認証方法
エージェントの動作とは別に、GitHubに対する認証方法を選択します。 3 つの方法を使用でき、すべての接続の種類で機能します。
| 認証方法 | どのように機能するのか | サポートされているホスト | 最適な用途 |
|---|---|---|---|
| OAuth | ブラウザー ポップアップでGitHub アカウントでサインインする | github.com |
クイック対話型セットアップ (制限: エージェントあたり 10 トークン) |
| PAT |
repo スコープを持つ詳細な個人用アクセストークンを作成する |
github.com |
サービス アカウント、非対話型環境 |
| BYO GitHub アプリ | 独自のGitHub アプリを登録し、秘密キーをAzure Key Vaultに格納する |
github.com および <tenant>.ghe.com |
エンタープライズ ガバナンス、EMU 環境、GitHub Enterprise Cloud |
github.comの場合、3 つのメソッドはすべてすべての接続の種類で機能します。 GitHub Enterprise Cloud ホスト (<tenant>.ghe.com) の場合、BYO GitHub アプリのみが使用できます。
認証の種類別のアクセス許可
| Operation | OAuth または PAT の最小値 | GitHub アプリの最小値 |
|---|---|---|
| リポジトリメタデータとクローン/読み取り |
repo プライベート リポジトリの場合は public_repo 、パブリック専用アクセスの場合は |
リポジトリ メタデータ: 読み取り と コンテンツ: 読み取り |
| 問題の一覧表示/作成 | OAuth/PAT の問題対応リポジトリ スコープ | リポジトリの問題: 必要に応じて読み取り/書き込み |
| プル要求操作 | OAuth/PAT の PR 対応リポジトリ スコープ | リポジトリ Pull requests: 必要に応じて読み取り/書き込み |
ヒント
OAuth トークンが自動的に更新される
GitHub OAuth トークンは約 8 時間後に期限切れになりますが、エージェントは 20 分のバッファーを使用して有効期限が切れる前に自動的に更新します。 各更新では、新しい更新トークンが生成され、約 6 か月間続く自己維持型の更新チェーンが作成されます。 コネクタは、手動サインインなしで、長い調査と夜間のスケジュールされたタスクを通じて接続された状態を維持します。
この自動更新は 、OAuth 接続にのみ適用されます。 PAT 接続には、手動でのトークン ローテーションが必要です。 BYO GitHub アプリ接続の場合は、必要に応じ秘密キーをAzure Key Vaultでローテーションします。
再認証が必要な場合:更新トークンの有効期限が切れた場合 (約 6 か月)、GitHub アプリの承認を取り消した場合、またはコネクタがバージョン 26.2.247.0 より前に設定されている場合 (1 つは更新トークンを保存し、今後は自動更新を有効にします)。
GitHub コネクタでエージェントが実行できること
ソース コード分析機能
- 接続されているすべてのリポジトリのコードを検索します。
- パスと分岐でファイルの内容を読み取ります。
- エラーをソース コードと関連付ける: Azure リソース エラーを特定のファイルと行番号にマップします。
- セマンティック コード検索: 自然言語クエリを使用してインシデントに関連するコードを検索します。
- IaC ファイルの識別: リポジトリ内の Bicep、Terraform、ARM テンプレートを検出します。
課題とプルリクエストの管理
- イシューを作成し、タイトル、本文、ラベル、担当者を指定します。
- 自動終了キーワードを含むイシューとプルリクエストにコメントします。
- タイトル、本文、ラベル、または状態を変更して、問題を更新します。
- セキュリティの脆弱性を確認するには、Dependabot アラートを取得します。
ワークフローの自動化
- GitHub Actions ワークフローをトリガーして、カナリアデプロイまたは本番デプロイを開始します。
- ワークフロー実行を追跡 して、ディスパッチされたワークフローの状態を監視します。
- PR のマージ状況を確認し、プルリクエストがマージされているかどうか確認します。
GitHub Enterprise Cloud
BYO GitHub アプリを使用して、GitHub Enterprise Cloud (<tenant>.ghe.com) でホストされているリポジトリを接続します。 エージェントは、Azure Key Vaultに格納するアプリの秘密キーを使用して、リポジトリごとに有効期間の短いインストール トークンを作成します。
次のことを確認してください。
- Contents: 読み取り専用アクセス許可を持つ GHE インスタンスに作成されたGitHub アプリ。
- Azure Key Vaultにシークレットとして格納されているアプリの秘密キー。
- エージェントのマネージド IDには、Vault に対してキー コンテナー シークレット ユーザーのロールが付与されています。
完全なセットアップ ガイドについては、「Connect GitHub Enterprise Cloud リポジトリを参照してください。
複数のパスで同じリポジトリを構成する
複数のGitHub パスで同じリポジトリを構成します。 各パスは、異なるランタイム ジョブを提供します。
| Scenario | 推奨される方法 |
|---|---|
| コードのコンテキストと課題の操作が必要 | Code Access と GitHub Connector または GitHub MCP を構成する |
| 広範な MCP ツール カタログのみが必要 | GitHub MCP のみを使用する |
エンタープライズ ホストが必要 (<tenant>.ghe.com) |
コード アクセスを使用して GHE BYO アプリを使用する |
| コネクタ コントラクトの厳格な動作が必要 | GitHub コネクタを使用する |
制限と制約
| 資源 | Guidance |
|---|---|
| Hosts | 各ホストを個別に構成する (github.com、 <tenant>.ghe.com) |
| 認証レコード | ホスト スコープ。あるホストを切断しても、別のホストが切断されない |
| GitHub Enterprise Cloud 認証 | BYO アプリのみ |
| BYO アプリのKey Vault要件 | 秘密キーはKey Vaultにあり、エージェント ID で読み取り可能である必要があります |
Troubleshooting
| 症状: | 考えられる原因 | 修正 |
|---|---|---|
| Code Access リポジトリの行に [失敗] と表示されますが、問題のクエリは引き続き機能します | 異なるエンドポイントまたは特定時点の正常性チェックの失敗 | コード アクセス接続を再テストし、リポジトリ メタデータのアクセス許可を確認する |
| BYO アプリの検証が失敗する | クライアント ID、秘密キー URI、またはアプリのインストール スコープの不一致 | クライアント ID、Key Vault シークレット コンテンツ、アプリのインストール スコープを確認する |
<tenant>.ghe.com ホストに OAuth/PAT が表示されない |
予想される動作 | BYO GitHub アプリを使用する |
| 認証が成功した後に複製/読み取りが失敗する | アプリまたはトークンに対するメタデータ/コンテンツの読み取りアクセス許可がありません | 必要なリポジトリのアクセス許可を付与して再試行する |
| PR または Issue のアクションが失敗します | Issue/PR の権限がありません | OAuth/PAT スコープまたは GitHub アプリに問題/PR アクセス許可を追加する |
GitHub コネクタの使用を開始する
| やりたいこと | ガイド |
|---|---|
| 調査用のエージェント コード コンテキストを指定する (OAuth/PAT) | ソース コードの接続 |
| 問題、PR、およびワークフロー操作を有効にする (OAuth/PAT) | コネクタGitHubセットアップ |
github.com または <tenant>.ghe.com 用の BYO GitHub App を設定する |
Enterprise Cloud GitHub接続する |
| ガバナンス制御を備えた GitHub MCP ツールを追加する | MCP コネクタを設定する |