Skonfiguruj wyzwalacze potoków
Wyzwalacz to coś, co uruchamia potok. Każdy z nich jest węzłem na kanwie, upuszczanym z sekcji Wyzwalacze w bibliotece węzłów. Wybranie tego węzła otwiera po prawej stronie jego inspektora — nie ma stale widocznej listy wyzwalaczy, karty wyzwalaczy ani osobnego ekranu wyzwalaczy.
Otwórz inspektora wyzwalacza
Dział zatytułowany „Otwórz inspektora wyzwalacza”- Przejdź do Ustawienia → Obszar roboczy → Szablony potoków.
- Naciśnij ołówek w wierszu szablonu, aby otworzyć edytor.
- Wybierz węzeł wyzwalacza na kanwie. Po prawej pojawi się panel z ustawieniami tego wyzwalacza. Gdy nic nie jest wybrane, panel pozostaje ukryty.
Dodaj wyzwalacz
Dział zatytułowany „Dodaj wyzwalacz”Sekcja Wyzwalacze w bibliotece węzłów wymienia każdy rodzaj startu jako
osobny węzeł: ręczny, harmonogram, webhook i po jednej karcie na zdarzenie
domenowe. Wyszukaj merged, ticket lub nazwę typu (PrMerged) i przeciągnij
kartę na kanwę. Nowy szablon pokazuje też kafelek zastępczy Dodaj wyzwalacz
przy kotwicy wejściowej — wybierz pozycję z tej samej przeszukiwalnej listy.
Wyzwalacz zostaje wstawiony od razu. Nowe automatyczne wyzwalacze startują wyłączone, żeby upuszczenie nie odpaliło uruchomienia, zanim go skonfigurujesz. Użyj przełącznika Włączone w inspektorze, aby go włączyć, albo ikony kosza, aby go usunąć.
Zezwól na ręczne uruchomienia
Dział zatytułowany „Zezwól na ręczne uruchomienia”Upuść Uruchomienie ręczne (albo wybierz je z kafelka zastępczego) i włącz
Włączone w jego inspektorze. To właśnie sprawia, że szablon pojawia się w
selektorze uruchomień. Nie jest to żaden szczególny przypadek — przełącznik
zapisuje zwykły wiersz wyzwalacza, którego typ zdarzenia to manual. Zmiana
obowiązuje od razu; nie ma nic do zapisania.
Ten sam przełącznik stoi za Ręczne uruchamianie w nagłówku edytora, obok zadeklarowanych danych wejściowych szablonu.
Przy zdarzeniu
Dział zatytułowany „Przy zdarzeniu”Te zdarzenia rozpoczynają uruchomienie:
| Etykieta selektora | Zdarzenie |
|---|---|
| Otwarto zewnętrzny PR | ExternalPrDetected |
| Opublikowano PR | PullRequestPublished |
| Zmieniono status PR | PullRequestStatusChanged |
| Scalono PR | PrMerged |
| Otrzymano wiadomość | MessageReceived |
| Utworzono zgłoszenie | TicketCreated |
| Zmieniono status zgłoszenia | TicketStatusChanged |
| Przypisano zgłoszenie | TicketAssigned |
| Zgłoszenie ukończone | TicketCompleted |
| Zgłoszenie nieudane | TicketFailed |
| Zgłoszenie anulowane | TicketCancelled |
| Przekroczono próg budżetu | BudgetThresholdCrossed |
| Dodano repozytorium | RepoAdded |
| Zatrzymano nagranie spotkania | MeetingRecordingStopped |
| Zaktualizowano umiejętność | SkillUpdated |
| Przestrzeń usunięta | SpaceDeleted |
SpaceDeleted to zdarzenie, na które nasłuchuje wbudowany potok czyszczenia
worktree: niesie identyfikator usuniętej przestrzeni, więc uruchomienie
odzyskuje dokładnie worktree tej przestrzeni, zamiast przeczesywać cały obszar
roboczy.
Klucze ładunku, które niesie każde zdarzenie, znajdziesz w dokumentacji referencyjnej zdarzeń domenowych.
Filtrowanie wyzwalacza zdarzeniowego
Dział zatytułowany „Filtrowanie wyzwalacza zdarzeniowego”Wybierz węzeł Zmieniono status PR. Chipsy statusu w inspektorze to jedyny
filtr, jaki potrafi utworzyć interfejs. Dotknij dowolnego z merged, closed,
approved, opened, reopened; wyzwalacz odpala się tylko wówczas, gdy
status zdarzenia pasuje do jednego z nich. Pozostawienie wszystkich chipów
niewybranych oznacza brak filtra.
Nie ma swobodnego pola filtra JSON. Klucz filtra, którego ładunek zdarzenia nie niesie, nigdy nie pasuje, więc nie twórz go ręcznie dla klucza, którego nie potwierdziłeś w dokumentacji referencyjnej zdarzeń domenowych.
Według harmonogramu
Dział zatytułowany „Według harmonogramu”Wybierz węzeł Harmonogram, aby zmienić, kiedy się odpala. Pola inspektora zachowują się tak, jak je zostawisz:
| Pole | Opis |
|---|---|
| Harmonogram (cron lub every:seconds) | Wyrażenie cron z pięcioma polami, takie jak 0 9 * * 1, albo interwał, taki jak every:86400. Sama liczba jest zamieniana na every:<n>. |
| Strefa czasowa (opcjonalnie) | Strefa IANA, taka jak Europe/Paris. Domyślnie UTC. |
| Przy pominiętych uruchomieniach | Co zrobić z odpaleniami pominiętymi, gdy serwer był wyłączony: Uruchom raz zwija każdy pominięty termin w jedno odpalenie po restarcie (domyślne), Pomiń wznawia od następnego przyszłego terminu. |
Wiersz podsumowania kafelka na kanwie rozwija interwał tylko dla postaci
every:<seconds>; wyrażenie cron wyświetla się po prostu jako „Harmonogram”.
Przez webhook
Dział zatytułowany „Przez webhook”Upuszczenie węzła Webhook tworzy losowy token. Wybierz ten węzeł, aby
skopiować z inspektora ścieżkę POST /webhooks/<token>.
Token jest też sekretem HMAC: żądanie musi nieść
X-Hub-Signature-256: sha256=<hex>, gdzie hex to HMAC-SHA256(body, token).
Dostawa, która nie przejdzie weryfikacji, jest odrzucana i zapisywana w logu, a
jej odtworzenie nie jest możliwe. Duplikaty są ignorowane po ich kluczu
deduplikacji.
Każdy start to osobny węzeł grafu. Przewód poprowadzony od węzła Harmonogram podłącza tylko ten harmonogram; Uruchomienie ręczne może pójść inną drogą (na przykład przez węzeł warunku), zanim dołączy do tej samej pracy. Uruchomienie wchodzi przez start pasujący do jego typu zdarzenia i pomija podgrafy należące do pozostałych startów.
Jak wyzwalacz trafia do uruchomienia
Dział zatytułowany „Jak wyzwalacz trafia do uruchomienia”Włączony wyzwalacz, którego typ zdarzenia i filtr oba pasują, rozpoczyna
uruchomienie z ładunkiem zdarzenia jako ładunkiem wyzwalacza uruchomienia — to
względem niego rozwiązuje się {{key}} w prompcie lub skrypcie kroku. Zdarzenia
niosące naturalny klucz są deduplikowane, więc to samo zdarzenie nie rozpoczyna
dwóch uruchomień, gdy odpali się dwukrotnie.
Wyłączony szablon jest odrzucany, nawet gdy jego wyzwalacz pasuje. Osiem z trzynastu wbudowanych szablonów jest dostarczanych jako wyłączone, więc ich zasiane wyzwalacze odpalają w pustkę, dopóki nie włączysz szablonu.
Przydatne wzorce
Dział zatytułowany „Przydatne wzorce”- Zabezpiecz tylko ścieżkę ręczną — poprowadź Uruchomienie ręczne przez węzeł warunku, a Harmonogram prosto do pracy. Każdy start ma własne przewody.
- Recenzuj każdy nowy PR — zdarzenie Opublikowano PR w szablonie
pr_review. - Posprzątaj po scaleniu — zdarzenie Zmieniono status PR, filtrowane do
merged/closed/approved. Wbudowany szablonpr_merged_cleanupjuż tak nasłuchuje, a także Zgłoszenie ukończone i Zgłoszenie anulowane,SpaceDeletedoraz codzienny harmonogram, który jest wymuszany przy każdym ponownym zasianiu, bo pełni funkcję odśmiecania. - Nocny przegląd — harmonogram
0 2 * * *ze strefą czasową, w szablonie, którego pierwszym węzłem jest skrypt bash. - Reaguj na system zewnętrzny — wyzwalacz webhooka, przy którym wywołujący system podpisuje treść żądania jak wyżej.