Konektor GitHub w ramach agenta SRE platformy Azure

Połącz repozytoria GitHub, aby agent mógł odczytywać kod źródłowy, wyszukiwać błędy, tworzyć problemy, wyzwalać przepływy pracy i dopasowywać wdrożenia do zdarzeń.

Wskazówka

Krótkie omówienie

  • Dostęp do kodu zapewnia agentowi dostęp do kodu źródłowego, IaC i plików konfiguracyjnych na potrzeby analizy.
  • GitHub Connector umożliwia wykonywanie operacji dotyczących problemów, żądań ściągnięcia i przepływu pracy.
  • GitHub MCP zapewnia pełny dostęp do narzędzi GitHuba z mechanizmami nadzoru.
  • Uwierzytelnianie za pomocą OAuthPAT lub BYO GitHub App . Wszystkie trzy działają na github.com. GitHub Enterprise Cloud (<tenant>.ghe.com) wymaga aplikacji BYO.

Twój kod źródłowy, definicje infrastruktury, konfiguracje wdrożeniowe, skills i runbooki znajdują się w GitHubie. Gdy Twój agent może odczytywać te artefakty, analizy przechodzą od ogólnego rozwiązywania problemów do analizy przyczyny źródłowej z odniesieniami do konkretnego pliku, konkretnego commitu i konkretnej zmiany konfiguracji.

Jak agent używa łącznika GitHub

Azure agent SRE łączy się z GitHub na trzy sposoby, z których każdy obsługuje inny cel:

Typ połączenia Gdzie ją skonfigurować Co otrzymuje agent
Dostęp do kodu Builder > Dostęp do kodu Wyszukiwanie kodu, plik odczytany według ścieżki/gałęzi, korelacja błędu do źródła, wyszukiwanie kodu semantycznego
łącznik GitHub Builder > Łączniki > Dodaj łącznik Tworzyć/listować zgłoszenia, otwierać/scalać PR-y, uruchamiać i śledzić przepływy pracy GitHub Actions
GitHub MCP Builder > Łączniki > Dodaj łącznik Pełny katalog narzędzi GitHub za pośrednictwem umowy MCP z zasadami zatwierdzania i kontrolkami wyboru narzędzi

Można użyć wielu typów połączeń w tym samym agencie. Każdy z nich obsługuje inny cel środowiska uruchomieniowego.

Metody uwierzytelniania łącznika GitHub

Niezależnie od tego, co robi agent, wybierz sposób jego uwierzytelniania w GitHub. Dostępne są trzy metody i działają we wszystkich typach połączeń.

Metoda uwierzytelniania Jak to działa Obsługiwane hosty Najlepsze dla
OAuth Zaloguj się za pomocą konta GitHub w wyskakującym oknie przeglądarki github.com Szybka konfiguracja interaktywna (limit: 10 tokenów na agenta)
PAT Podaj token dostępu osobistego o szczegółowym zakresie repo github.com Konta usług, środowiska nieinterakcyjne
Aplikacja byo GitHub Zarejestruj własną aplikację GitHub, zapisz klucz prywatny w Azure Key Vault github.com i <tenant>.ghe.com Ład przedsiębiorstwa, środowiska EMU, GitHub Enterprise Cloud

W przypadku github.com wszystkie trzy metody działają we wszystkich rodzajach połączeń. W przypadku hostów GitHub Enterprise Cloud (<tenant>.ghe.com) dostępna jest tylko aplikacja BYO GitHub.

Uprawnienia według typu uwierzytelniania

Operation Minimalna wartość protokołu OAuth lub pat minimalna aplikacja GitHub
Metadane repozytorium i klonowanie/odczytywanie repo w przypadku repozytoriów prywatnych, public_repo w przypadku dostępu wyłącznie do repozytoriów publicznych Metadane repozytorium: Odczyt i Zawartość: Odczyt
Wyświetlanie/tworzenie zgłoszeń Zakres repozytorium z obsługą zgłoszeń dla OAuth/PAT Problemy z repozytorium: odczyt/zapis zgodnie z potrzebami
Operacje pull requestów Zakres repozytoriów obsługujących PR-y dla OAuth/PAT Żądania ściągnięcia repozytorium: odczyt/zapis zgodnie z potrzebami

Wskazówka

Tokeny OAuth są odświeżane automatycznie

GitHub tokeny OAuth wygasają po około ośmiu godzinach, ale agent odświeża je automatycznie przed wygaśnięciem przy użyciu buforu 20 minut. Każde odświeżenie generuje nowy token odświeżania, tworząc samopodtrzymujący się łańcuch odnowień, który trwa około sześciu miesięcy. Łącznik pozostaje połączony podczas długotrwałych analiz i zadań zaplanowanych na noc, bez konieczności ręcznego logowania.

To automatyczne odświeżanie dotyczy tylko połączeń OAuth. Połączenia pat wymagają ręcznego obracania tokenów. W przypadku połączeń BYO GitHub App w razie potrzeby przeprowadź rotację klucza prywatnego w usłudze Azure Key Vault.

Kiedy należy ponownie się uwierzytelnić: Jeśli token odświeżania wygaśnie (po około sześciu miesiącach), jeśli cofniesz autoryzację aplikacji GitHub lub jeśli łącznik został skonfigurowany przed wersją 26.2.247.0 (jedno ponowne uwierzytelnienie zapisuje token odświeżania i od tej pory włącza jego automatyczne odświeżanie).

Co agent może zrobić za pomocą łącznika GitHub

Możliwości analizy kodu źródłowego

  • Wyszukaj kod we wszystkich połączonych repozytoriach.
  • Odczytywanie zawartości pliku według ścieżki i gałęzi.
  • Korelowanie błędów z kodem źródłowym: Mapowanie błędów zasobów platformy Azure na określone pliki i numery wierszy.
  • Wyszukiwanie kodu semantycznego: znajdowanie kodu związanego ze zdarzeniem przy użyciu zapytań języka naturalnego.
  • Identyfikowanie plików IaC: wykrywanie szablonów Bicep, Terraform i ARM w repozytoriach.

Zarządzanie zgłoszeniami i pull requestami

  • Tworzenie problemów z tytułami, treściami, etykietami i osobami przypisanymi.
  • Komentowanie problemów i pull requestów, w tym słowa kluczowe do automatycznego zamykania.
  • Aktualizuj zgłoszenia poprzez zmianę tytułu, treści, etykiet lub stanu.
  • Pobierz alerty Dependabot , aby przejrzeć luki w zabezpieczeniach.

Automatyzacja przepływu pracy

  • Uruchom przepływy pracy GitHub Actions, aby wywołać wdrożenia typu canary lub produkcyjne.
  • Śledzenie przebiegów przepływu pracy w celu monitorowania stanu wysłanych przepływów pracy.
  • Sprawdź stan scalania żądania ściągnięcia, aby sprawdzić, czy żądanie ściągnięcia zostało scalone.

GitHub Enterprise Cloud

Łączenie repozytoriów hostowanych w chmurze GitHub Enterprise Cloud (<tenant>.ghe.com) przy użyciu aplikacji BYO GitHub. Agent używa klucza prywatnego aplikacji, który jest przechowywany w Azure Key Vault, do tworzenia krótkotrwałych tokenów instalacyjnych dla każdego repozytorium.

Upewnij się, że masz następujące:

  • Aplikacja GitHub utworzona w instancji GHE z uprawnieniem Zawartość: tylko do odczytu.
  • Klucz prywatny aplikacji przechowywany w postaci wpisu tajnego w Azure Key Vault.
  • Tożsamości zarządzanej agenta przyznano rolę Key Vault Secrets User w magazynie.

Aby uzyskać pełny przewodnik konfiguracji, zobacz Połączenie repozytoriów GitHub Enterprise Cloud.

Skonfiguruj to samo repozytorium w wielu ścieżkach

Skonfiguruj to samo repozytorium w wielu ścieżkach GitHub. Każda ścieżka obsługuje różne zadania środowiska uruchomieniowego.

Scenario Zalecane podejście
Potrzebny kontekst kodu oraz operacje na zgłoszeniach Konfigurowanie dostępu do kodu i łącznika GitHub lub GitHub MCP
Potrzebujesz tylko szerokiego katalogu narzędzi MCP Używaj tylko GitHub MCP
Potrzebujesz hosta przedsiębiorstwa (<tenant>.ghe.com) Korzystanie z aplikacji GHE BYO za pośrednictwem dostępu do kodu
Konieczność ścisłego przestrzegania kontraktu konektora Korzystanie z łącznika GitHub

Limity i ograniczenia

Resource Guidance
Hosts Konfigurowanie każdego hosta niezależnie (github.com, <tenant>.ghe.com)
Rekordy uwierzytelniania W zakresie hosta; odłączenie jednego hosta nie odłącza innego hosta
uwierzytelnianie GitHub Enterprise Cloud Tylko aplikacja BYO
Key Vault wymaganie dotyczące aplikacji BYO Klucz prywatny musi znajdować się w Key Vault i można go odczytać przy użyciu tożsamości agenta

Troubleshooting

Objaw Prawdopodobna przyczyna Napraw.
Wiersz repozytorium dostępu kodu zawiera komunikat Niepowodzenie, ale zapytania dotyczące problemów nadal działają Inny punkt końcowy lub niepowodzenie kontroli kondycji w danym momencie Ponownie przetestuj połączenie dostępu kodu i sprawdź uprawnienia metadanych repozytorium
Sprawdzanie poprawności aplikacji BYO kończy się niepowodzeniem Niezgodność identyfikatora klienta, URI klucza prywatnego lub zakresu instalacji aplikacji Weryfikacja identyfikatora klienta, zawartości wpisu tajnego w usłudze Key Vault i zakresu instalacji aplikacji
<tenant>.ghe.com Host nie pokazuje protokołu OAuth/PAT Oczekiwane zachowanie Korzystanie z aplikacji BYO GitHub
Klonowanie/odczyt nie udaje się po pomyślnym uwierzytelnieniu Brakujące uprawnienia do odczytu metadanych/zawartości w aplikacji lub tokenie Nadaj wymagane uprawnienia do repozytorium i spróbuj ponownie
Akcje dotyczące PR lub zgłoszenia kończą się niepowodzeniem Brak uprawnień do zgłoszeń i PR Dodaj uprawnienia do issue/PR do zakresów OAuth/PAT lub GitHub App

Wprowadzenie do łącznika GitHub

Co chcesz zrobić Przewodnik
Nadaj swojemu agentowi kontekst kodu na potrzeby dochodzeń (OAuth/PAT) Łączenie kodu źródłowego
Włącz operacje na zgłoszeniach, PR i przepływach pracy (OAuth/PAT) Konguruj łącznik GitHub
Konfigurowanie aplikacji byo GitHub dla github.com lub <tenant>.ghe.com Połącz GitHub Enterprise Cloud
Dodaj narzędzia GitHub MCP z mechanizmami nadzoru Konfigurowanie łącznika MCP

Następne kroki