Перейти до вмісту

Вступ до сценаріїв

Сценарій — це граф. Блоки (дії) з’єднані зв’язками, які переносять значення та сигнали. Рушій виконує блок, щойно всі його під’єднані входи щось отримали.

Саме це в Restorm заміняє скрипти до та після запиту з інших клієнтів API — з вирішальною перевагою: потік видно.

Клацніть правою кнопкою в дереві ▸ Додати ▸ Сценарій.

Повний сценарій у редакторі: вузол Input/Param, запит HTTP, перевірка коду статусу, вилучення через Handlebars, умова If і Log

  • З’єднувати виклики в ланцюжок і передавати значення від одного до іншого: створити ресурс, отримати його ідентифікатор, використати його в наступному виклику.
  • Перевіряти: перевірки, валідація схеми JSON, порівняння.
  • Розгалужувати й повторювати: if, switch, for, forEach, while, retry.
  • Оркеструвати кілька транспортів: відкрити підписку MQTT, запустити дію через HTTP, переконатися, що повідомлення надходить.
  • Автоматизувати: той самий сценарій працює і в інтерфейсі, і без вікна в безперервній інтеграції.
ПоняттяЩо це таке
Блок (вузол)Дія. Доступно дев’яносто типів — див. каталог
ПортТочка під’єднання на блоці, типізована й напрямлена
Зв’язок (ребро)Провід між вихідним і вхідним портом
СелекторШлях, застосований до значення у дорозі на зв’язку (data.items[0].id)
Змінна запускуІменоване значення, задане й прочитане під час виконання
ПараметрВхід сценарію, наданий під час запуску або в командному рядку
ВихідРезультат, доступний тому, хто викликав сценарій

Три порти, які має кожен блок

Section titled “Три порти, які має кожен блок”

Вони не перелічені в конфігурації: вони є частиною рамки блоку.

ПортНапрямокРоль
inВхідТригер. Він приймає кілька вхідних зв’язків і тоді чекає, поки надійдуть усі, — це бар’єр «дочекатися завершення кількох гілок»
errorВихідМаршрут невдачі. Усе, що зривається, іде сюди
doneВихідНадсилається, коли блок і весь його підграф нижче за течією завершилися

Різниця між done і виходом значення важлива: значення виходить, щойно його вироблено, а done чекає, поки завершиться все, що від нього залежить.

  1. Додайте дію Запит HTTP і прив’яжіть її до наявного запиту.
  2. Додайте дію Assert з оператором eq.
  3. Проведіть зв’язок від порту response запиту до входу a перевірки й поставте на цьому зв’язку селектор status.
  4. У перевірці задайте b як 200.
  5. Натисніть Запуск.

Перевірка має два виходи, then і else: під’єднайте до кожного Log або Toast, щоб побачити результат.