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.
1. De tokens op de verbindingen
Section titled “1. De tokens op de verbindingen”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.
2. De runvariabelen
Section titled “2. De runvariabelen”Een benoemde ruimte, die bij de uitvoering hoort:
- Variabele instellen schrijft een waarde;
- Variabele ophalen leest die terug;
- een waarde van het type
variableleest die onderweg, in elk willekeurig veld; {{naam}}leest die in een template (Transform template, Map);- het object
varsleest 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.
3. Parameters en uitvoeren
Section titled “3. Parameters en uitvoeren”-
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.
Omgevingen
Section titled “Omgevingen”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.
Resolutie in de headless modus
Section titled “Resolutie in de headless modus”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 type | Wat u meegeeft |
|---|---|
| Getal | --param Seuil=42 |
| Boolean | --param Actif=true (1, yes, on worden geaccepteerd) |
| Date math | Een datum, of een epoch-tijdstempel |
| Lijst | JSON: --param Ids='[1,2,3]' |
| Enumeratie | De waarde, gevalideerd tegen de toegestane verzameling |
| Aangepaste lijst | Het label, omgezet naar de waarde (Rouge → FF0000) |
| Omgeving | Een naam of een identificator van een omgeving |
| De rest | De ruwe tekenreeks |
Een conversie die onmogelijk is, laat de start mislukken met een duidelijk bericht, in plaats van met een verkeerde waarde te draaien.