Konektor GitHub di Azure SRE Agent

Sambungkan repositori GitHub Anda sehingga agen Anda dapat membaca kode sumber, mencari kesalahan, membuat masalah, memicu alur kerja, dan mencocokkan penyebaran dengan insiden.

Petunjuk / Saran

Gambaran umum cepat

  • Akses Kode memberi agen Anda kode sumber, IaC, dan konfigurasi sebagai konteks untuk investigasi.
  • GitHub Connector memungkinkan operasi issue, PR, dan workflow.
  • GitHub MCP menyediakan akses alat GitHub penuh dengan kontrol tata kelola.
  • Autentikasi dengan Aplikasi GitHub OAuth, PAT, atau BYO . Ketiganya bekerja pada github.com. GitHub Enterprise Cloud (<tenant>.ghe.com) memerlukan Aplikasi BYO.

Kode sumber, definisi infrastruktur, konfigurasi penyebaran, keterampilan, dan runbook Anda berada di GitHub. Ketika agen Anda dapat membaca artefak ini, investigasi berubah dari pemecahan masalah umum ke analisis akar penyebab yang mereferensikan file yang tepat, penerapan yang tepat, dan perubahan konfigurasi yang tepat.

Cara agen Anda menggunakan konektor GitHub

Azure SRE Agent terhubung ke GitHub dengan tiga cara, masing-masing melayani tujuan yang berbeda:

Jenis koneksi Tempat Anda mengonfigurasinya Apa yang didapat agen Anda
Akses Kode Akses Kode Penyusun > Pencarian kode, file yang dibaca berdasarkan jalur/cabang, korelasi kesalahan-ke-sumber, pencarian kode semantik
Konektor GitHub Builder > Konektor > Tambahkan konektor Membuat/mencantumkan masalah, membuka/menggabungkan PR, memicu dan melacak alur kerja GitHub Actions
GitHub MCP Builder > Konektor > Tambahkan konektor Katalog alat GitHub penuh melalui MCP, dengan kebijakan persetujuan dan kontrol pemilihan alat

Anda dapat menggunakan beberapa jenis koneksi pada agen yang sama. Masing-masing melayani tujuan runtime yang berbeda.

Metode autentikasi untuk konektor GitHub

Secara terpisah dari apa yang dilakukan agen, pilih cara autentikasinya untuk GitHub. Tiga metode tersedia, dan berfungsi di semua jenis koneksi.

Metode autentikasi Cara kerjanya Host yang didukung Paling cocok untuk
OAuth Masuk dengan akun GitHub Anda di popup browser github.com Penyiapan cepat dan interaktif (batas: 10 token per agen)
PAT Berikan Token Akses Pribadi terperinci dengan cakupan akses repo github.com Akun layanan, lingkungan non-interaktif
Aplikasi GitHub BYO Daftarkan Aplikasi GitHub Anda sendiri, simpan kunci privat di Azure Key Vault github.com dan <tenant>.ghe.com Tata kelola perusahaan, lingkungan EMU, GitHub Enterprise Cloud

Untuk github.com, ketiga metode berfungsi di semua jenis koneksi. Untuk host GitHub Enterprise Cloud (<tenant>.ghe.com), hanya BYO GitHub App yang tersedia.

Izin menurut jenis autentikasi

Pengoperasian OAuth atau PAT minimum Minimum aplikasi GitHub
Metadata repositori dan pengklonan/pembacaan repo untuk repositori privat, public_repo untuk akses publik saja Metadata Repositori: Baca dan Isi: Baca
Daftarkan/buat isu Cakupan repositori yang mendukung issue untuk OAuth/PAT Masalah Repositori : Baca/Tulis sesuai kebutuhan
Operasi permintaan pull Cakupan repo yang mendukung PR untuk OAuth/PAT Permintaan Pull Repositori : Baca/Tulis sesuai kebutuhan

Petunjuk / Saran

Refresh token OAuth secara otomatis

GitHub token OAuth kedaluwarsa setelah sekitar delapan jam, tetapi agen me-refreshnya secara otomatis sebelum kedaluwarsa dengan menggunakan buffer 20 menit. Setiap refresh menghasilkan token refresh baru, menciptakan rantai perpanjangan mandiri yang berlangsung sekitar enam bulan. Konektor Anda tetap terhubung selama investigasi yang berlangsung lama dan tugas terjadwal yang berjalan semalaman tanpa perlu masuk secara manual.

Refresh otomatis ini hanya berlaku untuk koneksi OAuth. Koneksi PAT memerlukan rotasi token manual. Untuk koneksi BYO GitHub App, putar kunci privat di Azure Key Vault saat diperlukan.

Saat Anda perlu mengautentikasi ulang: Jika token refresh kedaluwarsa (sekitar enam bulan), jika Anda mencabut otorisasi aplikasi GitHub, atau jika konektor Anda disiapkan sebelum versi 26.2.247.0 (satu autentikasi ulang menyimpan token refresh dan memungkinkan refresh otomatis ke depannya).

Apa yang dapat dilakukan agen dengan konektor GitHub

Kemampuan analisis kode sumber

  • Cari kode di semua repositori yang terhubung.
  • Membaca isi file menurut jalur dan cabang.
  • Menghubungkan kesalahan dengan kode sumber: Memetakan kesalahan sumber daya Azure ke file dan nomor baris tertentu.
  • Pencarian kode semantik: Temukan kode yang terkait dengan insiden menggunakan kueri bahasa alami.
  • Mengidentifikasi file IaC: Mendeteksi templat Bicep, Terraform, dan ARM di repositori Anda.

Penerbitan dan manajemen permintaan penarikan

  • Buat masalah dengan judul, isi, label, dan penerima tugas.
  • Komentari masalah dan permintaan pull termasuk kata kunci tutup otomatis.
  • Perbarui masalah dengan mengubah judul, isi, label, atau status.
  • Ambil peringatan Dependabot untuk meninjau kerentanan keamanan.

Otomatisasi alur kerja

  • Picu alur kerja GitHub Actions untuk memicu deploymen canary atau produksi.
  • Lacak eksekusi alur kerja untuk memantau status alur kerja yang dikirimkan.
  • Periksa status penggabungan PR untuk memverifikasi apakah permintaan pull digabungkan.

GitHub Enterprise Cloud

Sambungkan repositori yang dihosting di GitHub Enterprise Cloud (<tenant>.ghe.com) dengan menggunakan Byo GitHub App. Agen menggunakan kunci privat aplikasi Anda, yang Anda simpan di Azure Key Vault, untuk membuat token penginstalan berumur pendek untuk setiap repositori.

Pastikan Anda memiliki:

  • Aplikasi GitHub yang dibuat pada instans GHE Anda dengan Konten: Izin baca-saja.
  • Kunci privat aplikasi disimpan sebagai rahasia di Azure Key Vault.
  • Identitas terkelola agen diberikan peran Pengguna Rahasia Key Vault di brankas.

Untuk panduan penyiapan lengkap, lihat Koneksikan repositori Enterprise Cloud GitHub.

Mengonfigurasi repositori yang sama di beberapa jalur

Konfigurasikan repositori yang sama di beberapa jalur GitHub. Setiap jalur menangani tugas runtime yang berbeda.

Skenario Pendekatan yang disarankan
Memerlukan konteks kode serta operasi isu Konfigurasikan Akses ke Kode dan GitHub Connector atau GitHub MCP
Hanya perlu katalog alat MCP yang luas Gunakan GitHub MCP saja
Membutuhkan host perusahaan (<tenant>.ghe.com) Menggunakan Aplikasi GHE BYO melalui Akses Kode
Perlu perilaku kontrak konektor yang ketat Menggunakan Konektor GitHub

Batasan dan kendala

Sumber Daya Bimbingan
Hosts Mengonfigurasi setiap host secara independen (github.com, <tenant>.ghe.com)
Rekaman autentikasi Berlaku per host; memutuskan sambungan satu host tidak akan memutuskan sambungan host lainnya
autentikasi Cloud Perusahaan GitHub Hanya Aplikasi BYO
persyaratan Key Vault untuk Aplikasi BYO Kunci privat harus dalam Key Vault dan dapat dibaca oleh identitas agen

Troubleshooting

Gejala Kemungkinan penyebabnya Perbaiki
Baris repo Code Access menampilkan Gagal, tetapi kueri issue masih berfungsi Kegagalan pemeriksaan kesehatan pada endpoint atau pada titik waktu tertentu yang berbeda Uji ulang koneksi Akses Kode dan verifikasi izin metadata repositori
Validasi Aplikasi BYO gagal ID klien, URI kunci privat, atau cakupan penginstalan aplikasi tidak cocok Verifikasi ID Klien, konten rahasia Key Vault, dan cakupan instalasi aplikasi
<tenant>.ghe.com host tidak menampilkan OAuth/PAT Perilaku yang diharapkan Menggunakan Byo GitHub App
Kloning/membaca gagal meskipun autentikasi berhasil Izin baca Metadata/Konten yang hilang pada aplikasi atau token Berikan izin repositori yang diperlukan dan coba lagi
Tindakan PR atau isu gagal Tidak memiliki izin untuk isu/PR Tambahkan izin issue/PR ke cakupan akses OAuth/PAT atau Aplikasi GitHub

Mulai menggunakan konektor GitHub

Apa yang ingin Anda lakukan Panduan
Berikan konteks kode kepada agen Anda untuk investigasi (OAuth/PAT) Menyambungkan kode sumber
Aktifkan isu, PR, dan operasi alur kerja (OAuth/PAT) Siapkan konektor GitHub
Siapkan BYO GitHub App untuk github.com atau <tenant>.ghe.com Hubungkan GitHub Enterprise Cloud
Menambahkan alat MCP GitHub dengan kontrol tata kelola Menyiapkan konektor MCP

Langkah selanjutnya