Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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 |