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 (Rouge → FF0000)
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.