- Información general
- Funciones JavaScript
- Funciones de Python
- Implementar y ejecutar
Primeros pasos
Instala la CLI, aplica andamios a un proyecto de función JavaScript o TypeScript y ejecuta tu primera función localmente.
Esta página te guía a través de la instalación de CLI, el andamiaje de un proyecto y la ejecución local de tu primera función JavaScript.
Requisitos previos
- Node.js 20 o posterior.
- La CLI
uipcon la herramienta de funciones:
npm install -g @uipath/cli
uip tools install @uipath/function-tool
npm install -g @uipath/cli
uip tools install @uipath/function-tool
- Una cuenta de UiPath con acceso a Orchestrator, para publicar e invocar.
Andamio de un proyecto
uip function new my-functions -l ts
cd my-functions
uip function new my-functions -l ts
cd my-functions
TypeScript es el predeterminado; introduce -l js para JavaScript, o --empty para omitir la función de ejemplo.
El andamio crea:
| Archivo | Propósito |
|---|---|
functions/hello.ts | Tu lógica de función: una función por archivo. Se inicia como un ejemplo ejecutable. |
functions/_*.ts | Ayudantes compartidos. Un guion bajo inicial marca un archivo como ayudante, por lo que no tiene punto de entrada ni desencadenador. |
uipath.json | Asigna nombres de funciones a sus puntos de entrada. |
package.json, tsconfig.json | Archivos de proyecto estándar. |
Escribe tu primera función
import { defineFunction, defineSchema } from "@uipath/coded-functions-js-sdk";
interface HelloInput {
name: string;
}
interface HelloOutput {
message: string;
}
export default defineFunction({
name: "hello",
method: "POST",
path: "/hello",
input: defineSchema<HelloInput>(),
output: defineSchema<HelloOutput>(),
handler: async (input) => ({ message: `Hello, ${input.name}!` }),
});
import { defineFunction, defineSchema } from "@uipath/coded-functions-js-sdk";
interface HelloInput {
name: string;
}
interface HelloOutput {
message: string;
}
export default defineFunction({
name: "hello",
method: "POST",
path: "/hello",
input: defineSchema<HelloInput>(),
output: defineSchema<HelloOutput>(),
handler: async (input) => ({ message: `Hello, ${input.name}!` }),
});
defineSchema<T>() deriva el esquema JSON de tu interfaz de TypeScript, por lo que el mismo tipo declara el contrato y escribe el controlador. En los proyectos de JavaScript, pasa un objeto de esquema JSON en su lugar.
method y path hacen que esta función se pueda llamar a través de HTTP. Omite ambos y solo se ejecutará como un trabajo. Consulta Crear funciones JavaScript.
Ejecutarlo localmente
uip function serve
uip function serve
Esto inicia un servidor de recarga en caliente en http://localhost:7070. Llama a la función:
curl -X POST http://localhost:7070/hello \
-H "Content-Type: application/json" \
-d '{"name":"Alice"}'
# {"message":"Hello, Alice!"}
curl -X POST http://localhost:7070/hello \
-H "Content-Type: application/json" \
-d '{"name":"Alice"}'
# {"message":"Hello, Alice!"}
Para acceder a Orchestrator desde una ejecución local, coloca UIPATH_ACCESS_TOKEN, UIPATH_BASE_URL, UIPATH_ORG_ID y UIPATH_TENANT_ID en un archivo .env en la raíz del proyecto. serve lo carga en ambos runtimes compatibles.
Próximos pasos
- Crear funciones JavaScript : contratos, errores y las dos formas de función.
- Desencadenadores HTTP y enrutamiento : rutas, parámetros de ruta y llamada a una función implementada.
- Empaquetado y publicación : implementación en Orchestrator.
- Referencia de CLI : cada comando y marca.