UiPath Documentation
maestro
latest
false
Benutzerhandbuch zu Maestro
Wichtig :
Es kann 1–2 Wochen dauern, bis die Lokalisierung neu veröffentlichter Inhalte verfügbar ist.

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​

FeldErforderlichStandardBeschreibung
SkriptJaKeineAuszufü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, URLSearchParams und 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.

War diese Seite hilfreich?

Verbinden

Benötigen Sie Hilfe? Support

Möchten Sie lernen? UiPath Academy

Haben Sie Fragen? UiPath-Forum

Auf dem neuesten Stand bleiben