- Introduction
- Démarrage
- Modélisation du processus avec BPMN
- Compréhension de la modélisation des processus
- Ouverture du canevas de modélisation
- Modéliser votre processus
- Alignement et connexion des éléments BPMN
- Autopilot pour Maestro (aperçu)
- Référentiel de processus
- Modélisation des processus avec la gestion des incidents
- Concevoir un schéma d'entité de cas persistant
- Définition des clés de cas (système vs. externe)
- Établissement des contrats d'E/S et de réécriture de la tâche
- Règles de sortie et fin de l’étape précoce
- Modélisation des étapes primaires et secondaires
- Déclencher un cas à partir de Data Fabric
- Implémentation des personas et des autorisations au niveau de l'étape
- Définition des SLA et des règles d'escalade automatisées
- Configuration d'une boucle de retraitement (renouvellement)
- Gestion des instances de cas en cours : suspendre, migrer et réessayer
- Dictionnaire des composants de gestion des incidents Maestro
- Modélisation des processus avec Flow
- Implémentation des processus
- Débogage
- Simulation
- Publication et mise à niveau des processus agentiques
- Scénarios de mise en œuvre courants
- Extraire et valider des documents
- Opérations de processus
- Surveillance des processus
- Optimisation des processus
- Informations de référence
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
| Champ | Requis | Default | Description |
|---|---|---|---|
| Script | Oui (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> 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 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 string | Vous 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 amont | Vous voulez un mappeur visuel sans écrire de code |
| La transformation est complexe ou complexe | La transformation est un remaniement simple |
Pages liées
- Variables et flux de données —
$vars, syntaxe de l'expression, étendue des variables - Nœud de requête HTTP — source de données en amont type
- Nœud de décision — branche basée sur la sortie de script
- 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 AI
- Exemples
- Exemple 1 — Définir une variable de processus
- Exemple 2 — Traiter une réponse HTTP
- Exemple 3 - Logique conditionnelle
- Exemple 4 — Transformer un tableau
- Quand l’utiliser vs transformation de données
- Pages liées