Connecteur GitHub dans Azure SRE Agent

Connectez vos référentiels GitHub afin que votre agent puisse lire le code source, rechercher des erreurs, créer des problèmes, déclencher des flux de travail et faire correspondre les déploiements avec des incidents.

Conseil / Astuce

Vue d’ensemble rapide

  • L’accès au code donne à votre agent le code source, l’IaC et les configurations en tant que contexte d’investigation.
  • GitHub Connector permet les opérations sur les tickets, les pull requests et les workflows.
  • GitHub MCP fournit un accès complet aux outils de GitHub avec des contrôles de gouvernance.
  • Authentifiez-vous avec L’application OAuth, PAT ou BYO GitHub. Tous les trois travaillent sur github.com. GitHub Enterprise Cloud (<tenant>.ghe.com) nécessite l’application BYO.

Votre code source, vos définitions d’infrastructure, vos configurations de déploiement, vos compétences et vos runbooks vivent dans GitHub. Lorsque votre agent peut lire ces artefacts, les enquêtes passent de la résolution des problèmes génériques à l’analyse de la cause racine qui référence le fichier exact, la validation exacte et la modification exacte de la configuration.

Utilisation du connecteur GitHub par votre agent

Azure agent SRE se connecte à GitHub de trois façons, chacun servant un objectif différent :

Type de connexion Où vous le configurez Ce que votre agent obtient
Accès au code Accès au code de Builder > Recherche de code, fichier lu par chemin/branche, corrélation d’erreur à source, recherche de code sémantique
connecteur GitHub Builder > Connecteurs > Ajouter un connecteur Créer/lister des issues, ouvrir/fusionner des PR, déclencher et suivre les workflows GitHub Actions
GitHub MCP Builder > Connecteurs > Ajouter un connecteur Catalogue complet d’outils GitHub via MCP, avec des stratégies d’approbation et des contrôles de sélection d’outils

Vous pouvez utiliser plusieurs types de connexion sur le même agent. Chacun d’eux a un rôle d’exécution différent.

Méthodes d’authentification pour le connecteur GitHub

Séparément de ce que fait l’agent, choisissez comment il s’authentifie pour GitHub. Trois méthodes sont disponibles et fonctionnent sur tous les types de connexion.

Méthode d’authentification Fonctionnement Hôtes pris en charge Idéal pour
OAuth Connectez-vous avec votre compte GitHub dans une fenêtre contextuelle de navigateur github.com Configuration interactive rapide (limite : 10 jetons par agent)
PAT Fournissez un jeton d’accès personnel affiné avec une étendue repo github.com Comptes de service, environnements non interactifs
Application BYO GitHub Inscrivez votre propre application GitHub, stockez la clé privée dans Azure Key Vault github.com et <tenant>.ghe.com Gouvernance d’entreprise, environnements UEM, GitHub Enterprise Cloud

Pour github.com, les trois méthodes fonctionnent sur tous les types de connexion. Pour GitHub hôtes Enterprise Cloud (<tenant>.ghe.com), seule l’application BYO GitHub est disponible.

Autorisations par type d’authentification

Operation OAuth ou PAT minimum Application GitHub minimale
Métadonnées du dépôt et clonage/lecture repo pour les dépôts privés, public_repo pour un accès public uniquement Référentiel Métadonnées : lecture et Contenu : lecture
Répertorier/créer des problèmes Étendue du référentiel compatible avec les problèmes pour OAuth/PAT Problèmes de référentiel : lecture/écriture si nécessaire
Opérations de pull request Étendue de référentiel compatible PR pour OAuth/PAT Demandes de récupération de référentiel : lecture/écriture en fonction des besoins

Conseil / Astuce

Actualisation automatique des jetons OAuth

GitHub jetons OAuth expirent après environ huit heures, mais l’agent les actualise automatiquement avant l’expiration à l’aide d’une mémoire tampon de 20 minutes. Chaque actualisation génère un nouveau jeton d’actualisation, créant une chaîne de renouvellement autonome qui dure environ six mois. Votre connecteur reste connecté pendant les longues investigations et les tâches planifiées pendant la nuit, sans devoir vous connecter manuellement.

Cette actualisation automatique s’applique uniquement aux connexions OAuth. Les connexions PAT nécessitent une rotation manuelle des jetons. Pour les connexions d’application GitHub BYO, faites pivoter la clé privée dans Azure Key Vault si nécessaire.

Quand vous devez ré-authentifier : Si le jeton d’actualisation expire (environ six mois), si vous révoquez l’autorisation d’application GitHub, ou si votre connecteur a été configuré avant la version 26.247.0 (une nouvelle authentification stocke le jeton d’actualisation et active l’actualisation automatique à l’avenir).

Ce que l’agent peut faire avec le connecteur GitHub

Fonctionnalités d’analyse du code source

  • Recherchez du code sur tous les référentiels connectés.
  • Lire le contenu du fichier par chemin et branche.
  • Mettre en corrélation les erreurs avec le code source : mapper des erreurs de ressource Azure à des fichiers et des numéros de ligne spécifiques.
  • Recherche de code sémantique : recherchez du code lié à un incident à l’aide de requêtes en langage naturel.
  • Identifiez les fichiers IaC : détectez les modèles Bicep, Terraform et ARM dans vos dépôts.

Gestion des problèmes et des demandes de tirage

  • Créez des issues avec le titre, la description, les étiquettes et les assignés.
  • Commentez les problèmes et les pull requests y compris les mots-clés pour clôture automatique.
  • Mettez à jour les problèmes en modifiant le titre, le contenu, les étiquettes ou l'état.
  • Consultez les alertes Dependabot pour examiner les failles de sécurité.

Automatisation de workflow

  • Déclencher des workflows GitHub Actions pour lancer des déploiements canary ou de production.
  • Suivez les exécutions de flux de travail pour suivre l’état des flux de travail déclenchés.
  • Vérifiez le statut de fusion des PR afin de vérifier si une pull request est fusionnée.

GitHub Enterprise Cloud

Connectez des référentiels hébergés sur GitHub Enterprise Cloud (<tenant>.ghe.com) à l’aide d’une application BYO GitHub. L'agent utilise la clé privée de votre application, que vous stockez dans Azure Key Vault, pour créer des jetons d'installation de courte durée pour chaque dépôt.

Assurez-vous d’avoir effectué ce qui suit :

  • Une application GitHub créée sur votre instance GHE avec l’autorisation Contenu : lecture seule.
  • La clé privée de l'application stockée en tant que secret dans Azure Key Vault.
  • L’identité gérée de l’agent s’est vu attribuer le rôle Utilisateur des secrets Key Vault sur le coffre.

Pour consulter le guide de configuration complet, voir Connecter des dépôts GitHub Enterprise Cloud.

Configurer le même référentiel dans plusieurs chemins d’accès

Configurez le même dépôt dans plusieurs chemins d’accès GitHub. Chaque chemin d’accès sert à différentes tâches d’exécution.

Scénario Approche recommandée
Besoin d’un contexte de code et d’opérations de problème Configurer l’accès au code et GitHub Connecteur ou GitHub MCP
Besoin d’un catalogue d’outils MCP large uniquement Utiliser GitHub MCP uniquement
Besoin d’un hôte d’entreprise (<tenant>.ghe.com) Utiliser l’application GHE BYO via l’accès au code
Besoin d’un comportement de contrat de connecteur strict Utiliser le connecteur GitHub

Limites et contraintes

Ressource Conseils
Hosts Configurer chaque hôte indépendamment (github.com, <tenant>.ghe.com)
Enregistrements d’authentification Limité à l’hôte ; la déconnexion d’un hôte n’entraîne pas celle d’un autre hôte
Authentification GitHub Enterprise Cloud Application BYO uniquement
Exigence Key Vault pour BYO App La clé privée doit être dans Key Vault et lisible par l’identité de l’agent

Résolution des problèmes

Symptôme Cause la plus probable Réparer
La ligne du référentiel d’accès au code affiche Échec, mais les requêtes de problème fonctionnent toujours Échec du contrôle d’intégrité sur un autre point de terminaison ou à un autre instant Tester à nouveau la connexion d’accès au code et vérifier les autorisations de métadonnées du dépôt
Échec de la validation de l’application BYO Incompatibilité de l’identifiant client, de l’URI de clé privée ou de la portée d’installation de l’application Vérifier l’ID client, le contenu du secret Key Vault et la portée de l’installation de l’application
<tenant>.ghe.com l’hôte n’affiche pas OAuth/PAT Comportement attendu Utiliser l’application BYO GitHub
Échec du clonage/de la lecture malgré la réussite de l’authentification Autorisations de lecture de métadonnées/contenu manquantes sur l’application ou le jeton Accorder les autorisations de dépôt requises et réessayer
Échec des actions associées aux problèmes ou PR Autorisations manquantes pour les problèmes/PR Ajouter les autorisations pour les problèmes/PR à la portée OAuth/PAT ou à l’application GitHub

Prise en main du connecteur GitHub

Ce que vous voulez faire Guide
Donner à votre assistant le contexte du code pour les investigations (OAuth/PAT) Connecter le code source
Activer les opérations de problème, PR et de flux de travail (OAuth/PAT) Configurer GitHub connecteur
Configurer l’application BYO GitHub pour github.com ou <tenant>.ghe.com Connectez GitHub Enterprise Cloud
Ajouter des outils MCP GitHub avec des contrôles de gouvernance Configurer un connecteur MCP

Étape suivante