- Introduction
- Commencer avec les agents UiPath
- Premiers pas avec les agents UiPath utilisant LangGraph
- Créer un agent low-code dans Studio Web
- Ajouter des outils à votre agent UiPath
- Premiers pas avec UiPath Maestro Flow
Vérifier le flux
Vérifiez que le flux de surveillance des prix a été créé correctement sans aucune erreur ni avertissement.
Étape 3 - Vérifier le flux
Dans les étapes ci-dessous, nous utiliserons la UiPath CLI (uip) pour valider notre flux et couvrirons les avertissements et erreurs courants qu'il détectera. Cette section vous apprend à utiliser la CLI pour examiner la configuration de votre flux et le valider. N'hésitez pas à passer à la section Tester le flux et à revenir plus tard si vous préférez cette approche.
3.1 - Confirmez les nœuds et les connexions.
Exécutez la commande suivante afin d’établir la liste des nœuds:
uip maestro flow node list PriceWatch/PriceWatch.flow --output table
uip maestro flow node list PriceWatch/PriceWatch.flow --output table
La liste des nœuds doit contenir exactement ces six identifiants:
Id | Type | Label
----------------|---------------------|-----------------
start | core.trigger.manual | Manual trigger
fetchRate1 | core.action.http.v2 | Fetch rate
reshapeRate1 | core.action.script | Reshape rate
belowThreshold1 | core.logic.decision | Below threshold
endAlert1 | core.control.end | End alert
endNoAction1 | core.control.end | End no action
Id | Type | Label
----------------|---------------------|-----------------
start | core.trigger.manual | Manual trigger
fetchRate1 | core.action.http.v2 | Fetch rate
reshapeRate1 | core.action.script | Reshape rate
belowThreshold1 | core.logic.decision | Below threshold
endAlert1 | core.control.end | End alert
endNoAction1 | core.control.end | End no action
Ensuite, exécutez la commande suivante pour vérifier les connexions (boutons) entre les nœuds:
uip maestro flow edge list PriceWatch/PriceWatch.flow --output table
uip maestro flow edge list PriceWatch/PriceWatch.flow --output table
La liste des bords doit contenir cinq bords et le nœud Décision doit apparaître deux fois en tant que source, une fois sur son port true et une fois sur false. Un nœud de décision avec un bord sortant est le défaut structurel le plus important de ce flux, et la section suivante explique comment le vérifier.
Id | Source | Target
-------------------------------------------|-----------------------|----------------------
start-output-fetchRate1-input | start:output | fetchRate1:input
fetchRate1-default-reshapeRate1-input | fetchRate1:default | reshapeRate1:input
reshapeRate1-success-belowThreshold1-input | reshapeRate1:success | belowThreshold1:input
belowThreshold1-true-endAlert1-input | belowThreshold1:true | endAlert1:input
belowThreshold1-false-endNoAction1-input | belowThreshold1:false | endNoAction1:input
Id | Source | Target
-------------------------------------------|-----------------------|----------------------
start-output-fetchRate1-input | start:output | fetchRate1:input
fetchRate1-default-reshapeRate1-input | fetchRate1:default | reshapeRate1:input
reshapeRate1-success-belowThreshold1-input | reshapeRate1:success | belowThreshold1:input
belowThreshold1-true-endAlert1-input | belowThreshold1:true | endAlert1:input
belowThreshold1-false-endNoAction1-input | belowThreshold1:false | endNoAction1:input
Si vos ID diffèrent, corrigez-les maintenant plutôt que d’adapter les expressions sur les pages qui suivent. Pour modifier les ID, suivez les étapes décrites pour renommer un ID de nœud.
3.2 - Vérifier les avertissements et erreurs
La commande validation lit l'intégralité du fichier, le valide et il est recommandé de l'exécuter avant de déployer un flux pour signaler des erreurs potentielles. Utilisez la commande suivante:
uip maestro flow validate PriceWatch/PriceWatch.flow
uip maestro flow validate PriceWatch/PriceWatch.flow
Vérifiez que vous voyez "Status": "Valid" sans Warnings (le champ File contiendra le chemin absolu et complet du fichier .flow en fonction de votre système d’exploitation et de votre nom d’utilisateur):
{
"Result": "Success",
"Code": "FlowValidate",
"Data": {
"File": "/home/user/tutorial-maestro-flow-price-watch/PriceWatch/PriceWatch.flow",
"Status": "Valid"
}
}
{
"Result": "Success",
"Code": "FlowValidate",
"Data": {
"File": "/home/user/tutorial-maestro-flow-price-watch/PriceWatch/PriceWatch.flow",
"Status": "Valid"
}
}
Si vous ne voyez aucun Warnings, n'hésitez pas à passer à l'étape suivante pour Tester le flux.
L’exécution de la commande validate avant l’exécution du Flux est fortement recommandée pour éviter les problèmes comme ceux indiqués ci-dessous. Les tâches uip maestro flow debug et uip maestro flow publish se terminent toutes deux avec succès avec des avertissements et n'échouent que s'il y a des erreurs. Si vous configurez des workflows d'intégration continue/de déploiement continu, n'oubliez pas d'ajouter uip maestro flow validate avant la commande publish pour vous assurer qu'il ne publie pas ou ne déploie pas de package comportant des avertissements.
Avertissements courants
Voici deux types d’avertissements courants à surveiller et comment les corriger:
-
triggerNodeIdmanquant sur une variable d'entrée, ce qui signifie qu'il a été configuré en tant que variable globale et non en tant que variable d'entrée de déclencheur. Les variables globales peuvent être lues et définies par n'importe quel nœud, et ne seront pas affichées lors du déclenchement manuel du flux en tant que valeur requise à fournir.- [variables.globals[baseCurrency].triggerNodeId] Input variable "baseCurrency" is read via `$vars.start.output.baseCurrency`, but it has no "triggerNodeId". At runtime the trigger "start" output will not contain "baseCurrency", so the value resolves to null (a downstream node may fault, e.g. "Cannot read property '…' of null"). Set "triggerNodeId": "start" on the "baseCurrency" global.- [variables.globals[baseCurrency].triggerNodeId] Input variable "baseCurrency" is read via `$vars.start.output.baseCurrency`, but it has no "triggerNodeId". At runtime the trigger "start" output will not contain "baseCurrency", so the value resolves to null (a downstream node may fault, e.g. "Cannot read property '…' of null"). Set "triggerNodeId": "start" on the "baseCurrency" global.Pour résoudre ce problème, supprimez d'abord la variable
baseCurrencyglobale, puis modifiez le nœud de déclencheurstartpour ajouter la variablebaseCurrencyà ce nœud (se référer à l'étape 2.1). -
MISSING_OUTPUT_MAPPING: un nœud de fin qui ne définit pas la ou les variables de sortie et les renverra avec des valeurs denull: tout système en aval ou flux qui en a besoin générera probablement une erreur si les valeurs ne sont pas définies.- [nodes[endAlert1].outputs.watchResult.source] [MISSING_OUTPUT_MAPPING] "End alert" is missing output mapping for "watchResult"- [nodes[endAlert1].outputs.watchResult.source] [MISSING_OUTPUT_MAPPING] "End alert" is missing output mapping for "watchResult"
Chaque nœud final aura un champ par variable de sortie créée dans le flux. Cela garantit que tous les nœuds de fin possibles renverront les mêmes sorties, mais que leur définition est configurée sur chaque nœud de fin individuel. Il est utile de se demander si les variables d'entrée du nœud du déclencheur et la variable de sortie des nœuds de fin correspondent aux valeurs de contrat nécessaires pour ce flux, similaires aux objets de demande et de réponse d'un appel d'API.
Si un mappage de sortie n'est pas défini sur un nœud final, il sera mis en évidence par un avertissement rouge pour "End" is missing output mapping for "<name>" lors de l'affichage des propriétés du nœud dans la zone de dessin dans VS Code. Il s'agit du même avertissement que uip maestro flow validate affiche comme MISSING_OUTPUT_MAPPING.
Nous pouvons à présent tester le flux à l'aide de la commande Debug.