Ga naar inhoud

Variabelen en gegevens in een scenario

Een scenario heeft drie mechanismen om gegevens te laten circuleren. Ze vullen elkaar aan, en weten welk mechanisme u kiest, spaart u veel nutteloos aansluiten uit.

Het belangrijkste mechanisme: een vakje produceert een waarde, die reist over de verbinding, wordt eventueel omgevormd door een selector, en komt aan in de invoer van het volgende vakje.

Dat is expliciet en leesbaar: de gegevensstroom is de tekening.

Gebruik dit voor alles wat lokaal is — het resultaat van een aanroep dat door de volgende aanroep wordt verbruikt.

Een benoemde ruimte, die bij de uitvoering hoort:

  • Variabele instellen schrijft een waarde;
  • Variabele ophalen leest die terug;
  • een waarde van het type variable leest die onderweg, in elk willekeurig veld;
  • {{naam}} leest die in een template (Transform template, Map);
  • het object vars leest die in een code-actie;
  • Aan lijst toevoegen en Uit lijst verwijderen kunnen direct in de bronvariabele schrijven.

Een runvariabele overdekt de omgeving zolang de uitvoering duurt: een verzoek dat {{token}} gebruikt, neemt het token dat het scenario heeft gezet in plaats van dat van de omgeving.

Gebruik dit voor wat globaal is binnen de uitvoering: een token, een correlatie-identificator, een teller — in plaats van een verbinding door de hele graaf te trekken.

  • Het vakje Input / Param declareert één of meer benoemde parameters, elk met een eigen type. Het stuurt één enkel object { naam: waarde, … } uit.

    De waarden komen, in deze volgorde: van de start (interface of MCP), van de opdrachtregel (--param nom=valeur), of van een interactieve vraag als het scenario bij het vakje aankomt zonder dat er een waarde beschikbaar is.

  • Het vakje Output / Return biedt een benoemd resultaat aan de aanroeper aan. Een scenario dat door een actie Scenario uitvoeren wordt aangeroepen, maakt zijn uitvoeren zichtbaar op de poort output:<naam> van de aanroeper.

Daarmee kunt u componeren: een scenario “aanmelden” dat een token teruggeeft, en dat door de andere scenario’s wordt hergebruikt.

Een verzoekactie heeft een poort env: daar een omgeving op aansluiten (een waarde van het type environment, of een omgevingsnaam) voert de aanroep in die omgeving uit.

Zo laat u hetzelfde scenario tegen staging en daarna tegen production draaien zonder iets te dupliceren — geef de omgeving als parameter van het scenario mee.

Alle getypeerde waarden worden op dezelfde manier opgelost in de interface en zonder venster: aangepaste lijsten, enumeraties, omgevingsvoorbeelden. Een scenario dat in de interface werkt, werkt in CI.

Een ambigue omgevingsnaam (twee omgevingen met dezelfde naam) levert een expliciete fout op: geef dan de identificator mee.

Conversie van de parameters op de opdrachtregel

Section titled “Conversie van de parameters op de opdrachtregel”

--param ontvangt tekst; Restorm zet die om volgens het gedeclareerde type van de parameter:

Gedeclareerd typeWat u meegeeft
Getal--param Seuil=42
Boolean--param Actif=true (1, yes, on worden geaccepteerd)
Date mathEen datum, of een epoch-tijdstempel
LijstJSON: --param Ids='[1,2,3]'
EnumeratieDe waarde, gevalideerd tegen de toegestane verzameling
Aangepaste lijstHet label, omgezet naar de waarde (RougeFF0000)
OmgevingEen naam of een identificator van een omgeving
De restDe ruwe tekenreeks

Een conversie die onmogelijk is, laat de start mislukken met een duidelijk bericht, in plaats van met een verkeerde waarde te draaien.