Affectation, suivi et résolution des problèmes des tâches de l’agent de codage Copilot
L’agent de codage Copilot GitHub agit en tant que collègue autonome qui fonctionne directement à l’intérieur de GitHub. Une fois activée, vous pouvez l'assigner à une tâche, suivre sa progression en temps réel et guider son travail en laissant des commentaires sur ses pull requests. Cette unité explique comment affecter des problèmes à Copilot à l’aide de GitHub.com, GitHub Mobile, de l’API ou de l’interface CLI. Il vous montre également comment suivre le travail de l’agent et itérer avec lui, et fournit un playbook de résolution des problèmes courants.
À la fin de cette unité, vous pourrez :
- Affectez des problèmes à Copilot à l’aide de GitHub.com, GitHub Mobile, de l’API ou du CL.
- Surveillez la progression de Copilot à travers les timelines des pull requests et les journaux de session.
- Itérez sur le travail de Copilot en commentant ses demandes de tirage.
- Comprendre les règles d’approbation pour les pull requests générées par un agent.
- Résolvez les problèmes courants lors de la délégation de tâches à Copilot.
Affectation de problèmes à Copilot
Lorsque vous attribuez un problème à Copilot, l’agent le reconnaît en ajoutant une 👀 réaction au problème. Il crée ensuite une branche dédiée copilot/, ouvre une pull request préliminaire liée au problème et démarre une session agent dans un environnement alimenté par GitHub Actions. Lorsqu'il fonctionne, Copilot envoie des validations à la branche et met à jour le corps de la pull request avec des messages d'état. Une fois la tâche terminée, Copilot publie un événement « Copilot a terminé le travail » et demande votre examen.
Sur GitHub.com, vous affectez un problème à Copilot comme vous le feriez pour un autre utilisateur. Accédez à l’onglet Problèmes du référentiel, ouvrez le problème que vous souhaitez déléguer, puis, dans la barre latérale droite, sous Assignees, sélectionnez Copilot. Copilot reçoit le titre du problème, sa description, ainsi que tous les commentaires existants au moment de l’affectation. Les commentaires ultérieurs sur le problème ne sont pas vus par l’agent, alors ajoutez de nouvelles informations sous forme de commentaires directement dans la pull request de l’agent.
Vous pouvez également affecter des problèmes à Copilot à partir de la liste des problèmes sur la page Problèmes d’un référentiel, à partir de GitHub Projects ou à l’aide de GitHub Mobile. Pour les flux de travail en ligne de commande, vous pouvez utiliser l’interface CLI GitHub (gh issue edit) pour ajouter Copilot en tant que bénéficiaire.
Affectation via l’API
Vous pouvez affecter des problèmes à Copilot par programmation via l’API GraphQL. Tout d’abord, vérifiez que l’agent de codage est disponible en interrogeant suggestedActors dans le référentiel et en vérifiant que copilot-swe-agent apparaît en tant qu’acteur suggéré. Ensuite, récupérez l’ID du référentiel. Pour créer et attribuer une nouvelle issue, utilisez la mutation createIssue, en passant l’ID du dépôt et l’ID du bot de Copilot. Pour affecter un problème existant, récupérez l’ID de problème, puis utilisez la replaceActorsForAssignable mutation pour ajouter Copilot en tant que bénéficiaire. Cette approche est utile pour intégrer Copilot dans des flux de travail automatisés.
Vérification de la disponibilité
query {
repository(owner: "octo-org", name: "octo-repo") {
suggestedActors(capabilities: [CAN_BE_ASSIGNED], first: 100) {
nodes { login __typename ... on Bot { id } ... on User { id } }
}
}
}
Obtenir l’ID du référentiel
query {
repository(owner: "octo-org", name: "octo-repo") { id }
}
Créer et attribuer un nouveau problème
mutation {
createIssue(
input: {
repositoryId: "REPOSITORY_ID",
title: "Implement comprehensive unit tests",
body: "DETAILS",
assigneeIds: ["BOT_ID"]
}
) {
issue { id title assignees(first: 10) { nodes { login } } }
}
}
Affecter un problème existant
query {
repository(owner: "monalisa", name: "octocat") {
issue(number: 9000) { id title }
}
}
mutation {
replaceActorsForAssignable(
input: { assignableId: "ISSUE_ID", actorIds: ["BOT_ID"] }
) {
assignable {
... on Issue {
id title
assignees(first: 10) { nodes { login } }
}
}
}
}
Suivi de la progression de Copilot
Après avoir affecté un problème à GitHub Copilot, l’agent fournit des signaux visibles afin de pouvoir suivre son travail du début à la fin.
Confirmation immédiate. Peu après avoir attribué un problème, Copilot ajoute une réaction 👀 au problème.
Brouillon de création d’une demande de tirage. En quelques secondes, Copilot ouvre une demande de tirage provisoire liée au problème d’origine. Un nouvel événement apparaît dans la chronologie du problème qui montre le pull request.
Session d’agent active. Copilot démarre une session d’agent pour travailler sur votre problème. Un événement « Copilot a commencé le travail » s’affiche dans la chronologie de la demande de tirage. Lors de son exécution, Copilot met à jour le corps de la pull request avec des messages d’état réguliers et soumet des commits à la branche dédiée.
Journaux de session en direct. Toutes vos sessions passées et présentes sont visibles à partir de la page Agents. Cliquez sur Afficher la session sur la demande de tirage pour ouvrir la visionneuse du journal de session en direct et regarder les actions de Copilot en temps réel. Si vous devez arrêter Copilot, cliquez sur Arrêter la session dans la visionneuse.
Complétion et révision. Lorsque Copilot termine son travail, la session de l’agent se termine automatiquement. Un événement « Copilot finished work » s’affiche dans la chronologie des pull requests, et Copilot vous demande une révision, déclenchant une notification.
Itérer avec Copilot
Vous guidez le travail de Copilot de la même façon que vous guidez un contributeur humain par le biais de commentaires et de révisions. Mentionnez @copilot dans un commentaire de pull request afin de demander des modifications. Seuls les commentaires des utilisateurs disposant d’une autorisation d’écriture dans le référentiel sont traités. Copilot publie une réaction 👀 sur votre commentaire pour confirmer qu’il a reçu la demande, puis ajoute « Copilot a commencé le travail » à la chronologie de la demande de tirage au fur et à mesure qu’il continue. Cela vous permet d’itérer sur le travail de Copilot sans quitter votre flux de travail de révision normal.
Approbations et flux de travail
Les demandes de tirage créées par Copilot sont toujours dans l’état brouillon. Ils nécessitent une approbation humaine avant la fusion et les flux de travail GitHub Actions déclenchés par l’agent ne s’exécutent pas automatiquement. Pour exécuter des flux de travail sur une demande de tirage Copilot, cliquez sur Approuver et exécutez des flux de travail dans la zone de fusion. Le développeur qui a demandé à Copilot de créer le pull request ne peut pas l’approuver, ce qui respecte les règles « révisions requises » de votre dépôt et garantit une revue indépendante avant la fusion.
Résolution des problèmes liés à l’agent de codage Copilot
Copilot non dans la liste « Assignés »
Vérifiez que vous êtes sur un plan éligible (Pro, Pro+, Business, Entreprise). Vérifiez que l’agent n’est pas désactivé au niveau de l’organisation/dépôt. Vérifiez sur la page des fonctionnalités :
github.com/settings/copilot/features.Dépôts personnels de l'utilisateur géré par l'entreprise (EMU)
Agent non disponible ; utilisez des dépôts appartenant à l’organisation (nécessite des exécuteurs hébergés par GitHub).
« Impossible de créer une demande de tirage » dans la conversation
Vérifiez que l’agent est disponible. Dans les IDE, mentionnez @github dans votre invite, non obligatoire sur GitHub.com.
Attribution d’un problème, mais rien ne s’est produit
Rafraîchissez la page, cherchez la réaction 👀, puis un brouillon de la demande de tirage.
Demande de tirage créée, mais aucune progression
Vérifiez la chronologie des demandes de tirage pour « Copilot a commencé le travail » ; ouvrez Afficher les journaux de session.
L’agent ne répond pas au commentaire de la demande de tirage
Vérifiez que vous disposez d’un accès en écriture et mentionné @copilot sur la demande de tirage de l’agent.
Apparaît bloqué
Il est possible que le système se rétablisse ; les sessions expirent après une heure. Réessayez en désaffectant/réaffectant le problème ou en envoyant à nouveau le commentaire.
Les actions ne sont pas en cours d’exécution
Cliquez sur Approuver et exécuter des flux de travail dans la zone de fusion.
Les push ne passent pas l’intégration continue
Fournissez des instructions claires au niveau du référentiel via .github/copilot-instructions.md afin que l’agent puisse se valider automatiquement avec des tests/linters.
Avertissements de pare-feu
L’Internet est limité par défaut ; les avertissements répertorient l’adresse et la commande bloquées. Ajustez en personnalisant ou en désactivant le pare-feu pour l’agent de codage GitHub Copilot.
Images non récupérées
La taille maximale de l’image est de 3,00 Mio ; les images plus volumineuses sont supprimées.
Avec une boucle assign-track-iterate fiable en place, vous pouvez améliorer la cohérence et la vitesse en personnalisant l’environnement de l’agent, en l’étendant avec les outils MCP et en appliquant une validation robuste avant la fusion.