UiPath Documentation
maestro
latest
false
Guide de l'utilisateur de Maestro
Important :
La localisation du contenu nouvellement publié peut prendre 1 à 2 semaines avant d’être disponible.

Script

Référence du nœud de script : exemples de configuration, d'environnement et de JavaScript.

Ce qu’il fait​

Exécute le code JavaScript et transmet la valeur de retour aux nœuds en aval.

Référence de la configuration​

ChampRequisDefaultDescription
ScriptOui (Yes)Aucun (None)Code JavaScript à exécuter. Doit contenir une instruction return ; la valeur renvoyée devient la sortie de ce nœud.

L'environnement JavaScript​

Les scripts s'exécutent dans un runtime isolé et ont accès à :

  • $vars - la portée des variables du flux. Accédez à la sortie du nœud en amont via $vars.<nodeName>.<property>.
  • metadata - métadonnées d'exécution de flux
  • Fonctions intégrées standard de JavaScript - tels que JSON, Math, Date, Array, Object, String, Number, RegExp, Error, Promise, URL, URLSearchParams, et les fonctions de minuteur.

Pour la sécurité, le runtime bloque les API réseau (fetch, XMLHttpRequest, WebSocket), l'exécution de code dynamique (eval, Function) et les API de stockage (indexedDB, caches). Pour appeler une API externe, utilisez plutôt le nœud de demande HTTP.

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​

Utilisez $vars.<nodeName>.<property> où <nodeName> est le nom de la variable du nœud (affiché dans le panneau Propriétés) :

// Access HTTP Request node response
const body = $vars.httpRequest1.output.body;
const status = $vars.httpRequest1.output.statusCode;

// Access a flow variable
const count = $vars.myVariable;
// Access HTTP Request node response
const body = $vars.httpRequest1.output.body;
const status = $vars.httpRequest1.output.statusCode;

// Access a flow 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​

En cas de réussite - $vars.<nodeName>.output:

La valeur renvoyée par le script. La forme dépend de ce que le script renvoie.

En cas d'échec (lorsqu'un gestionnaire d'erreurs est connecté) - $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 de baguette magique au-dessus de l'éditeur de script accepte une description en langage simple de ce que vous souhaitez et génère le JavaScript pour vous. Cela est utile pour accéder à la sortie d'un nœud en amont ou écrire une transformation rapide sans rechercher la syntaxe $vars exacte.

Exemples​

Exemple 1 - Définir une variable de processus​

// 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 - Traiter 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.statusCode;

if (status === 200) {
  return { success: true, data: $vars.httpRequest1.output.body };
} else {
  return { success: false, statusCode: status };
}
const status = $vars.httpRequest1.output.statusCode;

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)
};

Quand utiliser ceci par rapport à la transformation des 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înesVous 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 amontVous souhaitez un mappeur visuel sans écrire de code
La transformation est complexe ou avec étatLa transformation est un remodelage simple

Cette page vous a-t-elle été utile ?

Connecter

Besoin d'aide ? Assistance

Vous souhaitez apprendre ? UiPath Academy

Vous avez des questions ? UiPath Forum

Rester à jour