Aller au contenu

Introduction aux scénarios

Un scénario est un graphe. Des boîtes (les actions) sont reliées par des liaisons qui transportent des valeurs et des signaux. Le moteur exécute une boîte dès que toutes ses entrées câblées ont reçu quelque chose.

C’est ce qui, dans Restorm, remplace les scripts pré-requête et post-requête des autres clients d’API — avec un avantage décisif : on voit le flux.

Clic droit dans l’arbre ▸ Ajouter ▸ Scénario.

Un scénario complet dans l'éditeur : un nœud Input/Param, une requête HTTP, une assertion sur le code de statut, une extraction Handlebars, une condition If et un Log

  • Enchaîner des appels et passer une valeur de l’un à l’autre : créer une ressource, récupérer son identifiant, l’utiliser dans l’appel suivant.
  • Vérifier : assertions, validation de schéma JSON, comparaison.
  • Brancher et boucler : if, switch, for, forEach, while, retry.
  • Orchestrer plusieurs transports : ouvrir un abonnement MQTT, déclencher une action par HTTP, vérifier que le message arrive.
  • Automatiser : le même scénario tourne dans l’interface et sans fenêtre en intégration continue.
NotionCe que c’est
Boîte (nœud)Une action. Quatre-vingt-dix types sont disponibles — voir le catalogue
PortUn point de branchement sur une boîte, typé et orienté
Liaison (arête)Un fil entre un port de sortie et un port d’entrée
SélecteurUn chemin appliqué à la valeur en transit sur une liaison (data.items[0].id)
Variable de runUne valeur nommée, posée et relue pendant l’exécution
ParamètreUne entrée du scénario, fournie au lancement ou en ligne de commande
SortieUn résultat exposé à l’appelant du scénario

Ils ne sont pas listés dans la configuration : ils font partie du cadre de la boîte.

PortSensRôle
inEntréeLe déclencheur. Il accepte plusieurs liaisons entrantes et attend alors que toutes soient arrivées — c’est la barrière « attendre que plusieurs branches soient terminées »
errorSortieLa route d’échec. Tout ce qui rate part par là
doneSortieÉmis quand la boîte et tout son sous-graphe aval ont fini

La distinction done / sortie de valeur est importante : une valeur sort dès qu’elle est produite, done attend que tout ce qui en dépend soit terminé.

  1. Ajoutez une action Requête HTTP et liez-la à une requête existante.
  2. Ajoutez une action Assert, opérateur eq.
  3. Tirez une liaison depuis le port response de la requête vers l’entrée a de l’assertion, et posez le sélecteur status sur cette liaison.
  4. Dans l’assertion, réglez b à 200.
  5. Cliquez sur Lecture.

L’assertion a deux sorties, then et else : branchez un Log ou une Toast sur chacune pour voir passer le résultat.