Sett opp pipeline-utløsere
En utløser er det som starter en pipeline. Hver av dem er en node på lerretet, dratt inn fra Utløsere-delen av nodebiblioteket. Når du velger den noden, åpnes inspektøren dens til høyre — det finnes ingen alltid synlig utløserliste, ingen utløserfane og ingen utløserskjerm.
Åpne en utløserinspektør
Seksjon med tittelen «Åpne en utløserinspektør»- Gå til Innstillinger → Arbeidsområde → Pipeline-maler.
- Trykk på blyanten på raden til malen for å åpne redigereren.
- Velg en utløsernode på lerretet. Panelet til høyre vises med innstillingene til den utløseren. Når ingenting er valgt, er panelet skjult.
Legg til en utløser
Seksjon med tittelen «Legg til en utløser»Utløsere-delen av nodebiblioteket lister opp hver starttype som sin egen
node: manuell, tidsplan, webhook og ett kort per domenehendelse. Søk etter
merged, ticket eller typenavnet (PrMerged), og dra kortet over på
lerretet. En ny mal viser også en spøkelsesflis Legg til en utløser ved
inngangsankeret — velg fra den samme søkbare listen.
Utløseren settes inn med en gang. Nye automatiske utløsere opprettes deaktivert, slik at et slipp ikke starter en kjøring før du har konfigurert den. Bruk På-bryteren i inspektøren til å slå den på, eller søppelbøtteikonet til å slette den.
Tillat manuell kjøring
Seksjon med tittelen «Tillat manuell kjøring»Slipp ned Manuell kjøring (eller velg den fra spøkelsesflisen) og slå på
På i inspektøren dens. Det er dette som gjør at malen vises i
kjøringsvelgeren. Det er ikke et spesialtilfelle — bryteren skriver en helt
vanlig utløserrad med hendelsestypen manual. Den lagres umiddelbart; det er
ingenting å lagre.
Den samme bryteren ligger bak Manuell kjøring i toppteksten til redigereren, der den står sammen med malens deklarerte inndata.
Ved en hendelse
Seksjon med tittelen «Ved en hendelse»Disse hendelsene starter en kjøring:
| Etikett i velgeren | Hendelse |
|---|---|
| Ekstern PR åpnet | ExternalPrDetected |
| PR publisert | PullRequestPublished |
| PR-status endret | PullRequestStatusChanged |
| PR sammenslått | PrMerged |
| Melding mottatt | MessageReceived |
| Sak opprettet | TicketCreated |
| Sakstatus endret | TicketStatusChanged |
| Sak tildelt | TicketAssigned |
| Sak fullført | TicketCompleted |
| Sak mislyktes | TicketFailed |
| Sak avbrutt | TicketCancelled |
| Budsjettgrense krysset | BudgetThresholdCrossed |
| Arkiv lagt til | RepoAdded |
| Møteopptak stoppet | MeetingRecordingStopped |
| Ferdighet oppdatert | SkillUpdated |
| Område slettet | SpaceDeleted |
Det er SpaceDeleted den innebygde pipelinen for worktree-opprydding lytter på:
den bærer id-en til området som ble slettet, slik at kjøringen rydder opp i
nøyaktig det områdets worktrees i stedet for å gå gjennom hele arbeidsområdet.
For hvilke nyttelastnøkler hver hendelse bærer, se referansen for domenehendelser.
Filtrer en hendelsesutløser
Seksjon med tittelen «Filtrer en hendelsesutløser»Velg noden PR-status endret. Statusbrikkene i inspektøren er det eneste
filteret du kan angi i brukergrensesnittet. Trykk på en av merged, closed,
approved, opened eller reopened; utløseren utløses da bare når hendelsens
status samsvarer med én av dem. Hvis ingen brikke er valgt, betyr det ingen
filtrering.
Det finnes ikke noe fritekstfelt for JSON-filtre. En filternøkkel som hendelsens nyttelast ikke bærer, samsvarer aldri, så ikke skriv inn en slik nøkkel for hånd med mindre du har bekreftet den i referansen for domenehendelser.
Etter en tidsplan
Seksjon med tittelen «Etter en tidsplan»Velg noden Tidsplan for å redigere når den utløses. Feltene i inspektøren lagres slik du forlater dem:
| Felt | Beskrivelse |
|---|---|
| Tidsplan (cron eller every:seconds) | Et cron-uttrykk med fem felt, for eksempel 0 9 * * 1, eller et intervall som every:86400. Et bart tall tvinges til every:<n>. |
| Tidssone (valgfritt) | En IANA-sone som Europe/Paris. Standard er UTC. |
| Ved tapte kjøringer | Hva som skal gjøres med utløsninger som ble tapt mens serveren var nede: Kjør én gang slår sammen alle tapte tidsluker til én utløsning ved omstart (standard), Hopp over gjenopptar ved neste framtidige tidsluke. |
Oppsummeringslinjen på lerretets flis skriver bare ut intervallet for formen
every:<seconds>; et cron-uttrykk vises bare som «Tidsplan».
Via en webhook
Seksjon med tittelen «Via en webhook»Når du slipper ned Webhook, opprettes et tilfeldig token. Velg noden for å
kopiere stien POST /webhooks/<token> fra inspektøren.
Tokenet er også HMAC-hemmeligheten: forespørselen må ha
X-Hub-Signature-256: sha256=<hex>, der hex-verdien er HMAC-SHA256(body, token).
En levering som ikke består verifiseringen, avvises og loggføres og kan ikke
spilles av på nytt. Duplikater ignoreres via dedupe-nøkkelen sin.
Hver start er sin egen node i grafen. Å trekke en ledning fra Tidsplan kobler bare til Tidsplan; Manuell kjøring kan ta en annen vei (for eksempel via en betingelsesnode) før den går inn i det samme arbeidet. En kjøring går inn ved den starten som samsvarer med hendelsestypen sin, og hopper over delgrafer som tilhører de andre startene.
Hvordan en utløser når fram til en kjøring
Seksjon med tittelen «Hvordan en utløser når fram til en kjøring»En aktivert utløser der både hendelsestypen og filteret samsvarer, starter en
kjøring med hendelsens nyttelast som kjøringens utløsernyttelast — det er denne
{{key}} i et stegs prompt eller skript løses mot. Hendelser som bærer en
naturlig nøkkel, dedupliseres, slik at den samme hendelsen som utløses to
ganger, ikke starter to kjøringer.
En deaktivert mal avvises selv når utløseren dens samsvarer. Åtte av de tretten innebygde malene leveres deaktivert, så utløserne som er sådd inn, fyrer av uten at noe tar imot, helt til du slår malen på.
Nyttige mønstre
Seksjon med tittelen «Nyttige mønstre»- Port bare den manuelle veien — koble Manuell kjøring gjennom en betingelsesnode, og Tidsplan rett til arbeidet. Hver start eier sine egne ledninger.
- Gå gjennom hver nye PR — hendelsen PR publisert på malen
pr_review. - Rydd opp etter en sammenslåing — hendelsen PR-status endret, filtrert
til
merged/closed/approved. Den innebygde malenpr_merged_cleanuplytter allerede på denne måten, i tillegg til sak fullført/avbrutt,SpaceDeletedog en daglig tidsplan som tvinges aktivert ved hver ny såing fordi den er søppelsamling. - Nattlig gjennomkjøring — tidsplan
0 2 * * *med en tidssone, på en mal der den første noden er et bash-skript. - Reager på et eksternt system — en webhook-utløser, der det kallende systemet signerer forespørselsteksten som beskrevet over.
Relaterte guider
Seksjon med tittelen «Relaterte guider»- Opprett en pipeline-mal
- Kjør en pipeline manuelt
- Overvåk pipeline-kjøringer
- Referansen for domenehendelser