Azure SRE Aracısı'nda GitHub bağlayıcısı

Aracınızın kaynak kodunu okuyabilmesi, hata aramasını, sorun oluşturmasını, iş akışlarını tetikleyebilmesini ve dağıtımları olaylarla eşleştirebilmesi için GitHub depolarınızı bağlayın.

Tip

Hızlı genel bakış

  • Kod Erişimi aracınızın kaynak kodunu, IaC'sini ve yapılandırmalarını araştırma bağlamı olarak verir.
  • GitHub Connector, issue, PR ve iş akışı işlemlerini gerçekleştirmenizi sağlar.
  • GitHub MCP idare denetimleriyle tam GitHub araç erişimi sağlar.
  • OAuth, PAT veya BYO GitHub App ile kimlik doğrulaması yapın. Üçü de github.com üzerinde çalışır. GitHub Enterprise Cloud (<tenant>.ghe.com) için BYO Uygulaması gerekir.

Kaynak kodunuz, altyapı tanımlarınız, dağıtım yapılandırmalarınız, becerileriniz ve runbook'larınız GitHub... Ajanınız bu artefaktları okuyabildiğinde, incelemeler genel sorun gidermeden belirli dosyaya, belirli commit’e ve belirli yapılandırma değişikliğine atıfta bulunan bir kök neden analizine geçer.

Ajanınız GitHub bağlayıcısını nasıl kullanır?

Azure SRE Aracısı, her biri farklı bir amaca hizmet eden üç şekilde GitHub bağlanır:

Bağlantı türü Yapılandırdığınız yer Temsilciniz ne alır?
Kod Erişimi Oluşturucu > Kod Erişimi Kod araması, yol/dal bazında dosya okuma, hatayı kaynakla ilişkilendirme, anlamsal kod araması
GitHub Bağlayıcısı Oluşturucu > Bağlayıcıları > Bağlayıcı ekleme Sorun oluşturma/listeleme, çekme isteklerini açma/birleştirme, GitHub Actions iş akışlarını tetikleme ve izleme
GitHub MCP Oluşturucu > Bağlayıcıları > Bağlayıcı ekleme Onay ilkeleri ve araç seçimi denetimleriyle MCP aracılığıyla tam GitHub araç kataloğu

Aynı aracıda birden çok bağlantı türü kullanabilirsiniz. Her birinin farklı bir çalışma zamanı amacı vardır.

GitHub bağlayıcısı için kimlik doğrulama yöntemleri

Aracının yaptığı işlemden ayrı olarak, GitHub için nasıl kimlik doğrulaması yapılacağını seçin. Üç yöntem mevcuttur ve bunlar tüm bağlantı türlerinde çalışır.

Auth yöntemi Nasıl çalışır? Desteklenen konaklar En iyi kullanım alanı:
OAuth Tarayıcı açılır penceresinde GitHub hesabınızla oturum açın github.com Hızlı etkileşimli kurulum (sınır: ajan başına 10 token)
PAT repo kapsamına sahip ince taneli bir Kişisel Erişim Belirteci sağlayın github.com Hizmet hesapları, etkileşimli olmayan ortamlar
BYO GitHub Uygulaması Kendi GitHub Uygulamanızı kaydedin, özel anahtarı Azure Key Vault'ta depolayın github.com ve <tenant>.ghe.com Kurumsal idare, EMU ortamları, GitHub Enterprise Cloud

için github.comüç yöntem de tüm bağlantı türlerinde çalışır. GitHub Kurumsal Bulut konakları için (<tenant>.ghe.com), yalnızca BYO GitHub Uygulaması kullanılabilir.

Kimlik doğrulama türüne göre izinler

Operation En az OAuth veya PAT GitHub Uygulaması minimum
Depo meta verileri ve kopyalama/okuma repo özel depolar için, public_repo yalnızca genel erişim için Depo Meta Verileri: Okuma ve İçerik: Okuma
Sorunları listeleme/oluşturma OAuth/PAT için issue özellikli depo kapsamı Depo Sorunları: Gerektiğinde okuma/yazma
Pull request işlemleri OAuth/PAT için PR özellikli depo kapsamı Depo Çekme istekleri: Gerektiğinde okuma/yazma

Tip

OAuth belirteçleri otomatik olarak yenilenir

GitHub OAuth belirteçlerinin süresi yaklaşık sekiz saat sonra dolar, ancak aracı 20 dakikalık bir arabellek kullanarak süre dolmadan önce bunları otomatik olarak yeniler. Her yenileme yeni bir yenileme belirteci oluşturur ve yaklaşık altı ay süren kendi kendine devam eden bir yenileme zinciri oluşturur. Bağlayıcınız, manuel oturum açma gerektirmeden uzun süren incelemeler ve gece boyunca çalışan zamanlanmış görevler sırasında bağlı kalır.

Bu otomatik yenileme yalnızca OAuth bağlantıları için geçerlidir. PAT bağlantıları için el ile belirteç döndürme gerekir. BYO GitHub Uygulama bağlantıları için, gerektiğinde özel anahtarı Azure Key Vault'de döndürün.

Ne zaman yeniden kimlik doğrulaması yapmanız gerekir: Yenileme belirtecinin süresi dolarsa (yaklaşık altı ay), GitHub Uygulama yetkilendirmesini iptal ederseniz veya bağlayıcınız 26.2.247.0 sürümünden önce ayarlandıysa (bir yeniden kimlik doğrulaması yenileme belirtecini depolar ve ileriye doğru otomatik yenilemeyi etkinleştirir).

Aracının GitHub bağlayıcısıyla yapabilecekleri

Kaynak kodu çözümleme özellikleri

  • Tüm bağlı depolarda kod arayın.
  • Dosya içeriğini yola ve dala göre okuma.
  • Hataları kaynak koduyla ilişkilendirin: Azure kaynak hatalarını belirli dosya ve satır numaralarıyla eşleyin.
  • Anlamsal kod araması: Doğal dil sorgularını kullanarak bir olayla ilgili kodu bulun.
  • IaC dosyalarını tanımlama: Depolarınızdaki Bicep, Terraform ve ARM şablonlarını algılama.

Sorun ve pull request yönetimi

  • Başlık, gövde, etiketler ve atananlarla ilgili sorunlar oluşturun.
  • Otomatik kapatma anahtar sözcükleri de dahil olmak üzere sorunlar ve çekme istekleri hakkında yorum yapın.
  • Başlığı, gövdeyi, etiketleri veya durumu değiştirerek sorunları güncelleştirin.
  • Güvenlik açıklarını gözden geçirmek için Dependabot uyarılarını getirin.

İş akışı otomasyonu

  • canary veya üretim dağıtımlarını başlatmak için GitHub Actions iş akışlarını tetikleyin.
  • Gönderilen iş akışlarının durumunu izlemek için iş akışı çalıştırmalarını izleyin.
  • Çekme isteği birleştirme durumunu kontrol edin ve bir çekme isteğinin birleştirilip birleştirilmediğini doğrulayın.

kurumsal bulutu GitHub

BYO GitHub Uygulaması kullanarak GitHub Enterprise Cloud'da (<tenant>.ghe.com) barındırılan depoları bağlayın. Aracı, her depo için kısa süreli yükleme belirteçleri oluşturmak için uygulamanızın Azure Key Vault depoladığınız özel anahtarını kullanır.

Şunları yaptığınızdan emin olun:

  • GHE örneğinizde Contents: Salt okunur izniyle oluşturulmuş bir GitHub Uygulaması.
  • Azure Key Vault’ta gizli anahtar olarak depolanan uygulamanın özel anahtarı.
  • Aracının yönetilen kimliğine kasada Key Vault Secrets User rolü atandı.

Tam kurulum kılavuzu için bkz. Connect GitHub Enterprise Cloud depoları.

Aynı depoyu birden fazla yolda yapılandırın

Aynı depoyu birden çok GitHub yolunda yapılandırın. Her yol farklı çalışma zamanı işlerine hizmet eder.

Scenario Önerilen yaklaşım
Kod bağlamı ve sorun işlemleri gerekli Kod Erişimi'ni ve GitHub Bağlayıcısı'nı veya GitHub MCP'yi yapılandırın
Yalnızca geniş MCP araç kataloğu gerekir Yalnızca GitHub MCP kullanma
Kurumsal ana bilgisayar gerekli (<tenant>.ghe.com) Kod Erişimi aracılığıyla GHE BYO Uygulamasını kullanma
Bağlayıcı sözleşmesine sıkı uyum gerekiyor GitHub Bağlayıcısı'nı kullanma

Sınırlar ve kısıtlamalar

Kaynak Yönergeler
Hosts Her konağı bağımsız olarak yapılandırma (github.com, <tenant>.ghe.com)
Kimlik doğrulama kayıtları Ana bilgisayar bazında; bir ana bilgisayarın bağlantısını kesmek, başka bir ana bilgisayarın bağlantısını kesmez
GitHub Enterprise Cloud kimlik doğrulaması Yalnızca BYO Uygulaması
BYO App için Key Vault gereksinimi Özel anahtar Key Vault'ta olmalı ve aracı kimliği tarafından okunabilmelidir

Troubleshooting

Belirti Olası neden Düzelt
Kod Erişimi deposu satırı Başarısız olarak gösterildi, ancak sorun sorguları çalışmaya devam ediyor Farklı bir uç nokta veya belirli bir zamandaki sağlık denetimi hatası Kod Erişimi bağlantısını yeniden test edin ve depo meta veri izinlerini doğrulayın
BYO Uygulama doğrulaması başarısız oluyor İstemci kimliği, özel anahtar URI'si veya uygulama yükleme kapsamı uyuşmazlığı İstemci Kimliğini, gizli Key Vault içeriğini ve uygulama yükleme kapsamını doğrulama
<tenant>.ghe.com ana bilgisayar OAuth/PAT göstermiyor Beklenen davranış BYO GitHub Uygulamasını kullanma
Kimlik doğrulaması başarılı olduktan sonra klonlama/okuma başarısız oluyor Uygulama veya belirteçte Meta Veriler/İçerik okuma izinleri eksik Gerekli depo izinlerini verin ve yeniden deneyin
PR veya sorun işlemleri başarısız olur Eksik sorun/PR izinleri OAuth/PAT kapsamına veya GitHub Uygulamasına issue/PR izinleri ekleme

GitHub bağlayıcısını kullanmaya başlama

Ne yapmak istiyorsunuz? Guide
Araştırma için aracınıza kod bağlamı verme (OAuth/PAT) Kaynak kodu bağlama
Sorun, PR ve iş akışı işlemlerini etkinleştirme (OAuth/PAT) GitHub bağlayıcıyı ayarlama
github.com veya <tenant>.ghe.com için BYO GitHub Uygulamasını ayarlama GitHub Enterprise Cloud'a bağlanma
İdare denetimleriyle GitHub MCP araçları ekleme MCP bağlayıcısı ayarlama

Sonraki adım