GitHub-connector in Azure SRE-agent

Verbind uw GitHub opslagplaatsen zodat uw agent broncode kan lezen, fouten kan zoeken, problemen kan maken, werkstromen activeert en implementaties kan vergelijken met incidenten.

Aanbeveling

Snel overzicht

  • Codetoegang geeft uw agentbroncode, IaC en configuraties als onderzoekscontext.
  • GitHub Connector maakt issue-, PR- en workflowbewerkingen mogelijk.
  • GitHub MCP biedt volledige GitHub toegang tot hulpprogramma's met beheeropties.
  • Verifiëren met OAuth, PAT of BYO GitHub App. Alle drie werken aan github.com. voor GitHub Enterprise Cloud (<tenant>.ghe.com) is BYO-app vereist.

Uw broncode, infrastructuurdefinities, implementatieconfiguraties, vaardigheden en runbooks leven in GitHub. Wanneer uw agent deze artefacten kan lezen, gaan onderzoeken van algemene probleemoplossing naar hoofdoorzaakanalyse die verwijst naar het exacte bestand, de exacte doorvoer en de exacte configuratiewijziging.

Hoe uw agent gebruikmaakt van de GitHub-connector

Azure SRE-agent maakt op drie manieren verbinding met GitHub, die elk een ander doel dienen:

Verbindingstype Waar u deze configureert Wat uw agent krijgt
Codetoegang Bouwer > Codetoegang Code doorzoeken, bestand lezen via pad/branch, correlatie tussen fout en bron, semantisch code doorzoeken
GitHub connector Builder > Connectoren > Connector toevoegen Issues maken/weergeven, PR’s openen/samenvoegen, GitHub Actions-workflows activeren en volgen
GITHUB MCP Builder > Connectoren > Connector toevoegen Volledige GitHub hulpprogrammacatalogus via MCP, met goedkeuringsbeleid en besturingselementen voor selectie van hulpprogramma's

U kunt meerdere verbindingstypen op dezelfde agent gebruiken. Elk dient voor een ander runtimedoel.

Verificatiemethoden voor de GitHub-connector

Kies, los van wat de agent doet, hoe de agent zich bij GitHub authenticeert. Er zijn drie methoden beschikbaar en ze werken in alle verbindingstypen.

Verificatiemethode Hoe werkt het? Ondersteunde hosts Het beste voor
OAuth Meld u aan met uw GitHub-account in een browser github.com Snelle interactieve installatie (limiet: 10 tokens per agent)
PAT Een fijnmazig persoonlijk toegangstoken met repo bereik bieden github.com Serviceaccounts, niet-interactieve omgevingen
BYO GitHub App Registreer uw eigen GitHub App, sla de persoonlijke sleutel op in Azure Key Vault github.com en <tenant>.ghe.com Ondernemingsgovernance, EMU-omgevingen, GitHub Enterprise Cloud

Voor github.com, werken alle drie de methoden voor alle verbindingstypen. Voor GitHub Enterprise Cloud-hosts (<tenant>.ghe.com) is alleen BYO GitHub App beschikbaar.

Machtigingen per authenticatietype

Operatie Minimaal OAuth of PAT vereist GitHub App-minimum
Metagegevens van opslagplaatsen en klonen/lezen repo voor privé-opslagplaatsen, public_repo voor openbare toegang Metagegevens van opslagplaats : lezen en inhoud: lezen
Issues weergeven/aanmaken Bereik van probleemgevoelige opslagplaats voor OAuth/PAT Problemen met opslagplaats: lezen/schrijven indien nodig
Bewerkingen voor pull-aanvragen Repo-bereik geschikt voor pull requests voor OAuth/PAT Repository Pullverzoeken: Lezen/Schrijven indien nodig

Aanbeveling

OAuth-tokens worden automatisch vernieuwd

GitHub OAuth-tokens na ongeveer acht uur verlopen, maar de agent vernieuwt deze automatisch voordat ze verlopen met behulp van een buffer van 20 minuten. Elke vernieuwing genereert een nieuw vernieuwingstoken, waardoor een zelfvoorzienende vernieuwingsketen wordt gemaakt die ongeveer zes maanden duurt. Uw connector blijft verbonden tijdens langdurige onderzoeken en geplande nachtelijke taken zonder handmatig aanmelden.

Deze automatische vernieuwing is alleen van toepassing op OAuth-verbindingen. Pat-verbindingen vereisen handmatige tokenrotatie. Voor BYO-GitHub App-verbindingen rouleert u de privésleutel in Azure Key Vault wanneer dat nodig is.

Wanneer u opnieuw moet verifiëren: Als het vernieuwingstoken verloopt (ongeveer zes maanden), als u de GitHub App-autorisatie intrekt of als uw connector is ingesteld vóór versie 26.2.2.247.0 (met één nieuwe verificatie wordt het vernieuwingstoken opgeslagen en wordt automatisch vernieuwen mogelijk).

Wat de agent kan doen met de GitHub-connector

Mogelijkheden voor broncodeanalyse

  • Zoek code in alle verbonden repositories.
  • Bestandsinhoud lezen via pad en tak.
  • Correleert fouten met broncode: Wijs Azure-resourcefouten toe aan specifieke bestanden en regelnummers.
  • Semantische code zoeken: zoek code met betrekking tot een incident met behulp van query's in natuurlijke taal.
  • Identificeer IaC-bestanden: Bicep-, Terraform- en ARM-sjablonen detecteren in uw opslagplaatsen.

Probleem- en pull-aanvraagbeheer

  • Issues creëren met titel, beschrijving, labels en toegewezen personen.
  • Opmerkingen bij problemen en pull-aanvragen , waaronder trefwoorden voor automatisch sluiten.
  • Werk problemen bij door titel, hoofdtekst, labels of status te wijzigen.
  • Dependabot-waarschuwingen ophalen om beveiligingskwetsbaarheden te bekijken.

Werkstroomautomatisering

  • Activeer GitHub Actions-workflows om canary- of productie-implementaties te starten.
  • Workflowuitvoeringen bijhouden om de status van gestarte workflows te bewaken.
  • Controleer de samenvoegstatus van pull-aanvragen om te controleren of een pull-aanvraag is samengevoegd.

GitHub Enterprise Cloud

Verbind opslagplaatsen die worden gehost op GitHub Enterprise Cloud (<tenant>.ghe.com) met behulp van een BYO-GitHub-app. De agent gebruikt de persoonlijke sleutel van uw app, die u opslaat in Azure Key Vault, om kortstondige installatietokens te maken voor elke opslagplaats.

Zorg ervoor dat u beschikt over:

  • Een GitHub-app die is gemaakt op uw GHE-exemplaar met Contents: Alleen-lezen machtiging.
  • De persoonlijke sleutel van de app die is opgeslagen als een geheim in Azure Key Vault.
  • Aan de beheerde identiteit van de agent is de rol Key Vault Secrets User voor de kluis toegewezen.

Zie Connect GitHub Enterprise Cloud-opslagplaatsen voor de volledige installatiehandleiding.

Dezelfde opslagplaats in meerdere paden configureren

Configureer dezelfde opslagplaats in meerdere GitHub paden. Elk pad dient verschillende runtimetaken.

Scenario Aanbevolen aanpak
Codecontext plus probleembewerkingen nodig Configureer toegang tot code en ofwel GitHub Connector of GitHub MCP
Alleen een uitgebreide MCP-toolcatalogus nodig Alleen GitHub MCP gebruiken
Bedrijfshost nodig (<tenant>.ghe.com) GHE BYO-app gebruiken via codetoegang
Vereist strikt contractgedrag voor connectoren GitHub-connector gebruiken

Limieten en beperkingen

Hulpbron Begeleiding
Hosts Elke host onafhankelijk configureren (github.com, <tenant>.ghe.com)
Verificatierecords Hostgebonden; het verbreken van de verbinding met de ene host verbreekt de verbinding met een andere host niet
GitHub Enterprise Cloud-authenticatie Alleen BYO-app
Key Vault vereiste voor BYO-app De privésleutel moet zich in Key Vault bevinden en leesbaar zijn voor de identiteit van de agent.

Troubleshooting

Symptoom Waarschijnlijke oorzaak Repareren
De rij voor de Code Access-repository toont Mislukt, maar issuequery's werken nog steeds Afwijkende fout in statuscontrole van eindpunt of momentopname Verbinding met codetoegang opnieuw testen en machtigingen voor metagegevens van opslagplaats verifiëren
Validatie van BYO-app mislukt Client-id, URI met persoonlijke sleutel of app-installatiebereik komen niet overeen Client-id, Key Vault geheime inhoud en app-installatiebereik controleren
<tenant>.ghe.com OAuth/PAT wordt niet weergegeven op de host Verwacht gedrag BYO GitHub-app gebruiken
Klonen/lezen mislukt nadat de authenticatie is geslaagd Ontbrekende leesmachtigingen voor metadata/inhoud voor de app of het token De vereiste opslagplaatsmachtigingen verlenen en opnieuw proberen
PR- of issueacties mislukken Ontbrekende problemen/PR-machtigingen Machtigingen voor issues/PR's toevoegen aan het OAuth/PAT-machtigingsbereik of de GitHub-app

Aan de slag met de GitHub-connector

Wat u wilt doen? Guide
Geef uw agent codecontext voor onderzoek (OAuth/PAT) Broncode verbinden
Issue-, PR- en workflowacties inschakelen (OAuth/PAT) GitHub-connector instellen
BYO GitHub-app instellen voor github.com of <tenant>.ghe.com Verbinding maken met GitHub Enterprise Cloud
GitHub MCP-tools toevoegen met governancemaatregelen Een MCP-connector instellen

Volgende stap