- Erste Schritte
- Erstellen
- Fügen Sie einen KI-Agent zu einem Workflow hinzu
- Rufen Sie eine externe API auf
- Eingehende E-Mails verarbeiten
- Einen Slack-Benachrichtigungs-Workflow erstellen
- Eine menschliche Genehmigung zu einem Workflow hinzufügen
- Erstellen Sie einen Chat Agent-Workflow
- Fehler behandeln
- Grundlagen des Debuggens
- Human-in-the-Loop: Eskalation oder menschlicher Schritt
- Auswerten Ihrer Workflows
- Bereitstellen und ausführen
- Beispiele
- Referenz (Reference)
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.
- Community: Stellen Sie Fragen und teilen Sie Workflows mit anderen Buildern im UiPath Forum.
- 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