Hoppa till innehåll

Ställ in pipelinetriggers

En trigger är det som startar en pipeline. Varje trigger är en nod på duken, och du drar in den från avsnittet Triggrar i nodbiblioteket. Väljer du noden öppnas dess inspektör till höger – det finns ingen ständigt synlig triggerlista, ingen flik för triggrar och ingen egen skärm för triggrar.

  1. Gå till Inställningar → Arbetsyta → Pipelinemallar.
  2. Tryck på pennan på mallens rad för att öppna redigeraren.
  3. Välj en triggernod på duken. Panelen till höger visas med den triggerns inställningar. Är inget valt är panelen dold.

Avsnittet Triggrar i nodbiblioteket listar varje starttyp som en egen nod: manuell, schema, webhook och ett kort per domänhändelse. Sök efter merged, ticket eller typnamnet (PrMerged) och dra kortet till duken. En ny mall visar också en spökplatta Lägg till en trigger vid ingångsankaret – välj från samma sökbara lista.

Triggern läggs in direkt. Nya automatiska triggers startar inaktiverade så att ett släpp inte utlöser en körning innan du har konfigurerat den. Använd inspektörens växel Aktiverad för att slå på den, eller papperskorgsikonen för att ta bort den.

Dra in Manuell körning (eller välj den från spökplattan) och slå på Aktiverad i dess inspektör. Det är det som gör att mallen dyker upp i körningsväljaren. Det är inget specialfall – växeln skriver en vanlig triggerrad vars händelsetyp är manual. Den sparas direkt; det finns inget att spara.

Samma växel ligger bakom Manuell körning i redigerarens huvud, där den sitter bredvid mallens deklarerade indata.

De här händelserna startar en körning:

Etikett i väljaren Händelse
Extern PR öppnad ExternalPrDetected
PR publicerad PullRequestPublished
PR-status ändrad PullRequestStatusChanged
PR sammanslagen PrMerged
Meddelande mottaget MessageReceived
Ärende skapat TicketCreated
Ärendestatus ändrad TicketStatusChanged
Ärende tilldelat TicketAssigned
Ärende slutfört TicketCompleted
Ärende misslyckades TicketFailed
Ärende avbrutet TicketCancelled
Budgettröskel passerad BudgetThresholdCrossed
Arkiv tillagt RepoAdded
Mötesinspelning stoppad MeetingRecordingStopped
Färdighet uppdaterad SkillUpdated
Yta borttagen SpaceDeleted

SpaceDeleted är det som den inbyggda pipelinen för worktree-städning lyssnar på: den bär den borttagna ytans id, så körningen återtar exakt den ytans worktrees i stället för att svepa hela arbetsytan.

Se referensen över domänhändelser för vilka nyttolastnycklar varje händelse bär.

Välj noden PR-status ändrad. Inspektörens statuschips är det enda filter som gränssnittet kan skapa. Tryck på något av merged, closed, approved, opened, reopened; triggern utlöses då bara när händelsens status matchar något av dem. Lämnar du alla chips ovalda gäller inget filter.

Det finns inget fritt JSON-filterfält. En filternyckel som händelsens nyttolast inte bär matchar aldrig, så skriv inte en för hand mot en nyckel som du inte har bekräftat i referensen över domänhändelser.

Välj noden Schema för att redigera när den utlöses. Inspektörens fält sparas som du lämnar dem:

Fält Beskrivning
Schema (cron eller every:seconds) Ett cron-uttryck med fem fält som 0 9 * * 1, eller ett intervall som every:86400. En ensam siffra tvingas till every:<n>.
Tidszon (valfritt) En IANA-zon som Europe/Paris. Standard är UTC.
Vid missade körningar Vad som ska hända med utlösningar som missades medan servern var nere: Kör en gång slår ihop varje missad lucka till en enda utlösning vid omstart (standard), Hoppa över återupptar vid nästa framtida lucka.

Sammanfattningsraden på dukens platta skriver bara ut intervallet för formen every:<seconds>; ett cron-uttryck visas bara som ”Schema”.

Drar du in Webhook skapas en slumpmässig token. Välj noden för att kopiera sökvägen POST /webhooks/<token> från inspektören.

Token är också HMAC-hemligheten: begäran måste bära X-Hub-Signature-256: sha256=<hex>, där hex är HMAC-SHA256(body, token). En leverans som inte klarar verifieringen avvisas, loggas och kan inte spelas upp igen. Dubbletter ignoreras via sin dedupe-nyckel.

Varje start är en egen nod i grafen. Drar du en tråd från Schema kopplas bara Schema in; Manuell körning kan ta en annan väg (till exempel via en villkorsnod) innan den ansluter till samma arbete. En körning går in i den start som matchar dess händelsetyp och hoppar över delgrafer som tillhör de andra starterna.

En aktiverad trigger vars händelsetyp och filter båda matchar startar en körning med händelsens nyttolast som körningens triggernyttolast – det är vad {{key}} i ett stegs prompt eller skript löses mot. Händelser som bär en naturlig nyckel filtreras för dubbletter, så samma händelse som utlöses två gånger startar inte två körningar.

En inaktiverad mall avvisas även när dess trigger matchar. Åtta av de tretton inbyggda mallarna levereras inaktiverade, så deras sådda triggers utlöses i tomma intet tills du slår på mallen.

  • Sätt grind bara på den manuella vägen – koppla Manuell körning via en villkorsnod och Schema direkt till arbetet. Varje start äger sina egna trådar.
  • Granska varje ny PR – händelsen PR publicerad på mallen pr_review.
  • Städa efter en sammanslagning – händelsen PR-status ändrad, filtrerad på merged / closed / approved. Den inbyggda mallen pr_merged_cleanup lyssnar redan så, plus ärende slutfört/avbrutet, SpaceDeleted och ett dagligt schema som tvingas aktiverat vid varje ny sådd eftersom det är skräpsamling.
  • Nattligt svep – schemat 0 2 * * * med en tidszon, på en mall vars första nod är ett bash-skript.
  • Reagera på ett externt system – en webhook-trigger, där det anropande systemet signerar sin begärans kropp enligt ovan.