Aller au contenu

Créer un Workflow

Un workflow se construit graphiquement dans Andromate Studio : glissez des tâches depuis la Task Palette sur le canevas, reliez-les, et configurez chacune dans le panneau Task Configuration. Cette page couvre les règles qui rendent un workflow valide, et - plus en détail - le branchement avec des tâches de condition et comment travailler avec les variables entièrement depuis l'interface graphique.


Les règles d'un workflow

  • Exactement une tâche Start, et au moins une tâche End.
  • La sortie de chaque tâche se connecte à exactement une tâche suivante - glissez depuis son port de sortie vers le port d'entrée de la tâche suivante.
  • Une tâche de condition (Compare Number, Compare String...) fait exception : elle a deux liens sortants, true et false - connectez les deux.
  • Une tâche connecteur (Iterate, ForEach Element...) encapsule son propre sous-workflow imbriqué - ouvrez-la pour ajouter des tâches à l'intérieur de la boucle, puis continuez le graphe extérieur depuis l'unique sortie du connecteur, comme une tâche normale. Voir Vue d'ensemble des tâches > Connector Tasks.
  • Chaque chemin doit finir par atteindre un End - un lien qui ne va nulle part (aucune tâche connectée) est invalide.

Brancher avec une tâche de condition

Une tâche de condition (Compare Number, Compare String...) évalue ses entrées et suit exactement un de ses deux liens sortants : le port vert T (true) ou le port rouge F (false).

Cet exemple lit le niveau de batterie, puis branche selon qu'il est bas ou non : Get Battery Level écrit dans $BATTERY_LEVEL -> Compare NUM vérifie $BATTERY_LEVEL <= $BATTERY_LOW_LEVEL -> T va vers un rapport "Very Low Battery level", F va vers un rapport "High Battery level", et les deux se rejoignent vers End.

Tâche Compare NUM sélectionnée : Number X = $BATTERY_LEVEL, Number Y = $BATTERY_LOW_LEVEL, Compare Type = EqualInf. Le canevas montre ses ports T et F allant vers deux tâches Text Report différentes

Chaque branche est une tâche normale, configurée comme n'importe quelle autre :

La tâche Text Report de la branche T (true) sélectionnée, son champ Text affichant "Very Low Battery level: $BATTERY_LEVEL%" La tâche Text Report de la branche F (false) sélectionnée, son champ Text affichant "High Battery level: $BATTERY_LEVEL%"

La tâche Start déclare le seuil auquel cette condition compare :

Tâche Start sélectionnée, liste Variables : $BATTERY_LOW_LEVEL = 40, $BATTERY_LEVEL = (vide)

Le lancer - la batterie lit 22, et 22 <= 40 est vrai - produit ce log d'exécution :

16:42:43-| execute task task
16:42:43-|| Base Task: Reading battery level...
16:42:43-|| result = 22
16:42:43-|| end Base Task: Battery level read
16:42:43-|| Base Task: Compare EQUAL_INF (numX= $BATTERY_LEVEL; numY= $BATTERY_LOW_LEVEL)
16:42:43-|| end Base Task: Compare EQUAL_INF
16:42:43-|| Base Task: text report task
16:42:43-|| Very Low Battery level: 22%
16:42:43-|| end Base Task: text report task
16:42:43-| end task task

Seule la branche T s'est exécutée - le log ne contient aucune ligne "High Battery level". Si la batterie avait lu plus de 40, c'est la branche F qui se serait exécutée, et le rapport aurait affiché "High Battery level".


Les variables, en interface graphique

Variables dans les Workflows documente les variables au niveau JSON. Voici le même modèle, depuis les écrans que vous cliquez réellement.

1. Déclarer une variable sur la tâche Start

Sélectionnez la tâche Start pour ouvrir son panneau Task Configuration. Sa liste Variables est exactement variableName / variableValue / is_kpi du JSON, sous forme de champs : un Name (le préfixe $ est obligatoire), une Value (sa valeur par défaut, qui peut être laissée vide), et une case KPI pour la marquer comme métrique clé remontée. Utilisez + / - pour ajouter ou retirer des variables.

Tâche Start sélectionnée, panneau Task Configuration montrant sa liste Variables : $VAR = 5, $BATTERY_LEVEL = (vide)

2. Laisser une tâche écrire dans une variable

Beaucoup de tâches exposent leur propre champ output variable - le nom de variable que vous y mettez est enregistré avec le résultat de cette tâche à l'exécution, en écrasant la valeur que la variable avait avant.

Tâche Get Battery Level sélectionnée, panneau Task Configuration avec son champ Output variable réglé sur $BATTERY_LEVEL

3. Utiliser la variable dans une autre tâche

Tapez $NOM directement dans n'importe quel champ qui accepte du texte - mélangé librement avec du texte littéral, sans tâche supplémentaire :

Tâche Text Report sélectionnée, son champ Value affichant "VAR = $VAR BATTEY_LEVEL = $BATTERY_LEVEL"

Le voir résolu à l'exécution

Lancer le workflow ci-dessus (Start déclare $VAR = 5 et $BATTERY_LEVEL vide -> Get Battery Level écrit dans $BATTERY_LEVEL -> Text Report lit les deux) produit ce log d'exécution :

16:25:03-| execute task task
16:25:03-|| Base Task: Reading battery level...
16:25:03-|| result = 23
16:25:03-|| end Base Task: Battery level read
16:25:03-|| Base Task: text report task
16:25:03-|| VAR = 5 BATTEY_LEVEL = 23
16:25:03-|| end Base Task: text report task
16:25:03-| end task task

$VAR se résout en 5 - sa valeur par défaut du Start, non modifiée par aucune tâche. $BATTERY_LEVEL se résout en 23 - la valeur en direct écrite par la tâche Get Battery Level, qui écrase la valeur vide qu'elle avait au Start.

Note

Les variables spéciales intégrées (${NOM}, avec accolades) sont un mécanisme différent - résolues automatiquement par le runtime, sans déclaration au Start nécessaire. Voir Variables dans les Workflows pour le détail.


Sauvegarder

Studio n'a pas de bouton Save visible dans la barre d'outils : ouvrez le menu (icône hamburger) et cliquez sur Sauvegarder (ou Sauvegarder sous pour sauvegarder une copie). Chaque sauvegarde incrémente la version du workflow - voir la colonne Version dans la liste Workflows.


Et ensuite