Přeskočit na obsah

Úvod do scénářů

Scénář je graf. Bloky (jednotlivé akce) jsou spojené propojeními, která přenášejí hodnoty a signály. Motor spustí blok v okamžiku, kdy všechny jeho zapojené vstupy něco obdržely.

Právě to v aplikaci Restorm zastupuje skripty před požadavkem a po požadavku, jak je znáte z jiných klientů API — a to s jednou rozhodující výhodou: tok je vidět.

Klikněte pravým tlačítkem ve stromu ▸ Přidat ▸ Scénář.

Kompletní scénář v editoru: blok Input/Param, požadavek HTTP, asserce nad stavovým kódem, extrakce pomocí Handlebars, podmínka If a Log

  • Řetězit volání a předávat hodnotu z jednoho do druhého: vytvořit zdroj, získat jeho identifikátor a použít jej v následujícím volání.
  • Kontrolovat: asserce, validace schématu JSON, srovnání.
  • Větvit a opakovat: if, switch, for, forEach, while, retry.
  • Orchestrovat několik přenosů: otevřít odběr MQTT, spustit akci přes HTTP a ověřit, že zpráva dorazí.
  • Automatizovat: tentýž scénář běží v rozhraní i bez okna v průběžné integraci.
PojemCo to je
Blok (uzel)Jedna akce. K dispozici je devadesát typů — viz katalog
PortTypované a orientované místo pro zapojení na bloku
Propojení (hrana)Vodič mezi výstupním a vstupním portem
SelektorCesta uplatněná na hodnotu, která prochází propojením (data.items[0].id)
Proměnná běhuPojmenovaná hodnota, zapsaná a znovu přečtená během běhu
ParametrVstup scénáře, zadaný při spuštění nebo na příkazové řádce
VýstupVýsledek zpřístupněný tomu, kdo scénář zavolal

Nejsou vypsané v jeho konfiguraci: patří k rámu samotného bloku.

PortSměrRole
inVstupSpouštěč. Přijímá více vstupních propojení a pak čeká, dokud nedorazí všechna — je to bariéra „počkej, až se dokončí několik větví“
errorVýstupTrasa selhání. Vše, co se nepovede, odchází tudy
doneVýstupVysílá se, jakmile blok a celý jeho navazující podgraf skončí

Rozdíl mezi done a hodnotovým výstupem je důležitý: hodnota vychází v okamžiku, kdy je vytvořená, kdežto done čeká, dokud neskončí vše, co na ní závisí.

  1. Přidejte akci Požadavek HTTP a svažte ji s existujícím požadavkem.
  2. Přidejte akci Assert s operátorem eq.
  3. Veďte propojení z portu response požadavku na vstup a asserce a na toto propojení nasaďte selektor status.
  4. V asserci nastavte b na 200.
  5. Klikněte na Spustit.

Asserce má dva výstupy, then a else: na každý z nich zapojte Log nebo Toast, abyste výsledek viděli procházet.