Work Chains
Découvrez comment exécuter plusieurs issues en séquence par lot grâce aux work chains - créer des chaînes, utiliser les suggestedPrompt pour une exécution précise, suivre la progression et gérer la résolution séquentielle des issues.
Les work chains sont le système d’exécution par lot de CodeCourier pour les issues. Plutôt que d’exécuter les issues une par une, vous pouvez regrouper plusieurs issues dans une work chain et les exécuter séquentiellement - chaque issue est résolue dans l’ordre, l’issue suivante ne démarrant qu’une fois la précédente terminée. C’est idéal pour des corrections liées qui doivent être appliquées dans un ordre précis, comme une série de correctifs de sécurité ou un ensemble coordonné de tâches de refactoring.
Que sont les Work Chains ?
Une work chain est une liste ordonnée d’issues liée à un workflow unique et à une configuration d’exécution. Lorsque vous démarrez une chaîne, CodeCourier traite chaque issue séquentiellement :
- La première issue est prise en charge et un workflow run est lancé
- Le run s’exécute dans une sandbox, applique les modifications de code et crée une PR
- Une fois le run terminé, l’issue suivante de la chaîne est traitée
- Cela continue jusqu’à ce que toutes les issues soient résolues ou qu’un échec survienne
Exécution séquentielle
Work Chains vs. Sprint Chains
Les work chains et les sprint chains sont des concepts distincts dans CodeCourier, bien qu’elles partagent l’idée d’exécution séquentielle :
| Work Chains | Sprint Chains | |
|---|---|---|
| Entrée | Issues (découvertes ou manuelles) | Workflow runs d’un plan de sprint |
| Source du prompt | Le suggestedPrompt ou la description de chaque issue | Prompt au niveau du sprint et contexte de planification |
| Cas d’usage | Correction par lot de bugs ou d’améliorations découverts | Exécution d’un sprint multi-fonctionnalités planifié |
| Stratégie de PR | Une PR par issue | Configurable par sprint |
Utilisez les work chains lorsque vous avez un ensemble d’issues distinctes et corrigeables indépendamment à résoudre. Utilisez les sprint chains lorsque vous avez une séquence planifiée de constructions de fonctionnalités.
Comment les prompts sont sélectionnés
Le prompt transmis à chaque workflow run d’une chaîne est déterminé par le champ suggestedPromptde l’issue. Ce champ est généralement renseigné par l’Issue Agent IA pendant le scan - il contient des instructions de correction spécifiques et ciblées rédigées pour cette issue exacte, plutôt qu’une description générique.
L’ordre de résolution est le suivant :
- Si
suggestedPromptest défini et non vide, il est utilisé comme prompt du run. Cela donne au workflow run des instructions précises, rédigées par l’IA, adaptées à la correction spécifique requise. - Si
suggestedPromptn’est pas défini, ladescriptionde l’issue est utilisée comme solution de repli.
Pourquoi suggestedPrompt compte
suggestedPromptrédigé par le même agent IA qui a identifié le problème - il sait exactement ce qui doit être corrigé et comment. C’est pourquoi les issues découvertes par l’IA dans une work chain tendent à produire des workflow runs de meilleure qualité que les issues créées manuellement avec seulement une description. Lorsque vous créez des issues manuellement pour une utilisation dans des work chains, prenez le temps de rédiger un suggestedPrompt précis.Créer une Work Chain
Pour créer une work chain depuis la page Issues :
- Sélectionnez les issues que vous voulez inclure à l’aide des cases à cocher dans la liste des issues.
- Cliquez sur le bouton Créer une Work Chain.
- Configurez les paramètres de la chaîne :
- Workflow - Sélectionnez le blueprint de workflow pour toutes les issues de la chaîne
- URL de repository GitHub (optionnelle) - Repository cible pour les PR
- Nom de branche (optionnel) - Branche de base pour le travail
- Soumettez pour créer la chaîne. Les issues se voient attribuer un
workChainIdet unworkChainOrderreflétant leur position dans la séquence.
L'ordre des issues compte
Comment fonctionne l’exécution
Une fois qu’une work chain est démarrée, l’exécution suit ce schéma pour chaque issue :
- Le
suggestedPromptde l’issue (ou ladescriptionsi aucun prompt n’est défini) est utilisé comme prompt du run. - Un workflow run est lancé en utilisant le workflow, l’URL GitHub et la branche configurés de la chaîne.
- L’issue est liée au run et son statut passe à
running. - Lorsque le run se termine, le statut de l’issue est mis à jour vers
completedoufailed. - Si le run a réussi, la chaîne avance vers l’issue suivante. S’il a échoué, la chaîne se met en pause pour examen.
Suivi du statut de la chaîne
Les work chains ont leur propre statut de cycle de vie :
| Statut | Description |
|---|---|
pending | La chaîne a été créée mais l’exécution n’a pas encore commencé. |
running | L’une des issues de la chaîne est en cours de traitement. |
completed | Toutes les issues de la chaîne ont été résolues avec succès. |
failed | Une issue de la chaîne a échoué. La chaîne est en pause à l’issue en échec. |
cancelled | La chaîne a été annulée manuellement par l’utilisateur. |
Champs d’une Work Chain
| Champ | Type | Description |
|---|---|---|
title | string | Nom d’affichage de la work chain |
description | string (optionnel) | Description de l’objectif de la chaîne |
issueIds | tableau d’ID | Liste ordonnée des issues de la chaîne |
workflowId | ID | Le blueprint de workflow utilisé pour tous les runs |
githubRepoUrl | string (optionnel) | URL du repository GitHub cible |
branchName | string (optionnel) | Branche de base pour les modifications de code |
status | enum | Statut actuel de la chaîne : pending, running, completed, failed, cancelled |
Suivre la progression de la chaîne
La progression de la work chain est affichée en temps réel sur la page Issues. Vous pouvez voir :
- Le statut global de la chaîne et le pourcentage d’achèvement
- Quelle issue est actuellement en cours de traitement
- Les statuts individuels des issues au sein de la chaîne
- Les liens vers les workflow runs créés pour chaque issue
- Les pull requests générées à partir des issues terminées
Si une issue de la chaîne échoue, vous pouvez examiner l’échec, modifier le prompt suggéré de l’issue, et relancer la chaîne à partir de l’issue en échec.
Prochaines étapes
Vue d'ensemble des Issues
Retournez à la vue d'ensemble des Issues pour une compréhension globale.
Answering Sessions
Affinez les questions et hypothèses des issue sessions avant d'exécuter des chaînes.
Monitoring
Découvrez le monitoring des workflow runs et le suivi de l'exécution.
Issue Sessions
Découvrez des issues automatiquement grâce aux sessions de scan pilotées par l'IA.