Hoppa till innehåll

Variabler och data i ett scenario

Ett scenario har tre mekanismer för att flytta data. De kompletterar varandra, och att veta vilken man ska välja besparar mycket onödig kabeldragning.

Huvudmekanismen: en ruta producerar ett värde, det färdas längs kopplingen, eventuellt omformat av en väljare, och kommer fram till nästa rutas ingång.

Det är uttryckligt och läsbart: dataflödet är ritningen.

Använd den för allt som är lokalt — resultatet av ett anrop som konsumeras av nästa anrop.

Ett namngivet utrymme som hör till körningen:

  • Ange variabel skriver ett värde;
  • Hämta variabel läser tillbaka det;
  • ett värde av typen variable läser det i farten, i vilket fält som helst;
  • {{namn}} läser det i en mall (Transform template, Map);
  • objektet vars läser det i en kodåtgärd;
  • Lägg till i listan och Ta bort från listan kan skriva direkt i källvariabeln.

En körningsvariabel täcker miljön så länge körningen varar: en begäran som använder {{token}} tar den token som scenariot har lagt in, snarare än miljöns.

Använd den för det som är globalt för körningen: en token, ett korrelations-id, en räknare — hellre det än att dra en koppling tvärs över hela grafen.

  • Rutan Input / Param deklarerar en eller flera namngivna parametrar, var och en med sin typ. Den skickar ett enda objekt { namn: värde, … }.

    Värdena kommer, i tur och ordning: från starten (gränssnittet eller MCP), från kommandoraden (--param namn=värde), eller från en interaktiv fråga om scenariot når rutan utan att något värde finns tillgängligt.

  • Rutan Output / Return exponerar ett namngivet resultat för anroparen. Ett scenario som anropas av en åtgärd Kör scenario gör sina utgångar synliga på anroparens port output:<namn>.

Det är det som gör komposition möjlig: ett scenario ”logga in” som returnerar en token, som återanvänds av de andra.

En begäranåtgärd har en port env: att koppla in en miljö där (ett värde av typen environment, eller ett miljönamn) kör anropet i den miljön.

Det är sättet att köra samma scenario mot staging och sedan production utan att duplicera någonting — skicka in miljön som en parameter till scenariot.

Alla typade värden löses upp på samma sätt i gränssnittet och utan fönster: anpassade listor, uppräkningar, förhandsvisningar av miljöer. Ett scenario som fungerar i gränssnittet fungerar i CI.

Ett tvetydigt miljönamn (två miljöer med samma namn) ger ett uttryckligt fel: skicka då in identifieraren.

Konvertering av parametrar på kommandoraden

Section titled “Konvertering av parametrar på kommandoraden”

--param tar emot text; Restorm konverterar den enligt parameterns deklarerade typ:

Deklarerad typVad du skickar in
Numerisk--param Seuil=42
Boolean--param Actif=true (1, yes, on accepteras)
Date mathEtt datum, eller en epoch-tidsstämpel
ListaJSON: --param Ids='[1,2,3]'
UppräkningVärdet, validerat mot den tillåtna mängden
Anpassad listaEtiketten, som konverteras till värdet (RougeFF0000)
MiljöEtt namn eller en identifierare för en miljö
ÖvrigtDen råa strängen

En omöjlig konvertering gör att starten misslyckas med ett tydligt meddelande, i stället för att köra med ett felaktigt värde.