- Einleitung
- Erste Schritte
- Erstellen Sie auf einer beliebigen Canvas
- Erstellen Sie mit Fall
- Referenz (Reference)
- Definieren von Fallschlüsseln (System vs. extern)
- Erstellen von Task-E/A- und Write-Back-Verträgen
- 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)
- Erstellen Sie mit Flow
- Erstellen Sie mit BPMN
- Betrieb
- Überwachung
- Optimieren
- Referenzinformationen
Skript
Der Skriptknoten führt JavaScript-Code aus und gibt sein Ergebnis mit der Konfiguration, der JavaScript-Umgebung und Beispielen zurück.
Was es tut
Führt JavaScript-Code aus und übergibt den Rückgabewert danach an die Knoten.
Konfigurationsreferenz
| Feld | Erforderlich | Standard | Beschreibung |
|---|---|---|---|
| Code | Ja | Keine | JavaScript-Code, der ausgeführt werden soll. Er muss eine return -Anweisung enthalten und der zurückgegebene Wert wird zur Ausgabe des Knotens. |
Die JavaScript-Umgebung
Skripts werden in einer isolierten Runtime ausgeführt und haben Zugriff auf:
$vars: Der Variablen-Scope des Workflows. Die Ausgabe früherer Knoten ist als$vars.<nodeName>.<property>verfügbar.$metadata: Informationen über die Ausführung, z. B.InstanceId.- Standardmäßig integrierte JavaScript-Instanzen, wie z. B.
JSON,Math,Date,Array,Object,String,Number,RegExp,Error,Promise,URL,URLSearchParamsund die Timerfunktionen.
Aus Sicherheitsgründen blockiert die Runtime Netzwerk-APIs (fetch, XMLHttpRequest, WebSocket), dynamische Codeausführung (eval, Function) und Speicher-APIs (indexedDB, caches). Um eine externe API aufzurufen, ist der HTTP-Anforderungsknoten die Alternative.
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
Frühere Knoten werden mit $vars.<nodeName>.<property> gelesen, wobei <nodeName> die ID des Knotens ist, die auf der Registerkarte Erweitert des Eigenschaftenbereichs angezeigt wird:
// Access HTTP Request node response
const body = $vars.httpRequest1.output.body;
const status = $vars.httpRequest1.output.code;
// Access a workflow variable
const count = $vars.myVariable;
// Access HTTP Request node response
const body = $vars.httpRequest1.output.body;
const status = $vars.httpRequest1.output.code;
// Access a workflow 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 ist die Ausgabe $vars.<nodeName>.output, der Rückgabewert des Skripts. Die Form hängt davon ab, was das Skript zurückgibt.
Bei einem Fehler ist der Fehler $vars.<nodeName>.error, wenn ein Fehlerhandle verbunden ist:
{
"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 Blitz-Symbol über dem Code-Editor akzeptiert eine Beschreibung in einfacher Sprache 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 nachzuschlagen.
Beispiele
Beispiel 1: Berechnen von Werten für spätere Knoten
// 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: Lesen Sie eine HTTP-Antwort
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.code;
if (status === 200) {
return { success: true, data: $vars.httpRequest1.output.body };
} else {
return { success: false, statusCode: status };
}
const status = $vars.httpRequest1.output.code;
if (status === 200) {
return { success: true, data: $vars.httpRequest1.output.body };
} else {
return { success: false, statusCode: status };
}
Beispiel 4: Transformieren eines Arrays
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)
};
Auswahl zwischen Skript und Datentransformation
| 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. |
Nächste Schritte
- Variablen und Datenfluss:
$vars, Ausdruckssyntax und Variablen-Scoping. - HTTP-Anforderungsknoten: eine typische Datenquelle für ein Skript.
- Entscheidungsknoten: Verzweigung bei der Ausgabe eines Skripts.
- 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: Berechnen von Werten für spätere Knoten
- Beispiel 2: Lesen Sie eine HTTP-Antwort
- Beispiel 3: Bedingte Logik
- Beispiel 4: Transformieren eines Arrays
- Auswahl zwischen Skript und Datentransformation
- Nächste Schritte