Skip to main content

Développer des flux de travail agentiques dans GitHub Actions

Permet Flux de travail GitHub pilotés par des agents de transformer les instructions Markdown en automatisations alimentées par des agents de codage tiers.

Remarque

Flux de travail GitHub pilotés par des agents sont en préversion publique cours et sont susceptibles de changer.

Introduction

Flux de travail GitHub pilotés par des agents vous permet de définir des automatisations de référentiel dans Markdown et de choisir l’agent de codage IA qui les exécute. L’extension gh aw compile chaque flux de travail agentique dans un GitHub Actions flux de travail.

Tout le cycle de vie du flux de travail ( création, débogage et optimisation) est lui-même agentique. Vous décrivez ce que vous souhaitez dans le langage naturel et un agent de codage crée, affine et résout les problèmes du flux de travail pour vous.

Ce tutoriel utilise un agent de codage pour créer un réviseur de demande de tirage automatisé qui vérifie si les modifications sont correctement testées.

Prerequisites

Avant de commencer, assurez-vous d’avoir :

  • Référentiel sur lequel GitHub Actions l’option est activée et vous avez accès en écriture
  • GitHub CLI version 2.0.0 ou ultérieure installée et authentifiée
  • Accès à un agent de codage pris en charge, tel que Claude Code, OpenAI Codexou Google Gemini CLI, ou Copilot pour CLI, et ses informations d’identification requises

Pour authentifier GitHub CLI, exécutez :

gh auth login --scopes repo,workflow

Installation de l’extension gh aw

Installez l’extension Flux de travail GitHub pilotés par des agents pour GitHub CLI:

gh extension install github/gh-aw

Choix d’un agent et configuration de l’authentification

Choisissez l’interface CLI de l’agent qui correspond le mieux à votre flux de travail. Claude Code, OpenAI Codexou Google Gemini CLI, et Copilot pour CLI peut toutes s’exécuter Flux de travail GitHub pilotés par des agents.

Cet article décrit une configuration simple qui ajoute les informations d’identification de l’agent en tant que secret de dépôt. Si vous utilisez Claude Code, OpenAI Codexou Google Gemini CLI, stockez la clé API de l’agent en tant que secret de référentiel.

Interface CLI de l’agentValeur engineSecret du référentiel
Claude Codeclaude
ANTHROPIC_API_KEYcontenant une clé API Anthropic
OpenAI Codexcodex
OPENAI_API_KEY contenant une clé API OpenAI
Google Gemini CLIgemini
GEMINI_API_KEY contenant une clé API Google AI Studio
Copilot pour CLI (valeur par défaut)copilotAucun secret n’est nécessaire pour les référentiels d’organisation (voir ci-dessous). Pour les référentiels personnels, COPILOT_GITHUB_TOKEN contenant une précision personal access token avec Copilot Demandes définies sur Lecture.

D’autres moteurs tels que Pi (expérimental) sont également pris en charge. Pour obtenir la liste complète, consultez la référence d’authentificationFlux de travail GitHub pilotés par des agents.

Facturation de l’organisation pour GitHub Copilot

Si vous utilisez GitHub Copilot dans un référentiel appartenant à l’organisation, vous pouvez utiliser GitHub Actions« intégré GITHUB_TOKEN » au lieu d’un personal access token. Ajoutez copilot-requests: write à votre frontmatter permissions de flux de travail et aucun secret distinct n’est requis. Pour connaître les étapes de configuration, consultez Création de flux de travail agentiques GitHub.

Stockage d’un secret dans l’interface utilisateur GitHub

Pour ajouter un secret pour Claude Code, OpenAI Codexou Google Gemini CLIles dépôts personnels ou GitHub Copilot les dépôts personnels :

  1. Sur GitHub, accédez à votre référentiel.
  2. Sous le nom de votre référentiel, cliquez sur Paramètres.
  3. Dans la barre latérale, cliquez sur Secrets et variables, puis sur Actions.
  4. Cliquez sur Nouveau secret de dépôt.
  5. Dans le champ Nom , entrez le nom du secret à partir du tableau ci-dessus.
  6. Dans le champ Secret , entrez la valeur.
  7. Cliquez sur Ajouter un secret.

Création du flux de travail

Utilisez un agent de codage pour créer le flux de travail à partir d’une description en langage naturel.

  1. À partir de la racine de votre référentiel, initialisez le référentiel pour la création agentique. Cela ajoute des compétences et des instructions qui aident l’agent de codage à créer et modifier des flux de travail :

    gh aw init
    
  2. Démarrez une session d’agent de codage dans le contexte de votre référentiel, par exemple, en utilisant Claude Code, OpenAI Codexou Google Gemini CLI, Copilot pour CLIou en mode agent VS Code.

  3. Utilisez la compétence et décrivez le agentic-workflows flux de travail souhaité :

    Copilot prompt
    /agentic-workflows create a pr reviewer that ensure the changes are tested.
    

    L’agent crée un fichier Markdown de flux de travail dans .github/workflows/, compile le fichier de flux de travail correspondant .lock.ymlGitHub Actions et vous demande d’examiner et de valider les deux fichiers.

  4. Passez en revue le flux de travail généré, puis demandez à l’agent de valider et d’envoyer (push) les fichiers.

Conseil

Vous pouvez utiliser la même approche agentique pour mettre à jour et améliorer le flux de travail après son exécution. Demandez à l’agent d’affiner les critères de révision, d’ajouter des vérifications supplémentaires ou de déboguer une exécution ayant échoué, tout en langage naturel. Si vous modifiez le frontmatter de flux de travail ultérieurement, exécutez gh aw compile avant de valider vos modifications.

Exécution du flux de travail

Le flux de travail généré se déclenche automatiquement sur les demandes d’extraction. Il s’exécute la prochaine fois que vous ouvrez ou mettez à jour une demande de tirage dans votre référentiel.

  1. Ouvrez un pull request dans votre référentiel.
  2. Sur GitHub, accédez à votre référentiel et cliquez sur l’onglet Actions .
  3. Dans la barre latérale gauche, sélectionnez le flux de travail que l’agent a créé.
  4. Une fois l’exécution terminée, le flux de travail laisse une révision de demande de tirage indiquant si les modifications incluent suffisamment de tests.

Étapes suivantes