Nastavte spouštěče pipeline
Spouštěč je to, čím se pipeline spustí. Každý je uzel na plátně, puštěný ze sekce Spouštěče v knihovně uzlů. Výběr toho uzlu otevře vpravo jeho inspektor. Trvale otevřený seznam spouštěčů, karta spouštěčů ani obrazovka spouštěčů tu nejsou.
Otevři inspektor spouštěče
Sekce “Otevři inspektor spouštěče”- Jdi do Nastavení → Pracovní prostor → Šablony pipeline.
- Stiskni tužku na řádku šablony a otevře se editor.
- Vyber na plátně uzel spouštěče. Vpravo se objeví panel s nastavením toho spouštěče. Když nic nevybereš, panel je schovaný.
Přidej spouštěč
Sekce “Přidej spouštěč”Sekce Spouštěče v knihovně uzlů vypisuje každý druh startu jako vlastní
uzel: ruční spuštění, plán, webhook a jednu kartu na doménovou událost. Hledej
merged, ticket nebo název typu (PrMerged) a kartu přetáhni na plátno.
Nová šablona ukáže u vstupní kotvy i zástupnou dlaždici Přidat spouštěč.
Vybereš ze stejného prohledávatelného seznamu.
Spouštěč se vloží hned. Nové automatické spouštěče začínají vypnuté, aby samotné puštění nespustilo běh dřív, než ho nastavíš. Zapneš ho přepínačem Zapnuto v inspektoru, nebo ho smažeš ikonou koše.
Povol ruční běhy
Sekce “Povol ruční běhy”Pusť na plátno Ruční spuštění (nebo ho vyber ze zástupné dlaždice) a v jeho
inspektoru zapni Zapnuto. To zařadí šablonu do výběru pro spuštění. Není
to zvláštní případ: přepínač zapíše obyčejný řádek spouštěče s typem události
manual. Uloží se hned; není co ukládat.
Stejný přepínač je za Ruční spuštění v záhlaví editoru, vedle deklarovaných vstupů šablony.
Při události
Sekce “Při události”Tyhle události spustí běh:
| Popisek ve výběru | Událost |
|---|---|
| Otevřen externí PR | ExternalPrDetected |
| PR zveřejněn | PullRequestPublished |
| Změna stavu PR | PullRequestStatusChanged |
| PR sloučen | PrMerged |
| Přijata zpráva | MessageReceived |
| Ticket vytvořen | TicketCreated |
| Stav ticketu se změnil | TicketStatusChanged |
| Ticket přiřazen | TicketAssigned |
| Ticket dokončen | TicketCompleted |
| Ticket selhal | TicketFailed |
| Ticket zrušen | TicketCancelled |
| Překročen práh rozpočtu | BudgetThresholdCrossed |
| Přidán repozitář | RepoAdded |
| Nahrávání schůzky zastaveno | MeetingRecordingStopped |
| Dovednost aktualizována | SkillUpdated |
| Prostor smazán | SpaceDeleted |
SpaceDeleted poslouchá vestavěná pipeline na úklid worktree: nese id
smazaného prostoru, takže běh uvolní worktree právě toho prostoru, místo aby
procházel celý pracovní prostor.
Klíče payloadu, které každá událost nese, jsou v referenci doménových událostí.
Filtruj spouštěč události
Sekce “Filtruj spouštěč události”Vyber uzel Změna stavu PR. Čipy stavu v inspektoru jsou jediný filtr,
který umí rozhraní zapsat. Klepni na kterýkoli z merged, closed,
approved, opened, reopened; spouštěč pak vystřelí jen tehdy, když
status události odpovídá některému z nich. Když necháš všechny čipy
nevybrané, filtr není.
Volné pole filtru v JSON tu není. Klíč filtru, který payload události nenese, se nikdy neshodne, takže filtr ručně nepiš proti klíči, který sis neověřil v referenci doménových událostí.
Podle plánu
Sekce “Podle plánu”Vyber uzel Plán a nastav, kdy vystřelí. Pole inspektoru se uloží, jakmile je opustíš:
| Pole | Popis |
|---|---|
| Plán (cron nebo every:seconds) | Výraz cronu o pěti polích, třeba 0 9 * * 1, nebo interval jako every:86400. Holé číslo se převede na every:<n>. |
| Časové pásmo (volitelné) | Zóna IANA, třeba Europe/Paris. Výchozí je UTC. |
| Při zmeškaných bězích | Co s výstřely, které server zmeškal, když neběžel: Spustit jednou srazí každý zmeškaný slot do jednoho výstřelu po restartu (výchozí), Přeskočit naváže až na dalším budoucím slotu. |
Souhrnný řádek dlaždice na plátně rozepíše interval jen u tvaru
every:<seconds>; výraz cronu se ukáže jen jako „Plán“.
Přes webhook
Sekce “Přes webhook”Přetažení Webhook vygeneruje náhodný token. Vyber uzel a z inspektoru
zkopíruj cestu POST /webhooks/<token>.
Token je zároveň tajemství HMAC: požadavek musí nést
X-Hub-Signature-256: sha256=<hex>, kde hex je HMAC-SHA256(body, token).
Doručení, které ověřením neprojde, se odmítne, zapíše do protokolu a nejde
zopakovat. Duplicity se zahazují podle klíče deduplikace.
Každý vstup je vlastní uzel grafu. Tažením hrany z Plán připojíš jen plán; Ruční spuštění může jít jinou cestou (třeba uzlem Condition / switch (router)), než se připojí ke stejné práci. Běh vstoupí tím vstupem, který odpovídá jeho typu události, a přeskočí podgrafy ostatních vstupů.
Jak se spouštěč dostane k běhu
Sekce “Jak se spouštěč dostane k běhu”Zapnutý spouštěč, kterému sedí typ události i filtr, spustí běh a payload
události předá běhu jako payload spouštěče. Proti němu se dosazuje {{key}}
v promptu nebo skriptu kroku. Události s přirozeným klíčem se deduplikují,
takže stejná událost dvakrát nespustí dva běhy.
Vypnutá šablona se odmítne i tehdy, když její spouštěč sedí. Osm ze třinácti vestavěných šablon se dodává vypnutých, takže jejich založené spouštěče vystřelí do prázdna, dokud šablonu nezapneš.
Užitečné vzory
Sekce “Užitečné vzory”- Braň jen ruční cestu. Veď Ruční spuštění přes uzel Condition / switch (router) a Plán rovnou k práci. Každý vstup má vlastní hrany.
- Zkontroluj každý nový PR. Událost PR zveřejněn na šabloně
pr_review. - Uklid po sloučení. Událost Změna stavu PR, filtr na
merged/closed/approved. Vestavěná šablonapr_merged_cleanupuž takhle poslouchá, plus Ticket dokončen a Ticket zrušen,SpaceDeleteda denní plán, který se při každém opětovném založení zapne natvrdo, protože je to úklid. - Noční průchod. Plán
0 2 * * *s časovým pásmem, na šabloně, jejíž první uzel je Bash script. - Reaguj na externí systém. Spouštěč webhooku a volající systém podepíše tělo požadavku, jak je výše.
Související návody
Sekce “Související návody”- Vytvořte šablonu pipeline
- Spusťte pipeline ručně
- Sledujte běhy pipeline
- Reference doménových událostí