Налаштувати тригери конвеєра
Тригер — це те, що запускає конвеєр. Кожен із них — вузол на полотні, який перетягують із розділу Тригери в бібліотеці вузлів. Вибір цього вузла відкриває його інспектор праворуч — немає постійного списку тригерів, вкладки тригерів чи окремого екрана тригерів.
Відкрити інспектор тригера
Розділ із назвою «Відкрити інспектор тригера»- Перейдіть до Налаштування → Робочий простір → Шаблони конвеєрів.
- Натисніть олівець у рядку шаблону, щоб відкрити редактор.
- Виберіть вузол тригера на полотні. Праворуч з’явиться панель із налаштуваннями цього тригера. Якщо нічого не вибрано, панель прихована.
Додати тригер
Розділ із назвою «Додати тригер»Розділ Тригери в бібліотеці вузлів показує кожен спосіб старту окремим
вузлом: ручний запуск, розклад, вебхук і по одній картці на кожну доменну подію.
Знайдіть merged, ticket або назву типу (PrMerged) і перетягніть картку на
полотно. Новий шаблон також показує плитку-заглушку Додати тригер біля
вхідного якоря — виберіть з того самого списку з пошуком.
Тригер вставляється одразу. Нові автоматичні тригери створюються вимкненими, щоб перетягування не запустило конвеєр до того, як ви його налаштуєте. Перемикач Увімкнено в інспекторі вмикає тригер, а іконка кошика видаляє його.
Дозволити ручні запуски
Розділ із назвою «Дозволити ручні запуски»Перетягніть Ручний запуск (або виберіть його з плитки-заглушки) і увімкніть
Увімкнено в його інспекторі. Саме це змушує шаблон з’явитися в селекторі
запуску. Це не особливий випадок — перемикач записує звичайний рядок тригера з
типом події manual. Він зберігається одразу; зберігати нічого не треба.
Той самий перемикач стоїть за кнопкою Ручний запуск у заголовку редактора, поруч із оголошеними входами шаблону.
За подією
Розділ із назвою «За подією»Ці події запускають конвеєр:
| Напис у селекторі | Подія |
|---|---|
| Відкрито зовнішній PR | ExternalPrDetected |
| PR опубліковано | PullRequestPublished |
| Змінено статус PR | PullRequestStatusChanged |
| PR злито | PrMerged |
| Отримано повідомлення | MessageReceived |
| Тікет створено | TicketCreated |
| Статус тікета змінено | TicketStatusChanged |
| Тікет призначено | TicketAssigned |
| Тікет завершено | TicketCompleted |
| Тікет завершився помилкою | TicketFailed |
| Тікет скасовано | TicketCancelled |
| Перетнуто поріг бюджету | BudgetThresholdCrossed |
| Додано репозиторій | RepoAdded |
| Запис зустрічі зупинено | MeetingRecordingStopped |
| Навичку оновлено | SkillUpdated |
| Простір видалено | SpaceDeleted |
SpaceDeleted — це подія, на яку слухає вбудований конвеєр прибирання робочих
дерев: вона несе ідентифікатор видаленого простору, тож запуск прибирає робочі
дерева саме цього простору, а не прочісує весь робочий простір.
Ключі корисного навантаження, які несе кожна подія, дивіться в довідці з доменних подій.
Фільтрувати тригер події
Розділ із назвою «Фільтрувати тригер події»Виберіть вузол Змінено статус PR. Чіпи статусів в інспекторі — це єдиний
фільтр, який можна задати в інтерфейсі. Натисніть будь-який із merged,
closed, approved, opened, reopened; тоді тригер спрацьовує, лише коли
status події збігається з одним із них. Якщо не вибрано жодного чіпа, фільтра
немає.
Поля для довільного JSON-фільтра немає. Ключ фільтра, якого немає в корисному навантаженні події, ніколи не збігається, тож не задавайте його вручну для ключа, який ви не підтвердили в довідці з доменних подій.
За розкладом
Розділ із назвою «За розкладом»Виберіть вузол Розклад, щоб змінити час його спрацьовування. Поля в інспекторі зберігаються такими, якими ви їх залишаєте:
| Поле | Опис |
|---|---|
| Розклад (cron або every:seconds) | Cron-вираз із п’яти полів, як-от 0 9 * * 1, або інтервал, як-от every:86400. Голе число приводиться до every:<n>. |
| Часовий пояс (необов’язково) | Зона IANA, як-от Europe/Paris. Типово UTC. |
| Пропущені запуски | Що робити зі спрацьовуваннями, пропущеними, поки сервер був недоступний: Запустити один раз згортає всі пропущені слоти в одне спрацьовування після перезапуску (типово), Пропустити відновлюється з наступного майбутнього слота. |
Рядок підсумку на плитці полотна розписує інтервал лише для форми
every:<seconds>; cron-вираз показується просто як «Розклад».
Через вебхук
Розділ із назвою «Через вебхук»Перетягування Webhook створює випадковий токен. Виберіть вузол, щоб
скопіювати шлях POST /webhooks/<token> з інспектора.
Токен також є секретом HMAC: запит має нести
X-Hub-Signature-256: sha256=<hex>, де hex — це HMAC-SHA256(body, token).
Доставку, яка не проходить перевірку, відхиляють і записують у журнал, і її не
можна відтворити повторно. Дублікати відкидаються за їхнім ключем дедуплікації.
Кожен старт — це окремий вузол графа. З’єднання, проведене від Розкладу, приєднує лише Розклад; Ручний запуск може йти іншим шляхом (наприклад, через вузол умови), перш ніж приєднатися до тієї самої роботи. Запуск входить у старт, що відповідає його типу події, і пропускає підграфи, які належать іншим стартам.
Як тригер доходить до запуску
Розділ із назвою «Як тригер доходить до запуску»Увімкнений тригер, у якого збігаються і тип події, і фільтр, запускає конвеєр, а
корисне навантаження події стає тригерним навантаженням запуску — саме з ним
зіставляється {{key}} у промпті чи скрипті кроку. Події, що несуть природний
ключ, дедуплікуються, тож одна подія, що спрацювала двічі, не запускає два
запуски.
Вимкнений шаблон відхиляється, навіть коли його тригер збігається. Вісім із тринадцяти вбудованих шаблонів постачаються вимкненими, тож їхні засіяні тригери спрацьовують у порожнечу, поки ви не ввімкнете шаблон.
Корисні патерни
Розділ із назвою «Корисні патерни»- Обмежити лише ручний шлях — з’єднайте Ручний запуск через вузол умови, а Розклад — напряму з роботою. Кожен старт має власні з’єднання.
- Перевіряти кожен новий PR — подія PR опубліковано на шаблоні
pr_review. - Прибирати після злиття — подія Змінено статус PR, відфільтрована до
merged/closed/approved. Вбудований шаблонpr_merged_cleanupуже слухає саме так, а також тікет завершено/скасовано,SpaceDeletedі щоденний розклад, який примусово вмикається під час кожного повторного засівання, бо це збирання сміття. - Щонічне прибирання — розклад
0 2 * * *із часовим поясом, на шаблоні, чий перший вузол — скрипт bash. - Реагувати на зовнішню систему — вебхук-тригер, де система, що викликає, підписує тіло свого запиту, як описано вище.
Пов’язані посібники
Розділ із назвою «Пов’язані посібники»- Створити шаблон конвеєра
- Запустити конвеєр вручну
- Моніторити запуски конвеєрів
- Довідка з доменних подій