Interaction des agents avec les API et les flux de travail GitHub

Effectué

Les agents IA changent la façon dont le travail de développement est effectué. Au lieu de naviguer manuellement dans les référentiels, d’écrire du code et d’exécuter des commandes, les agents peuvent fonctionner directement dans GitHub pour effectuer des tâches de début à fin.

GitHub prend en charge le travail piloté par l’agent via plusieurs couches. Les agents peuvent utiliser les API GitHub pour lire l’état du référentiel et effectuer des actions, les flux de travail GitHub Actions pour exécuter l’automatisation dans les exécuteurs contrôlés, et les flux de travail agentiques de GitHub pour décrire des tâches de niveau supérieur pour le référentiel dans Markdown et les réaliser avec des agents de codage sous de solides garde-fous. Au lieu de contourner GitHub, les agents fonctionnent via les mêmes systèmes que les développeurs utilisent, notamment les branches, les pull requests, les issues et l’automatisation.

Dans cette unité, vous allez apprendre :

  • Interaction des agents avec GitHub via des API
  • Comment les agents utilisent des flux de travail en tant qu’environnements d’exécution
  • Comment les modifications du référentiel sont créées et gérées
  • À quoi ressemble un flux d’exécution d’agent complet sur GitHub

Interaction des agents avec GitHub

GitHub agents, tels que Copilot agent cloud, fonctionnent dans un référentiel et un contexte de branche définis. Lorsque vous affectez une tâche, par exemple via un ticket ou une demande, l’agent commence à travailler à l’intérieur de ce référentiel.

Les assistants peuvent :

  • Rechercher et comprendre le dépôt
  • Planifier les modifications nécessaires à l’exécution d’une tâche
  • Apporter des modifications de code sur une nouvelle branche
  • Ouvrir une pull request pour révision

Les agents effectuent ces actions à l’aide des fonctionnalités de la plateforme GitHub telles que les API et les flux de travail.

Ces actions peuvent être déclenchées par des événements de référentiel (par exemple, push ou demande de tirage), exécutés selon une planification ou orchestrés par le biais de flux de travail agentiques qui automatisent en permanence les tâches de référentiel au fil du temps.

Utilisation d’API GitHub pour effectuer des actions

GitHub fournit des API qui permettent aux systèmes d’interagir avec des référentiels par programmation.

Les API activent des actions telles que :

  • Création de branches et de commits
  • Lecture des données du référentiel
  • Ouverture et mise à jour des pull requests
  • Déclenchement des flux de travail

Toutes les demandes d’API doivent être authentifiées à l’aide de jetons tels que des jetons d’accès personnels, des jetons d’application GitHub ou des GITHUB_TOKEN fournis dans les flux de travail.

Cela garantit que chaque action effectuée par un agent est contrôlée par les autorisations et pouvant être auditable.

Comment les agents créent des modifications dans un référentiel

Lorsqu’un agent apporte des modifications, il suit le même flux de travail qu’un développeur. Une séquence classique ressemble à ceci :

  1. Sélectionner une branche de base
  2. Créer une branche de travail
  3. Modifier ou créer des fichiers
  4. Valider les modifications
  5. Ouvrir une pull request

Il existe des opérations d’API distinctes pour chacune de ces étapes, nommément l’utilisation des références Git, du contenu du référentiel et des pull requests.

Cela signifie que les actions de l’agent sont entièrement alignées avec le modèle de développement standard de GitHub.

Utilisation de GitHub Actions comme couche d’exécution

Les agents n’exécutent pas de tâches directement sur votre ordinateur. Au lieu de cela, GitHub fournit des environnements d’exécution via des flux de travail alimentés par GitHub Actions.

Un flux de travail est un processus défini par YAML qui exécute des travaux en réponse aux événements.

Les agents s’appuient sur ces flux de travail pour :

  • Exécuter des tests
  • Valider les modifications
  • Exécuter des tâches d’automatisation
  • Déployer des applications

Copilot agent cloud fonctionne dans un environnement GitHub Actions, ce qui signifie que les flux de travail constituent la base de l’exécution de l’agent.

Flux de travail traditionnels et flux de travail agentique

Les flux de travail de GitHub Actions traditionnels sont généralement déterministes et définis par YAML : vous spécifiez explicitement chaque étape, déclencheur et condition. GitHub Workflows agentiques ajoutent un autre modèle pour l’automatisation des dépôts. Ils vous permettent de décrire le résultat souhaité dans Markdown, de définir des garde-fous dans frontmatter et d’exécuter cette intention à l’aide d’un agent de codage dans GitHub Actions. Ils sont mieux adaptés aux tâches de dépôt ouvertes mais limitées telles que le triage, le rapport, la maintenance de documentation, l'analyse des pannes d'infrastructure et l'amélioration du code. Ils ne remplacent pas les pipelines CI/CD ; ils les étendent avec ce que GitHub décrit comme « IA continue ».

Ce qui rend un flux de travail agentiel différent

Un flux de travail agentique GitHub comporte deux parties principales :

  • Frontmatter pour la configuration, comme les déclencheurs, les autorisations, les outils et les sorties sécurisées
  • Instructions Markdown qui décrivent le travail en langage naturel

Markdown exprime l’intention, tandis que le frontmatter définit les limites. Le flux de travail est ensuite compilé dans un fichier de verrouillage que GitHub Actions exécute.

on: schedule: daily
permissions: contents: read issues: read pull-requests: read
safe-outputs: create-issue: title-prefix: "[repo-status] " labels: [report]
tools: github:

Daily Repository Status Report
Create a daily report for maintainers.
Include:
Recent activity (issues, PRs, commits)
Key highlights and risks
Recommended next steps
Keep the report concise and link to relevant issues and pull requests.

Dans cet exemple, le frontmatter (entre ---) définit comment et quand le flux de travail s’exécute, ce qu’il peut accéder et quelles actions sont autorisées.

Markdown ci-dessous définit l’intention du flux de travail en langage naturel. Un agent interprète cette intention et produit des sorties structurées, qui sont ensuite appliquées via des étapes contrôlées et modifiables.

Contrairement aux flux de travail de GitHub Actions traditionnels, qui définissent explicitement chaque étape, les flux de travail agentiques se concentrent sur la description des résultats. L’agent détermine comment atteindre l’objectif sous les contraintes définies dans le frontmatter.

Déclenchement et interaction avec les flux de travail

Les flux de travail peuvent être déclenchés de plusieurs façons :

  • Automatiquement par le biais d’événements tels que le push ou le pull request
  • Utilisation manuelle de l’événement workflow_dispatch
  • Par programmation via l’API GitHub

Les agents peuvent s’appuyer sur ces déclencheurs pour exécuter des tâches ou valider les modifications après avoir apporté des mises à jour à un référentiel.

Chaque exécution de flux de travail exécute des travaux dans des environnements isolés, garantissant ainsi une exécution cohérente et sécurisée.

Que se passe-t-il lors d'une session d'agent

Les séances avec les agents sont observables et interactives.

Pendant une session, vous pouvez :

  • Surveiller la progression dans un journal de session
  • Voir quelles actions l’agent effectue
  • Fournir des commentaires ou ajuster la tâche
  • Examiner la pull request finale

L’agent s’adapte en fonction des commentaires et continue de fonctionner jusqu’à ce que la tâche soit terminée.

Flux d’exécution de l’agent de bout en bout

En mettant tout ensemble, une interaction d’agent classique avec GitHub ressemble à ceci :

  1. Une tâche est assignée via un ticket, une discussion ou une CLI
  2. L’agent sélectionne le référentiel et la branche de base
  3. L’agent analyse la base de code et planifie des changements.
  4. Les opérations d’API sont utilisées pour créer des branches et des commits.
  5. Une pull request est ouverte
  6. Flux de travail exécutés pour valider ou déployer des modifications
  7. L’utilisateur examine, approuve ou demande des mises à jour

Ce flux garantit que toutes les activités de l’agent sont les suivantes :

  • Étendue à un référentiel
  • Contrôlé par les autorisations
  • Exécuté par le biais de flux de travail
  • Visible et modifiable

À retenir

Les agents sur GitHub ne fonctionnent pas en dehors de la plateforme. Ils interagissent par le biais d’API, de flux de travail et de structures de référentiel qui appliquent des autorisations, fournissent des environnements d’exécution et permettent la collaboration via des demandes d’extraction.

Ensuite, vous allez découvrir comment le protocole MCP (Model Context Protocol) étend ces fonctionnalités en permettant aux agents de se connecter à d'autres outils et services au-delà de GitHub.