- Introduction
- Démarrage
- Créer avec Maestro BPMN
- Compréhension de la modélisation BPMN de Maestro
- 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
- Implémenter un processus BPMN simple
- Implémenter un processus BPMN complexe
- Débogage
- Simulation
- Evaluations (Preview)
- Scénarios de mise en œuvre courants
- Building with Maestro Case
- Présentation de Maestro Case
- Maestro BPMN vs. Maestro Case : quand utiliser la gestion des incidents
- Le cycle de vie de Maestro Case : du déclencheur d'événement à l'expérience de l'application
- Créer votre premier incident avec Maestro Case
- Build a Maestro Case with a coding agent (preview)
- 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)
- Configuring and testing the Case Manager Agent (preview)
- Contrat d’entrée et de sortie du gestionnaire de cas
- Dictionnaire des composants de Maestro Case
- Créer avec Maestro Flow
- Maestro Automate
- Intégrations
- Opérations
- Surveillance
- Optimisation
- Informations de référence
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
| Champ | Requis | Default | Description |
|---|---|---|---|
| Script | Oui (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î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 |
Pages liées
- Variables et flux de données -
$vars, syntaxe de l'expression, étendue des variables - Nœud de demande HTTP - source de données en amont typique
- Nœud de décision - branche basée sur la sortie du 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 l'IA
- 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 utiliser ceci par rapport à la transformation des données
- Pages liées