Work Chain
Scopri come eseguire in batch più issue in sequenza usando le work chain - crea catene, usa i suggestedPrompt per un'esecuzione precisa, traccia il progresso e gestisci la risoluzione sequenziale delle issue.
Le work chain sono il sistema di esecuzione batch di CodeCourier per le issue. Invece di eseguire le issue una alla volta, puoi raggruppare più issue in una work chain ed eseguirle in sequenza - ogni issue viene risolta in ordine, e la successiva inizia solo dopo il completamento della precedente. Questo è ideale per correzioni correlate che devono essere applicate in una sequenza specifica, come una serie di patch di sicurezza o un insieme coordinato di task di refactoring.
Cosa sono le Work Chain?
Una work chain è un elenco ordinato di issue collegato a un singolo workflow e a una configurazione di esecuzione. Quando avvii una catena, CodeCourier elabora ogni issue in sequenza:
- La prima issue viene presa in carico e viene avviato un workflow run
- Il run viene eseguito in una sandbox, applicando modifiche al codice e creando una PR
- Una volta completato il run, viene elaborata la issue successiva della catena
- Questo continua finché tutte le issue non sono risolte o si verifica un errore
Esecuzione sequenziale
Work Chain vs. Sprint Chain
Le work chain e le sprint chain sono concetti distinti in CodeCourier, sebbene condividano l’idea di esecuzione sequenziale:
| Work Chain | Sprint Chain | |
|---|---|---|
| Input | Issue (scoperte o manuali) | Workflow run da un piano di sprint |
| Fonte del prompt | Il suggestedPrompt o la description di ogni issue | Prompt a livello di sprint e contesto di pianificazione |
| Caso d’uso | Correzione in batch di bug o miglioramenti scoperti | Esecuzione di uno sprint pianificato multi-feature |
| Strategia PR | Una PR per issue | Configurabile per sprint |
Usa le work chain quando hai un insieme di issue distinte, risolvibili indipendentemente. Usa le sprint chain quando hai una sequenza pianificata di build di feature.
Come vengono selezionati i prompt
Il prompt passato a ogni workflow run in una catena è determinato dal campo suggestedPromptdella issue. Questo campo è tipicamente popolato dall’Issue Agent IA durante la scansione - contiene istruzioni di correzione specifiche e mirate scritte per quella esatta issue, anziché una descrizione generica.
L’ordine di risoluzione è il seguente:
- Se
suggestedPromptè impostato e non vuoto, viene usato come prompt del run. Questo dà al workflow run istruzioni precise, elaborate dall’IA, su misura per la correzione specifica richiesta. - Se
suggestedPromptnon è impostato, ladescriptiondella issue viene usata come fallback.
Perché suggestedPrompt è importante
suggestedPromptscritto dallo stesso agente IA che ha identificato il problema - sa esattamente cosa va corretto e come. Questo è il motivo per cui le issue scoperte dall’IA in una work chain tendono a produrre workflow run di qualità superiore rispetto alle issue create manualmente con solo una description. Quando crei issue manualmente per l’uso in work chain, prenditi il tempo per scrivere un suggestedPrompt preciso.Creare una Work Chain
Per creare una work chain dalla pagina Issue:
- Seleziona le issue che vuoi includere usando le checkbox nell’elenco delle issue.
- Clicca sul pulsante Crea Work Chain.
- Configura le impostazioni della catena:
- Workflow - Seleziona il blueprint di workflow per tutte le issue della catena
- URL repository GitHub (opzionale) - Repository di destinazione per le PR
- Nome branch (opzionale) - Branch di base per il lavoro
- Invia per creare la catena. Alle issue vengono assegnati un
workChainIde unworkChainOrderche riflettono la loro posizione nella sequenza.
L'ordine delle issue è importante
Come funziona l’esecuzione
Una volta avviata una work chain, l’esecuzione segue questo schema per ogni issue:
- Il
suggestedPromptdella issue (o ladescriptionse non è impostato alcun prompt) viene usato come prompt del run. - Viene avviato un workflow run usando il workflow, l’URL GitHub e il branch configurati della catena.
- La issue viene collegata al run e il suo stato passa a
running. - Quando il run si completa, lo stato della issue viene aggiornato a
completedofailed. - Se il run ha avuto successo, la catena avanza alla issue successiva. Se è fallito, la catena si mette in pausa per la revisione.
Tracciamento dello stato della catena
Le work chain hanno un proprio stato di ciclo di vita:
| Stato | Descrizione |
|---|---|
pending | La catena è stata creata ma l’esecuzione non è ancora iniziata. |
running | Una delle issue della catena è attualmente in elaborazione. |
completed | Tutte le issue della catena sono state risolte con successo. |
failed | Una issue della catena è fallita. La catena è in pausa alla issue fallita. |
cancelled | La catena è stata annullata manualmente dall’utente. |
Campi di una Work Chain
| Campo | Tipo | Descrizione |
|---|---|---|
title | string | Nome visualizzato della work chain |
description | string (opzionale) | Descrizione dello scopo della catena |
issueIds | array di ID | Elenco ordinato delle issue nella catena |
workflowId | ID | Il blueprint di workflow usato per tutti i run |
githubRepoUrl | string (opzionale) | URL del repository GitHub di destinazione |
branchName | string (opzionale) | Branch di base per le modifiche al codice |
status | enum | Stato attuale della catena: pending, running, completed, failed, cancelled |
Monitorare il progresso della catena
Il progresso della work chain viene mostrato in tempo reale nella pagina Issue. Puoi vedere:
- Lo stato complessivo della catena e la percentuale di completamento
- Quale issue è attualmente in elaborazione
- Gli stati individuali delle issue all’interno della catena
- I link ai workflow run creati per ogni issue
- Le pull request generate dalle issue completate
Se una issue nella catena fallisce, puoi esaminare l’errore, modificare il prompt suggerito della issue e riprovare la catena a partire dalla issue fallita.
Prossimi passi
Panoramica delle Issue
Torna alla panoramica delle Issue per una comprensione generale.
Answering Session
Affina domande e assunzioni dalle issue session prima di eseguire le catene.
Monitoring
Scopri il monitoring dei workflow run e il tracciamento dell'esecuzione.
Issue Session
Scopri le issue automaticamente con sessioni di scansione basate su IA.