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.
1. Tokens på kopplingarna
Section titled “1. Tokens på kopplingarna”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.
2. Körningsvariablerna
Section titled “2. Körningsvariablerna”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
variableläser det i farten, i vilket fält som helst; {{namn}}läser det i en mall (Transform template, Map);- objektet
varslä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.
3. Parametrar och utgångar
Section titled “3. Parametrar och utgångar”-
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.
Miljöer
Section titled “Miljöer”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.
Upplösning i headless-läge
Section titled “Upplösning i headless-läge”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 typ | Vad du skickar in |
|---|---|
| Numerisk | --param Seuil=42 |
| Boolean | --param Actif=true (1, yes, on accepteras) |
| Date math | Ett datum, eller en epoch-tidsstämpel |
| Lista | JSON: --param Ids='[1,2,3]' |
| Uppräkning | Värdet, validerat mot den tillåtna mängden |
| Anpassad lista | Etiketten, som konverteras till värdet (Rouge → FF0000) |
| Miljö | Ett namn eller en identifierare för en miljö |
| Övrigt | Den 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.