Opprett en pipeline-mal
Pipeline-maler lages i innstillingene for arbeidsområdet. Oppføringen Pipelines i sidepanelet til arbeidsområdet er kjøringskøen, ikke mallisten — den har ingen «opprett mal»-handling.
For hva hver stegtype, kroppsnøkkel og konfigurasjonsfelt betyr, se Pipeline-stegtyper.
Opprett en mal
Seksjon med tittelen «Opprett en mal»- Gå til Innstillinger → Arbeidsområde → Pipeline-maler
(
/workspaces/<workspace-id>/settings/pipelines). - Trykk Ny mal.
Det finnes ingen id-dialog. Editoren åpnes umiddelbart på et forhåndsutfylt
skjelett som heter Ny pipeline, med en automatisk tildelt id (pipeline_1,
deretter pipeline_2, …). Klikk på tittelen i toppteksten for å gi den nytt
navn.
Lerretet er ikke tomt: en inngangsnode Trigger, én promptagentnode merket Step og en terminal vaktpost som avslutter kjøringen. Vaktposten tegnes ikke. Editoren kobler den skjulte terminalen til hver nåbar mottaker, slik at arbeid du kobler på etter Step, fortsatt kjører.
Legg til noder
Seksjon med tittelen «Legg til noder»Sidepanelet Nodebibliotek ligger permanent til venstre i editoren. Filtrer det med boksen Søk i noder, og dra en oppføring ut på lerretet — noden lander der du slipper den, uten innkommende kobling.
| Palettenode | Stegtype | Hva den gjør |
|---|---|---|
| Bash script | listen | Kjører et skallskript med {{state}}-substitusjon; ingen agent sendes ut |
| Open conversation | listen | Åpner kjøringens ene synlige område og utsjekkingen der; agentnoder blir med i rommet |
| Clone PR branch | listen | Finner PR-ens head-gren via gh pr view og kloner den til kjøringskatalogen |
| Post PR comment | listen | Publiserer samlede funn til PR-en som en GitHub-gjennomgangskommentar |
| Reviewer (prompt) | listen | Sender ut en spesialisert reviewer-agent; settes på pause til agenten leverer |
| Consolidate (join) | join | Venter på flere oppstrømsgrener og ber deretter en agent slå sammen utdataene deres |
| Custom prompt | listen | Generisk promptstyrt node som rutes gjennom kroppen promptAgent |
| Post to space | listen | Sender en melding til et meldingsområde |
| Condition / switch (router) | router | Forgrener flyten på en tilstandsverdi |
| If file exists (router) | router | Ruter "true" når en sti finnes under klonen, ellers "false" |
| Any file exists (OR router) | router | Ruter "true" når en av de oppgitte stiene finnes |
| All conditions (AND router) | router | Ruter "true" bare når alle oppgitte stier finnes |
| Team dispatch | listen | Sender ut et helt team og settes på pause til det er ferdig |
| Approval gate | listen | Settes på pause i påvente av en godkjenningsavgjørelse |
| For each (map) | forEach | Gjengir en prompt per element og sender deretter ut agenten én gang med promptene slått sammen |
| Call sub-pipeline | listen | Kjører en annen mal som et nestet steg |
| Clean up worktrees | listen | Fjerner foreldede isolerte worktreer; deterministisk, ingen agent sendes ut |
Biblioteket grupperer disse under Flyt og logikk, PR-gjennomgang, Agenter, Meldinger og Kode. Det finnes ingen Demogruppe.
Koble noder sammen
Seksjon med tittelen «Koble noder sammen»Hver arbeidsnode har en sirkulær utgangsport på høyre kant. Dra fra den
porten til en annen node for å koble dem sammen. Startutløsere er like: hver av
dem har sin egen port, så en ledning fra Tidsplan går ikke også ut fra
Manuell kjøring. Trykk Legg til steg (+) rett etter en node for å
sette inn en type etter den. Hold markøren over midtpunktet på en eksisterende
kant, og trykk × for å koble den fra.
Koblinger redigeres også fra noden som mottar dem:
- Velg noden nedstrøms. Konfigurasjonspanelet åpnes til høyre.
- Rull til Triggers from og trykk på brikken for hver oppstrømsnode denne skal lytte til. Å trykke på en valgt brikke fjerner koblingen.
- Hvis en oppstrømsnode er en ruter, vises en blokk Rutenøkler under
brikkene, med ett felt Rutenøkkel fra <node> per ruter-kant. Skriv
inn nøkkelen den kanten fyrer på —
trueellerfalsefor fil-finnes-ruterne, eller navnet på tilfellet for en bryter.
Hver utløsernode er et inngangspunkt. En node kan lytte til flere oppstrømsnoder (fan-in) og føre videre til flere nedstrømsnoder (fan-out), og grafen må forbli asyklisk — ingenting i editoren hindrer deg i å koble en syklus, så sjekk arbeidet ditt.
Den terminale vaktposten filtreres bort fra lerretet, så den kan ikke velges. Editoren kobler den på nytt til hver nåbar mottaker hver gang grafen endres, slik at arbeid du kobler på etter den forhåndsplasserte Step-noden, fortsatt kjører. En tom graf (utløser uten arbeidsefterfølgere) lister opp utløseren selv, slik at en kjøring fullføres umiddelbart.
Konfigurer en node
Seksjon med tittelen «Konfigurer en node»Velg en node for å åpne konfigurasjonspanelet. Hvilke felt som vises, avhenger av nodens kropp.
Hver node har Etikett, Inndatanøkler (kommaseparerte tilstandsnøkler som leses ved kjøring) og, under Avansert, Reducer, Tidsavbrudd (ms), Nye forsøk, Fortsett hvis dette steget feiler og Utdataskjema. Lytte- og join-noder kan også bytte Type mellom de to.
Åpne samtale
Seksjon med tittelen «Åpne samtale»Legger til velgeren Arkiv som skal klones (hvilke repoer i arbeidsområdet som skal sjekkes ut; tomt betyr ingen), feltet Områdenavn og avmerkingsboksen Åpne en samtale i det. Når avmerkingsboksen er på, navngir Samtalenavn strømmen rommet åpnes med. Agentnoder blir med i dette rommet — de åpner ikke sitt eget.
Promptagent
Seksjon med tittelen «Promptagent»Legger til Agent (hvilken agent som skal sendes ut), Promptmal (bruk
{{key}} for å referere til inndata eller utdata fra oppstrømsnoder) og
Utdatanøkkel.
Tidsavbrudd (ms) er i millisekunder, ikke sekunder — 900000 er
15 minutter. Oppgir du 900, får steget 0,9 sekunder.
Samtalemodusen en promptagentnode kjører under, har ikke noe editorfelt på
agentnoden. Den ligger i extras['mode'] (chat, plan eller review) på
Open conversation-noden som opprettet rommet (standard review). Angir du
den på et agentsteg, ignoreres den. Nøkkelen matches eksakt: enhver annen
stavemåte ignoreres i stillhet.
Bash-skript
Seksjon med tittelen «Bash-skript»Legger til Bash-skript. Det finnes ingen felt for arbeidskatalog eller miljøvariabler, fordi ingen av delene kan konfigureres:
- Hvert bash-steg i en kjøring deler arbeidskatalogen
<cc_root>/pipelines/<runId>/. GITHUB_TOKENinjiseres fra lageret for påloggingsinformasjon, såghoggit clone https://x-access-token:$GITHUB_TOKEN@…fungerer uten oppsett.- Skriptet startes som den bokstavelige kjørbare filen
bash, såbashmå ligge iPATHpå serververten. Det er noe å tenke på i Windows.
En ruter evaluerer en betingelse og returnerer en rutenøkkel; motoren fyrer bare den nedstrømskanten hvis rutenøkkel samsvarer, og markerer de andre grenene som hoppet over.
Når du velger en ruter, erstattes feltet Utdatanøkkel med betingelseseditoren. Velg én av de fire modusene:
- Fil(er) finnes — hvilken som helst — ruter
"true"når en av de oppgitte stiene finnes. - Filer finnes — alle — ruter
"true"bare når alle oppgitte stier finnes. - Sammenligning — sammenligner en tilstandsverdi mot en literal.
- Bryter — ruter på verdien til en tilstandsnøkkel, med et standardtilfelle.
Angi deretter de samsvarende rutenøklene på de utgående kantene (se Koble noder sammen).
Boolske grupper med and / or / not støttes av kroppen, men kan ikke lages
fra dette skjemaet — de krever et håndskrevet predikattre under
extras.predicate. Det fullstendige vokabularet for predikater og operatorer
finnes i Pipeline-stegtyper.
Sammenføyning
Seksjon med tittelen «Sammenføyning»Ingen egen konfigurasjon: den venter på alle oppstrømsstegene sine.
Godkjeningsport
Seksjon med tittelen «Godkjeningsport»Porten sender ut godkjenneragenten i en skjult samtale med portens prompt og
setter seg på pause. Godkjenneren innhenter avgjørelsen din i samtalen og
leverer den med submit_output som
{ "decision": "approved" | "rejected", "reason": "..." }. Avgjørelsen havner
under utdatanøkkelen (standard approval_decision), slik at en bryterruter
nedstrøms kan forgrene seg på den.
Sett Agent til godkjenneren og Promptmal til portens spørsmål. Porten
løses ut gjennom submit_output som { "decision": "approved" | "rejected", "reason": "..." }. Reviewer (prompt)-noder leverer på samme måte.
Teamutsending
Seksjon med tittelen «Teamutsending»Legger til Team-ID og Dispatch-modus. Velgeren tilbyr nøyaktig to moduser:
allParallel— én oppgave per medlem, settes på pause til alle er ferdige.manager— sender ut lederen, som delegerer.
Enhver annen lagret verdi oppfører seg som allParallel. Sett Reducer til
append for å samle hvert medlems resultat i en liste under utdatanøkkelen.
For hver og Kall underpipeline
Seksjon med tittelen «For hver og Kall underpipeline»For hver mapper over tilstandsnøkkelen items som standard
(extras.iterableKey / extras.itemKey på noden). Den gjengir prompten sin én
gang per element ({{item}} som standard) og sender ut agenten én gang med
disse promptene sammenkoblet. En tom samling fullføres umiddelbart med en tom
liste. Det er ikke én parallell utsending per element.
Kall underpipeline settes på pause til barnekjøringen når en
terminaltilstand, og fletter deretter barnets endelige tilstand inn under
utdatanøkkelen (standard subflow_result). Pek den mot et barn med
extras.templateId. En mal kan ikke kalle seg selv; et barn som feiler eller
avbrytes, får foreldresteget til å feile, og det mater deretter stegets policy
for nye forsøk og fortsett-ved-feil.
Erklær inndata og tillat manuelle kjøringer
Seksjon med tittelen «Erklær inndata og tillat manuelle kjøringer»Begge ligger bak Manuell kjøring i toppteksten til editoren.
- Trykk Manuell kjøring.
- Slå på Tillat manuell kjøring. Denne bryteren lagres umiddelbart — den
oppretter (eller sletter) utløserraden
manualsom gjør at malen vises i kjøringsvelgeren. - Angi Maks parallelle kjøringer hvis du vil ha en øvre grense (la stå
tomt for ubegrenset). Ekstra starter venter i tilstanden
queuedtil en plass blir ledig. - Trykk Legg til inndata for hvert skjemafelt en manuell kjøring skal samle inn:
| Felt | Beskrivelse |
|---|---|
| Nøkkel | Tilstandsnøkkelen verdien lagres under; referer til den som {{key}} |
| Etikett | Visningsetikett (standard er nøkkelen) |
| Type | Tekst, Flerlinjetekst, Tall, Bryter, Velg, Arkiv |
| Alternativer | Kommaseparerte valg, bare for Velg |
| Standardverdi | Forhåndsutfylt verdi |
| Plassholder | Vinketekst inne i det tomme feltet |
| Hjelpetekst | Hjelpetekst under feltet |
| Påkrevd | Om kjøringsskjemaet blokkerer på en tom verdi |
En inndata av typen Arkiv viser en velger over arbeidsområdets repoer og
fyller repo_id, repo_local_path, repo_full_name og — når repoet har en
GitHub-remote — repo_owner og repo_name inn i kjøringens nyttelast.
- Trykk Lagre i dialogen. Endringer i inndata flettes inn i utkastet; de beholdes når du lagrer malen.
Lagre og aktiver
Seksjon med tittelen «Lagre og aktiver»- Trykk Lagre i toppteksten til editoren. Toppteksten viser «Ulagrede endringer» til du gjør det.
- Gå tilbake til Innstillinger → Arbeidsområde → Pipeline-maler og kontroller at bryteren i raden til malen er på. Motoren nekter å starte en deaktivert mal, og en deaktivert mal vises aldri i kjøringsvelgeren.
- For å starte den automatisk, dra en utløser fra nodebiblioteket ut på lerretet — se Sett opp pipeline-utløsere.