- Einleitung
- Erste Schritte
- Erstellen mit Maestro BPMN
- Grundlegendes zur BPMN-Modellierung von Maestro
- Öffnen der Modellierungsarbeitsfläche
- Modellierung Ihres Prozesses
- Ausrichten und Verbinden von BPMN-Elementen
- Patterns library
- Autopilot for Maestro (Vorschau)
- Prozess-Repository
- Einen einfachen BPMN-Prozess implementieren
- Einen komplexen BPMN-Prozess implementieren
- Debugging
- Simulieren
- Auswertungen (Vorschau)
- Häufige Implementierungsszenarien
- Erstellen mit Maestro Case
- Einführung in Maestro Case
- Maestro BPMN vs. Maestro Case: Wann wird Case Management verwendet?
- Der Lebenszyklus von Maestro Case: Vom Ereignis-Trigger zum App-Erlebnis
- Erstellen Sie Ihren ersten Fall mit Maestro Case
- Maestro Case mit einem Codierungs-Agent erstellen (Vorschau)
- Definieren von Fallschlüsseln (System vs. extern)
- Erstellen von Task-E/A- und Write-Back-Verträgen
- Austrittsregeln und Beendigung der frühen Phase
- Modellieren von primären und sekundären Phasen
- Auslösen eines Falls aus Data Fabric
- Implementieren von Personas und Berechtigungen auf Phasenebene
- Festlegen von SLAs und automatisierten Eskalationsregeln
- Konfigurieren einer Nacharbeitsschleife (Wiedereintritt)
- Konfigurieren und Testen des Case Manager-Agents (Vorschau)
- Eingabe- und Ausgabevertrag für den Fall Manager
- Wörterbuch für die Komponente „Maestro Case“.
- Erstellen mit Maestro Flow
- Maestro Automate
- Integrationen
- Betrieb
- Überwachung
- Optimieren
- Referenzinformationen
Skript
Referenz zum Script-Knoten: Konfiguration, Umgebung und JavaScript-Beispiele.
Was es tut
Führt JavaScript-Code aus und übergibt den Rückgabewert an nachgelagerte Knoten.
Konfigurationsreferenz
| Feld | Erforderlich | Standard | Beschreibung |
|---|---|---|---|
| Skript | Ja | Keine | Auszuführender JavaScript-Code. Muss eine return-Anweisung enthalten; der zurückgegebene Wert wird zur Ausgabe dieses Knotens. |
Die JavaScript-Umgebung
Skripts werden in einer isolierten Runtime ausgeführt und haben Zugriff auf:
$vars– den Variablen-Scope des Flows. Greifen Sie über$vars.<nodeName>.<property>auf die Ausgabe eines vorgelagerten Knotens zu.metadata– Metadaten zur Flow-Ausführung- Standard-JavaScript-Built-ins – wie
JSON,Math,Date,Array,Object,String,Number,RegExp,Error,Promise,URL,URLSearchParamsund die Timer-Funktionen.
Aus Sicherheitsgründen blockiert die Runtime Netzwerk-APIs (fetch, XMLHttpRequest, WebSocket), die dynamische Codeausführung (eval, Function) und Speicher-APIs (indexedDB, caches). Um eine externe API aufzurufen, verwenden Sie stattdessen den HTTP-Request-Knoten.
Skripts sind für schnelle In-Memory-Logik vorgesehen: Halten Sie sie kurz und vermeiden Sie die Verarbeitung sehr großer Nutzlasten, da diese die Runtime-Limits überschreiten oder zu einem Timeout führen können.
Zugriff auf die Ausgabe eines vorgelagerten Knotens
Verwenden Sie $vars.<nodeName>.<property>, wobei <nodeName> der Variablenname des Knotens ist (im Eigenschaftenbereich angezeigt):
// 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;
Rückgabewert
Das Skript muss einen Wert zurückgeben. Der zurückgegebene Wert wird zur Ausgabe des Knotens, auf die nachgelagerte Knoten über $vars.<nodeName>.output zugreifen können:
return {
message: "Processed",
count: items.length
};
return {
message: "Processed",
count: items.length
};
Eingaben und Ausgaben
Eingabe
Der Script-Knoten kann über $vars auf jede Variable eines vorgelagerten Knotens zugreifen. Er verfügt über kein typisiertes Eingabeschema – alles in $vars ist verfügbar.
Ausgabe
Bei Erfolg – $vars.<nodeName>.output:
Der Rückgabewert des Skripts. Die Struktur hängt davon ab, was das Skript zurückgibt.
Bei einem Fehler (wenn ein Error-Handle verbunden ist) – $vars.<nodeName>.error:
{
"code": "string",
"message": "string",
"detail": "string",
"category": "string",
"status": 0
}
{
"code": "string",
"message": "string",
"detail": "string",
"category": "string",
"status": 0
}
Skripts mit KI generieren
Das Zauberstab-Symbol über dem Skript-Editor akzeptiert eine Beschreibung in einfacher Sprache dessen, was Sie möchten, und generiert das JavaScript für Sie. Dies ist nützlich, um auf die Ausgabe eines vorgelagerten Knotens zuzugreifen oder eine schnelle Transformation zu schreiben, ohne die genaue $vars-Syntax nachschlagen zu müssen.
Beispiele
Beispiel 1 – Eine Prozessvariable festlegen
// 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"
};
Nachgelagerte Knoten greifen über $vars.script1.output.orderTotal und $vars.script1.output.currency auf die Werte zu.
Beispiel 2 – Eine HTTP-Antwort verarbeiten
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
};
Beispiel 3 – Bedingte Logik
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 };
}
Beispiel 4 – Ein Array transformieren
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)
};
Wann Sie dies anstelle von Data Transform verwenden sollten
| Verwenden Sie Script, wenn … | Verwenden Sie Data Transform, wenn … |
|---|---|
| Sie benötigen die vollständige JavaScript-Logik – Schleifen, Bedingungen und String-Manipulation. | Sie benötigen eine einfache Feldzuordnung oder eine Transformation ohne Code. |
| Sie möchten etwas aus der Ausgabe eines vorgelagerten Knotens berechnen. | Sie möchten eine visuelle Zuordnung vornehmen, ohne Code zu schreiben. |
| Die Transformation ist komplex oder zustandsbehaftet. | Die Transformation ist eine einfache Umformung. |
Zugehörige Seiten
- Variablen und Datenfluss –
$vars, Ausdruckssyntax, Variablen-Scope - HTTP Request-Knoten – typische vorgelagerte Datenquelle
- Decision-Knoten – Verzweigung basierend auf der Skriptausgabe
- Was es tut
- Konfigurationsreferenz
- Die JavaScript-Umgebung
- Zugriff auf die Ausgabe eines vorgelagerten Knotens
- Rückgabewert
- Eingaben und Ausgaben
- Eingabe
- Ausgabe
- Skripts mit KI generieren
- Beispiele
- Beispiel 1 – Eine Prozessvariable festlegen
- Beispiel 2 – Eine HTTP-Antwort verarbeiten
- Beispiel 3 – Bedingte Logik
- Beispiel 4 – Ein Array transformieren
- Wann Sie dies anstelle von Data Transform verwenden sollten
- Zugehörige Seiten