Connettore GitHub nell'agente SRE di Azure

Connettere i repository GitHub in modo che l'agente possa leggere il codice sorgente, cercare errori, creare problemi, attivare flussi di lavoro e associare le distribuzioni agli eventi imprevisti.

Suggerimento

Panoramica rapida

  • Code Access fornisce al tuo agente il codice sorgente, l'IaC e le configurazioni come contesto per l'indagine.
  • GitHub Connector consente operazioni su issue, PR e workflow.
  • GitHub MCP fornisce l'accesso completo agli strumenti di GitHub con i controlli di governance.
  • Eseguire l'autenticazione con OAuth, PAT o BYO GitHub App . Tutti e tre funzionano su github.com. GitHub Enterprise Cloud (<tenant>.ghe.com) richiede l'app BYO.

Il codice sorgente, le definizioni dell'infrastruttura, le configurazioni di distribuzione, le competenze e i runbook vivono in GitHub. Quando l'agente può leggere questi artefatti, le indagini passano dalla risoluzione dei problemi generica all'analisi della causa radice che fa riferimento al file esatto, al commit esatto e alla modifica esatta della configurazione.

Come l'agente usa il connettore GitHub

Azure agente SRE si connette a GitHub in tre modi, ognuno con uno scopo diverso:

Tipo di connessione Posizione in cui è configurata Cosa riceve l'agente
Accesso al codice Builder > Accesso al codice Ricerca di codice, file letto per percorso/ramo, correlazione da errore a origine, ricerca di codice semantico
GitHub Connettore Builder > Connettori > Aggiungi connettore Creare/elencare issue, aprire/unire PR, avviare e monitorare i flussi di lavoro di GitHub Actions
GitHub MCP Builder > Connettori > Aggiungi connettore Catalogo completo degli strumenti GitHub tramite MCP, con criteri di approvazione e controlli di selezione degli strumenti

È possibile usare più tipi di connessione nello stesso agente. Ognuno ha uno scopo di runtime diverso.

Metodi di autenticazione per il connettore GitHub

Separatamente dalle operazioni eseguite dall'agente, scegliere come esegue l'autenticazione per GitHub. Sono disponibili tre metodi e funzionano in tutti i tipi di connessione.

Metodo di Autenticazione Come funziona Host supportati Ideale per
OAuth Accedi con il tuo account GitHub tramite una finestra popup del browser github.com Configurazione interattiva rapida (limite: 10 token per agente)
PAT Fornisci un token di accesso personale a granularità fine con ambito repo github.com Account di servizio, ambienti non interattivi
App GitHub BYO Registrare la propria app GitHub, archiviare la chiave privata in Azure Key Vault github.com e <tenant>.ghe.com Governance aziendale, ambienti EMU, GitHub Enterprise Cloud

Per github.com, tutti e tre i metodi funzionano in tutti i tipi di connessione. Per gli host GitHub Enterprise Cloud (<tenant>.ghe.com), è disponibile solo l'app BYO GitHub.

Autorizzazioni per tipo di autenticazione

Operation OAuth o PAT minimo GitHub App minima
Metadati del repository e clonazione e lettura repo per i repository privati, public_repo per l'accesso solo pubblico Metadati del repository: Lettura e Contenuti: Lettura
Elencare/creare problemi Ambito del repository con supporto per issue per OAuth/PAT Problemi del repository: lettura/scrittura in base alle esigenze
Operazioni di pull request Ambito del repository con supporto per PR per OAuth/PAT Richieste pull del repository: lettura/scrittura in base alle esigenze

Suggerimento

I token OAuth vengono aggiornati automaticamente

GitHub i token OAuth scadono dopo circa otto ore, ma l'agente li aggiorna automaticamente prima della scadenza usando un buffer di 20 minuti. Ogni aggiornamento genera un nuovo token di aggiornamento, creando una catena di rinnovo a supporto automatico che dura circa sei mesi. Il connettore rimane connesso durante lunghe indagini e attività pianificate notturne senza dover effettuare manualmente l'accesso.

Questo aggiornamento automatico si applica solo alle connessioni OAuth. Le connessioni PAT richiedono la rotazione manuale dei token. Per le connessioni all'app GitHub BYO, ruota la chiave privata in Azure Key Vault quando necessario.

Quando è necessario ripetere l'autenticazione: Se il token di aggiornamento scade (circa sei mesi), se si revoca l'autorizzazione dell'app GitHub o se il connettore è stato configurato prima della versione 26.2.247.0 (una riaauth archivia il token di aggiornamento e abilita l'aggiornamento automatico in futuro).

Operazioni che l'agente può eseguire con il connettore GitHub

Funzionalità di analisi del codice sorgente

  • Eseguire ricerche nel codice in tutti i repository connessi.
  • Leggere il contenuto del file in base al percorso e al ramo.
  • Correlare gli errori con il codice sorgente: eseguire il mapping degli errori delle risorse di Azure a file e numeri di riga specifici.
  • Ricerca di codice semantico: trovare il codice correlato a un evento imprevisto usando query in linguaggio naturale.
  • Identificare i file IaC: individuare i modelli Bicep, Terraform e ARM nei tuoi repository.

Gestione dei problemi e delle richieste di pull

  • Creare elementi con titolo, testo, etichette e assegnatari.
  • Commentare i problemi e le pull request, incluse le parole chiave di chiusura automatica.
  • Aggiorna le segnalazioni modificando il titolo, il corpo, le etichette o lo stato.
  • Recuperare gli avvisi Dependabot per esaminare le vulnerabilità di sicurezza.

Automazione del flusso di lavoro

  • Attiva i flussi di lavoro di GitHub Actions per avviare distribuzioni canary o di produzione.
  • Tenere traccia delle esecuzioni del flusso di lavoro per monitorare lo stato dei flussi di lavoro inviati.
  • Controllare lo stato di unione della richiesta pull per verificare se una richiesta pull è stata unita.

GitHub Enterprise Cloud

Connettere i repository ospitati in GitHub Enterprise Cloud (<tenant>.ghe.com) tramite una GitHub App BYO. L'agente usa la chiave privata dell'app, archiviata in Azure Key Vault, per creare token di installazione di breve durata per ogni repository.

Assicurarsi di avere:

  • Un'app GitHub creata nella tua istanza GHE con autorizzazione Contenuti: sola lettura.
  • La chiave privata dell'app archiviata come segreto in Azure Key Vault.
  • All'identità gestita dell'agente è stato assegnato il ruolo Key Vault Secrets User sull'insieme di credenziali.

Per la guida alla configurazione completa, vedere Connect GitHub Enterprise Cloud repository.

Configurare lo stesso repository in più percorsi

Configurare lo stesso repository in più percorsi di GitHub. Ogni percorso serve processi di runtime diversi.

Scenario Approccio consigliato
Sono necessari il contesto del codice e le operazioni di problema Configurare l'accesso al codice e GitHub Connector o MCP GitHub
È necessario solo un ampio catalogo di strumenti MCP Usa solo GitHub MCP
Necessario host aziendale (<tenant>.ghe.com) Usare l'app GHE BYO tramite l'accesso al codice
È necessario un comportamento restrittivo per il contratto del connettore Usa GitHub Connector

Limiti e vincoli

risorsa Guidance
Hosts Configurare ogni host in modo indipendente (github.com, <tenant>.ghe.com)
Record di autenticazione Con ambito limitato all'host; la disconnessione di un host non comporta la disconnessione di un altro host
autenticazione di GitHub Enterprise Cloud Solo app BYO
Requisito di Key Vault per l'app BYO La chiave privata deve essere in Key Vault e leggibile dall'identità dell'agente

Risoluzione dei problemi

Sintomo Causa possibile Correzione
La riga del repo di Code Access mostra Failed, ma le query degli issue continuano a funzionare Errore del controllo dello stato di integrità dell'endpoint o point-in-time diverso Testare di nuovo la connessione di accesso al codice e verificare le autorizzazioni dei metadati del repository
La convalida dell'app BYO ha esito negativo ID client, URI della chiave privata o mancata corrispondenza dell'ambito di installazione dell'app Verifica l'ID client, il contenuto del segreto di Key Vault e l'ambito di installazione dell'app
<tenant>.ghe.com host non visualizza OAuth/PAT Comportamento previsto Usare l'app BYO GitHub
La clonazione/lettura non riesce dopo che l'autenticazione riesce Autorizzazioni di lettura dei metadati/contenuti mancanti nell'app o nel token Concedere le autorizzazioni di repository necessarie e riprovare
Le azioni relative a PR o issue non riescono Autorizzazioni mancanti per issue/PR Aggiungere le autorizzazioni per issue/PR all'ambito OAuth/PAT o a GitHub App

Introduzione al connettore GitHub

Cosa vuoi fare Guida
Fornisci all'agente il contesto del codice per le indagini (OAuth/PAT) Connettere il codice sorgente
Abilita le operazioni di issue, PR e flusso di lavoro (OAuth/PAT) Configurare il connettore GitHub
Configurare l'app GitHub BYO per github.com o <tenant>.ghe.com Connettere GitHub Enterprise Cloud
Aggiungi gli strumenti MCP di GitHub con controlli di governance Configurare un connettore MCP

Passo successivo