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 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 retournée devient la sortie de ce nœud.

L'environnement JavaScript

Les scripts s'exécutent dans un runtime isolé et ont accès aux éléments suivants:

  • $vars — l'étendue de la variable du flux. Accédez à la sortie du nœud en amont via $vars.<nodeName>.<property>.
  • metadata — métadonnées d'exécution de flux
  • 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, utilisez plutôt le nœud de requête HTTP.

Les scripts sont destinés à une logique rapide et en mémoire: maintenez-les rapides et évitez de traiter des charges utiles très volumineuses, lesquelles peuvent dépasser les limites de runtime ou expirer.

Accès à la sortie du nœud en amont

Utilisez $vars.<nodeName>.<property><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 retournée devient la sortie du nœud, accessible en aval en tant que $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 d’un schéma d’entrée saisi; tout ce qui se trouve dans $vars est disponible.

Sortie

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

La valeur de retour du script. La forme dépend de ce que renvoie le script.

En cas d’échec (lorsqu’une gestion des erreurs est connectée) — $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 AI

L'icône de la lanceur de runtimes au-dessus de l'éditeur de script 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 — 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 sous la forme $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 l’utiliser vs transformation de données

Utiliser le script lorsque...Utilisez la transformation de données lorsque...
Vous avez besoin d’une logique JavaScript complète — boucles, conditions, manipulation de stringVous avez besoin d’un mappage de champ simple ou d’une transformation sans code
Vous souhaitez calculer quelque chose à partir de la sortie du nœud en amontVous voulez un mappeur visuel sans écrire de code
La transformation est complexe ou complexeLa transformation est un remaniement 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