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

Skriptknotenreferenz: Konfiguration, Umgebung und JavaScript-Beispiele.

Was es tut

Führt JavaScript-Code aus und übergibt den Rückgabewert an nachgelagerte Knoten.

Konfigurationsreferenz

FeldErforderlichStandardBeschreibung
SkriptJaKeineJavaScript-Code, der ausgeführt werden soll. Muss eine return -Anweisung enthalten; Der zurückgegebene Wert wird zur Ausgabe dieses Knotens.

Die JavaScript-Umgebung

Skripte werden in einer isolierten Runtime ausgeführt und haben Zugriff auf:

  • $vars – der Variablen-Scope des Flows. Greifen Sie über $vars.<nodeName>.<property> auf die Upstream-Knotenausgabe zu.
  • metadata – Metadaten zur Flow-Ausführung
  • Standardmäßig integrierte JavaScript – wie z. B. JSON, Math, Date, Array, Object, String, Number, RegExp, Error, Promise, URL, URLSearchParams und die Timerfunktionen.

Aus Sicherheitsgründen blockiert die Runtime Netzwerk-APIs (fetch, XMLHttpRequest, WebSocket), dynamische Codeausführung (eval, Function) und Speicher-APIs (indexedDB, caches). Verwenden Sie zum Aufrufen einer externen API stattdessen den Knoten „HTTP-Anforderung“.

Skripte sind für schnelle, speicherinterne Logik gedacht: Halten Sie sie schnell und vermeiden Sie die Verarbeitung sehr großer Nutzlasten, die Runtime-Limits oder Timeouts überschreiten können.

Zugriff auf die Ausgabe des Upstream-Knotens

Verwenden Sie $vars.<nodeName>.<property> wobei <nodeName> der Variablenname des Knotens ist (angezeigt im Eigenschaftenbereich):

// 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 später als $vars.<nodeName>.output zugegriffen werden kann:

return {
  message: "Processed",
  count: items.length
};
return {
  message: "Processed",
  count: items.length
};

Eingaben und Ausgaben

Eingabe

Der Skriptknoten kann über $vars auf jede Upstream-Variable zugreifen. Es hat kein typisiertes Eingabeschema – alles in $vars ist verfügbar.

Ausgabe

Bei Erfolg$vars.<nodeName>.output:

Der Rückgabewert des Skripts. Die Form hängt davon ab, was das Skript zurückgibt.

Bei Fehler (wenn ein Fehler-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
}

Generieren Sie Skripts mit KI

Das Studio- Symbol über dem Skript-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 – Legen Sie eine Prozessvariable fest

// 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"
};

Downstream-Knoten greifen auf die Werte als $vars.script1.output.orderTotal und $vars.script1.output.currency zu.

Beispiel 2 – Verarbeiten 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.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 – 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)
};

Wann diese Option im Vergleich zu Data Transform verwendet werden sollte

Skript verwenden, wenn…Datentransformation verwenden, wenn…
Sie benötigen eine vollständige JavaScript-Logik – Schleifen, Bedingungen, String-ManipulationSie benötigen eine einfache Feldzuordnung oder eine Transformation ohne Code
Sie möchten etwas aus der Ausgabe des Upstream-Knotens berechnenSie möchten eine visuelle Zuordnung ohne Schreiben von Code
Die Transformation ist komplex oder zustandsorientiertDie Transformation ist eine einfache Umgestaltung

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