Gå til innholdet

Variabler og data i et scenario

Et scenario har tre mekanismer for å flytte data rundt. De utfyller hverandre, og å vite hvilken du skal velge, sparer deg for mye unødvendig kobling.

Hovedmekanismen: en boks produserer en verdi, verdien reiser på forbindelsen, eventuelt omformet av en selektor, og kommer inn i inngangen på neste boks.

Det er eksplisitt og lesbart: dataflyten er tegningen.

Bruk den til alt som er lokalt — resultatet av ett kall som forbrukes av det neste.

Et navngitt rom som hører til den enkelte kjøringen:

  • Sett variabel skriver en verdi;
  • Hent variabel leser den igjen;
  • en verdi av typen variabel leser den underveis, i hvilket som helst felt;
  • {{name}} leser den i en mal (Transform template, Map);
  • objektet vars leser den i en kodehandling;
  • Legg til i liste og Fjern fra liste kan skrive direkte til kildevariabelen.

En run-variabel overskygger miljøet så lenge kjøringen varer: en forespørsel som bruker {{token}}, tar tokenet scenarioet har satt, framfor miljøets.

Bruk den til det som er globalt for kjøringen: et token, en korrelasjons-ID, en teller — framfor å trekke en forbindelse gjennom hele grafen.

  • Boksen Input / Param erklærer én eller flere navngitte parametere, hver med sin type. Den sender ut ett enkelt objekt { name: value, … }.

    Verdiene kommer, i denne rekkefølgen: fra starten (grensesnittet eller MCP), fra kommandolinjen (--param name=value), eller fra en interaktiv forespørsel hvis scenarioet når boksen uten at det finnes en verdi.

  • Boksen Output / Return eksponerer et navngitt resultat for den som kaller. Et scenario som kalles av en Kjør scenario-handling, gjør utdataene sine synlige på porten output:<name> hos den som kaller.

Det er dette som gjør komposisjon mulig: et «logg inn»-scenario som returnerer et token, gjenbrukt av alle de andre.

En forespørselshandling har en env-port: kobler du et miljø til den (en verdi av typen environment, eller et miljønavn), kjøres kallet i det miljøet.

Det er måten du kjører det samme scenarioet mot staging og deretter production på, uten å duplisere noe som helst — send miljøet inn som en parameter til scenarioet.

Alle typede verdier løses opp på samme måte i grensesnittet og uten vindu: egendefinerte lister, enumerasjoner, forhåndsvisninger av miljøer. Et scenario som fungerer i grensesnittet, fungerer i CI.

Et tvetydig miljønavn (to miljøer med samme navn) gir en tydelig feil: send inn IDen i stedet.

Konvertering av parametere på kommandolinjen

Section titled “Konvertering av parametere på kommandolinjen”

--param mottar tekst; Restorm konverterer den etter parameterens erklærte type:

Erklært typeDet du sender inn
Numerisk--param Seuil=42
Boolean--param Actif=true (1, yes, on godtas)
Date mathEn dato, eller et epoch-tidsstempel
ListeJSON: --param Ids='[1,2,3]'
EnumerasjonVerdien, validert mot det tillatte settet
Egendefinert listeEtiketten, konvertert til verdien (RougeFF0000)
MiljøEt navn eller en miljø-ID
Alt annetDen rå strengen

En umulig konvertering gjør at starten feiler med en tydelig melding, framfor å kjøre med en feil verdi.