- Démarrer
- Construire
- Ajouter un agent d'IA à un workflow
- Appeler une API externe
- Traiter les e-mails entrants
- Créer un workflow de notification Slack
- Ajouter une approbation humaine à un workflow
- Créer un workflow d’agent de chat
- Gérer les erreurs
- Principes de base du débogage
- L'humain dans la boucle: escalade ou étape humaine
- Évaluation de vos workflows
- Déployer et exécuter
- Exemples
- Référence (Reference)
Script
Le nœud Script exécute le code JavaScript et renvoie son résultat, avec la configuration, l'environnement JavaScript et des exemples.
Ce qu’il fait
Exécute le code JavaScript, puis transmet la valeur de retour aux nœuds qui se trouvent après.
Référence de la configuration
| Champ | Requis | Default | Description |
|---|---|---|---|
| Code | Oui (Yes) | Aucun (None) | Code JavaScript à exécuter. Il doit contenir une instruction return , et la valeur renvoyée devient la sortie du nœud. |
L'environnement JavaScript
Les scripts s'exécutent dans un runtime isolé et ont accès à :
$vars: l'étendue de la variable du workflow. La sortie des nœuds antérieurs est disponible en tant que$vars.<nodeName>.<property>.$metadata: informations sur l'exécution, telles queInstanceId.- Intégrations JavaScript standard, telles que
JSON,Math,Date,Array,Object,String,Number,RegExp,Error,Promise,URL,URLSearchParams, et les fonctions de minuterie.
Pour des raisons de sécurité, le runtime bloque les API réseau (fetch, XMLHttpRequest, WebSocket), l’exécution dynamique du code (eval, Function) et les API de stockage (indexedDB, caches). Pour appeler une API externe, le nœud de requête HTTP est l'alternative.
Les scripts sont destinés à une logique rapide et en mémoire : veillez à ce qu'ils restent rapides et évitez de traiter de très grandes charges utiles, qui peuvent dépasser les limites de runtime ou le délai d'expiration.
Accès à la sortie du nœud en amont
Les nœuds antérieurs sont lus avec $vars.<nodeName>.<property>, où <nodeName> est l'ID du nœud, affiché dans l'onglet Avancé de son panneau Propriétés:
// Access HTTP Request node response
const body = $vars.httpRequest1.output.body;
const status = $vars.httpRequest1.output.code;
// Access a workflow variable
const count = $vars.myVariable;
// Access HTTP Request node response
const body = $vars.httpRequest1.output.body;
const status = $vars.httpRequest1.output.code;
// Access a workflow variable
const count = $vars.myVariable;
RetournerValeur
Le script doit renvoyer une valeur. La valeur renvoyée devient la sortie du nœud, accessible en aval comme $vars.<nodeName>.output :
return {
message: "Processed",
count: items.length
};
return {
message: "Processed",
count: items.length
};
Entrées et sorties
Entrée
Le nœud Script peut accéder à n'importe quelle variable en amont via $vars. Il ne dispose pas de schéma d'entrée typé ; tout ce qui se trouve dans $vars est disponible.
Sortie
Si cela réussit, la sortie sera $vars.<nodeName>.output, soit la valeur de retour du script. Sa forme dépend de ce que renvoie le script.
En cas d'échec, lorsqu'une gestion des erreurs est connectée, l'erreur est $vars.<nodeName>.error:
{
"code": "string",
"message": "string",
"detail": "string",
"category": "string",
"status": 0
}
{
"code": "string",
"message": "string",
"detail": "string",
"category": "string",
"status": 0
}
Générer des scripts avec l'IA
L'icône en forme d'étoile au-dessus de l'éditeur de code accepte une description en langage clair de ce que vous voulez et génère le JavaScript pour vous. Cela est utile pour accéder à la sortie d'un nœud en amont ou pour écrire une transformation rapide sans rechercher la syntaxe $vars exacte.
Exemples
Exemple 1: calculer les valeurs pour les nœuds ultérieurs
// Set a variable that downstream nodes can reference
return {
orderTotal: $vars.httpRequest1.output.body.price * $vars.httpRequest1.output.body.quantity,
currency: "USD"
};
// Set a variable that downstream nodes can reference
return {
orderTotal: $vars.httpRequest1.output.body.price * $vars.httpRequest1.output.body.quantity,
currency: "USD"
};
Les nœuds en aval accèdent aux valeurs comme $vars.script1.output.orderTotal et $vars.script1.output.currency.
Exemple 2: lire une réponse HTTP
const data = $vars.httpRequest1.output.body;
return {
title: data.title,
userId: data.userId
};
const data = $vars.httpRequest1.output.body;
return {
title: data.title,
userId: data.userId
};
Exemple 3: logique conditionnelle
const status = $vars.httpRequest1.output.code;
if (status === 200) {
return { success: true, data: $vars.httpRequest1.output.body };
} else {
return { success: false, statusCode: status };
}
const status = $vars.httpRequest1.output.code;
if (status === 200) {
return { success: true, data: $vars.httpRequest1.output.body };
} else {
return { success: false, statusCode: status };
}
Exemple 4: transformer un tableau
const items = $vars.fetchItems1.output.body;
return {
count: items.length,
names: items.map(item => item.name)
};
const items = $vars.fetchItems1.output.body;
return {
count: items.length,
names: items.map(item => item.name)
};
Choix entre le script et la transformation de données
| Utiliser un script lorsque... | Utiliser la transformation des données lorsque... |
|---|---|
| Vous avez besoin d'une logique JavaScript complète - boucles, conditionnels, manipulation de chaînes | Vous avez besoin d'un mappage de champs simple ou d'une transformation sans code |
| Vous souhaitez calculer quelque chose à partir de la sortie du nœud en amont | Vous souhaitez un mappeur visuel sans écrire de code |
| La transformation est complexe ou avec état | La transformation est un remodelage simple |
Prochaines étapes
- Variables et flux de données:
$vars, syntaxe de l'expression et portée des variables. - Nœud de requête HTTP: une source de données typique pour un script.
- Nœud de décision: ramification sur la sortie d'un script.
- Community (Communauté): posez des questions et partagez des workflows avec d'autres développeurs sur le forum UiPath.
- Ce qu’il fait
- Référence de la configuration
- L'environnement JavaScript
- Accès à la sortie du nœud en amont
- RetournerValeur
- Entrées et sorties
- Entrée
- Sortie
- Générer des scripts avec l'IA
- Exemples
- Exemple 1: calculer les valeurs pour les nœuds ultérieurs
- Exemple 2: lire une réponse HTTP
- Exemple 3: logique conditionnelle
- Exemple 4: transformer un tableau
- Choix entre le script et la transformation de données
- Prochaines étapes