- Comience ya
- Crear
- Añadir un agente de IA a un flujo de trabajo
- Llamar a una API externa
- Procesar correos electrónicos entrantes
- Crear un flujo de trabajo de notificación de Slack
- Añadir aprobación humana a un flujo de trabajo
- Crear un flujo de trabajo de agente de chat
- Gestionar errores
- Fundamentos de la depuración
- Intervención humana: escalada o paso humano
- Evaluar tus flujos de trabajo
- Implementar y ejecutar
- Ejemplos
- Referencia
Script
El nodo Script ejecuta código JavaScript y devuelve su resultado, con la configuración, el entorno JavaScript y ejemplos.
Lo que hace
Ejecuta código JavaScript y pasa el valor devuelto a los nodos posteriores.
Referencia de configuración
| Campo | Obligatorio | Predeterminado | Descripción |
|---|---|---|---|
| Código | Sí | Ninguno | Código JavaScript a ejecutar. Debe contener una instrucción return , y el valor devuelto se convierte en la salida del nodo. |
El entorno JavaScript
Los scripts se ejecutan en un runtime aislado y tienen acceso a:
$vars: el ámbito de la variable del flujo de trabajo. La salida de los nodos anteriores está disponible como$vars.<nodeName>.<property>.$metadata: información sobre la ejecución, comoInstanceId.- JavaScript estándar integrado, como
JSON,Math,Date,Array,Object,String,Number,RegExp,Error,Promise,URL,URLSearchParamsy las funciones de temporizador.
Por seguridad, el runtime bloquea las API de red (fetch, XMLHttpRequest, WebSocket), la ejecución de código dinámico (eval, Function) y las API de almacenamiento (indexedDB, caches). Para llamar a una API externa, el nodo Solicitud HTTP es la alternativa.
Los scripts están destinados a una lógica rápida en memoria: mantenlos rápidos y evita procesar cargas útiles muy grandes, que pueden superar los límites de tiempo de ejecución o el tiempo de espera.
Acceder a la salida del nodo anterior
Los nodos anteriores se leen con $vars.<nodeName>.<property>, donde <nodeName> es el ID del nodo, que se muestra en la pestaña Avanzado de su panel de propiedades:
// 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;
ValorDeRetorno
El script debe devolver un valor. El valor devuelto se convierte en la salida del nodo, accesible en sentido descendente como $vars.<nodeName>.output:
return {
message: "Processed",
count: items.length
};
return {
message: "Processed",
count: items.length
};
Entradas y salidas
Entrada
El nodo Script puede acceder a cualquier variable anterior a través de $vars. No tiene un esquema de entrada con tipo: cualquier cosa en $vars está disponible.
Salida
En caso de éxito, la salida $vars.<nodeName>.output, que es el valor devuelto por el script. Su forma depende de lo que devuelva el script.
En caso de fallo, cuando se conecta un controlador de errores, el error es $vars.<nodeName>.error
{
"code": "string",
"message": "string",
"detail": "string",
"category": "string",
"status": 0
}
{
"code": "string",
"message": "string",
"detail": "string",
"category": "string",
"status": 0
}
Generar scripts con IA
El icono de destello sobre el editor de código acepta una descripción en lenguaje sencillo de lo que quieres y genera el JavaScript para ti. Esto es útil para acceder a la salida de un nodo ascendente o escribir una transformación rápida sin buscar la sintaxis $vars exacta.
Ejemplos
Ejemplo 1: calcular valores para nodos posteriores
// 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"
};
Los nodos posteriores acceden a los valores como $vars.script1.output.orderTotal y $vars.script1.output.currency.
Ejemplo 2: leer una respuesta HTTP
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
};
Ejemplo 3: lógica condicional
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 };
}
Ejemplo 4: transformar una matriz
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)
};
Elegir entre Script y Transformación de datos
| Usar script cuando... | Utilizar Transformación de datos cuando... |
|---|---|
| Necesitas la lógica de JavaScript completa: bucles, condicionales, manipulación de cadenas | Necesita una asignación de campo simple o una transformación sin código |
| Desea calcular algo a partir de la salida del nodo anterior | Quieres un asignador visual sin escribir código |
| La transformación es compleja o con estado | La transformación es una reforma directa |
Próximos pasos
- Variables y flujo de datos:
$vars, sintaxis de expresión y ámbito de variable. - Nodo de solicitud HTTP: una fuente típica de datos para un script.
- Nodo de decisión: ramificación en la salida de un script.
- Comunidad: haz preguntas y comparte flujos de trabajo con otros constructores en UiPath Forum.
- Lo que hace
- Referencia de configuración
- El entorno JavaScript
- Acceder a la salida del nodo anterior
- ValorDeRetorno
- Entradas y salidas
- Entrada
- Salida
- Generar scripts con IA
- Ejemplos
- Ejemplo 1: calcular valores para nodos posteriores
- Ejemplo 2: leer una respuesta HTTP
- Ejemplo 3: lógica condicional
- Ejemplo 4: transformar una matriz
- Elegir entre Script y Transformación de datos
- Próximos pasos