Gå til innholdet

Bygge et scenario

Lerretet i midten, «Legg til»-paletten og inspektøren rundt. Boksene flyttes med musen, og selve visningen kan panoreres og zoomes.

Scenarioeditoren med «Legg til»-paletten åpen: de vanligste boksene øverst, deretter kategoriene Legg til, Lists, Loops, Tidsstyring, Math, Algorithmie, Data formats, Encoding, UX

Fra paletten, som er organisert i kategorier: kontroll, komposisjon (forespørsler og tilkoblinger), lister, løkker, tid, matematikk, algoritmikk, dataformater, koding, grensesnitt og verktøy.

En handling som er knyttet til en forespørsel (HTTP-forespørsel, SOAP-forespørsel, alle tilkoblingshandlingene) ber deg om å peke ut hvilken forespørsel i prosjektet den styrer.

Når du peker ut en forespørsel i en handling, opprettes en sterk kobling: handlingen refererer til forespørselen via IDen dens, ikke via en kopi. Det får følgende konsekvenser:

  • forespørselen forblir delt — endrer du den (URL, headere, kropp), endrer du det alle scenarioer som bruker den, spiller av ved neste kjøring;
  • koblingen overlever at forespørselen får nytt navn eller flyttes i treet: den hviler verken på navnet eller på stien;
  • fra forespørselen har smartbaren en knapp «Brukt i scenarioer» — den lister scenarioene som kaller forespørselen, og lar deg hoppe til dem. Dette er refleksen du bør ha før du endrer en delt forespørsel;
  • en manglende forespørsel (slettet, eller fraværende når prosjektet åpnes) gjør at valideringen av scenarioet feiler: kjøreknappen forblir sperret og boksen som er skyld i det, blir markert — aldri et stille ødelagt scenario.

Vil du spille av den samme forespørselen på nytt uten å røre den lagrede versjonen, skal du ikke endre den: bruk overstyringene (hurtiginnstilling, overstyringer på handlingen, forbindelse) som er beskrevet i Overstyre en forespørsel.

Hver boks har sine egne felt, som fylles ut direkte på boksen eller i inspektøren. Feltene godtar typede verdier — streng, tall, boolsk verdi, dato, Handlebars-uttrykk, variabel, egendefinert liste, hemmelighet … — se Variabler og miljøer.

Ctrl+Space starter autofullføring av variabler og helpere i de feltene som støtter det.

Trekk fra en utgangsport til en inngangsport.

To regler du bør kjenne:

  1. En inngangsport godtar bare én forbindelse — bortsett fra in-porten, som godtar så mange du vil, og som da fungerer som en barriere.
  2. En utgang med rent signal kan ikke mate en inngang med ren verdi. Alt annet er tillatt: en utgang som bærer en verdi, fungerer også som utløser.

Detaljer: Porter og forbindelser.

En forbindelse kan bære en selektor: en sti som anvendes på verdien som er underveis.

data.items[0].id
body['user-id']
status

Det er dette som sparer deg for å skyte inn en transformasjonsboks mellom hvert kall og forbrukeren av det. Selektoren settes når forbindelsen opprettes, eller senere; tømmer du den, er den borte.

En handling som er knyttet til en forespørsel, kan endre den uten å røre selve forespørselen. Fire lag, i denne rekkefølgen:

  1. forespørselen slik den er lagret;
  2. en hurtiginnstilling (quick config) som er pekt ut på handlingen — dette er måten du gjenbruker en lagret variant av en forespørsel direkte i et scenario på, uten å skrive den inn igjen;
  3. overstyringene som er lagt inn på handlingen;
  4. verdien som kommer inn via en forbindelse på overstyringsporten.

Dette er den ryddige måten å spille av det samme kallet med tre datasett.

Kontekstmenyen på en boks tilbyr «Kjør ved hver mottatt hendelse». Slår du den på, gjør den alle de tilkoblede inngangene om til ikke-blokkerende «eller»-porter: boksen utløses på nytt for hver verdi som kommer inn på hvilken som helst port, istedenfor å vente til alle er på plass.

Det er uunnværlig for å behandle en strøm (hver MQTT-melding, hver SSE-hendelse), og det er også det som løser opp en fullføringssyklus.

  • En Input / Param-boks erklærer parameterne til scenarioet. De oppgis ved start, på kommandolinjen (--param name=value), eller de etterspørres under kjøring i interaktiv modus.
  • En Output / Return-boks eksponerer et resultat for den som kaller — nyttig når scenarioet kalles av et annet via handlingen Kjør scenario.

Restorm kan rydde en graf automatisk (automatisk oppsett); boksene kan fortsatt flyttes for hånd etterpå. Ctrl+Z angrer, Ctrl+Shift+Z gjør om.

Kjøreknappen er sperret så lenge det finnes valideringsfeil: en ugyldig forbindelse, en manglende forespørsel, et påkrevd felt som er tomt. Boksene som er skyld i det, blir markert.