UiPath Documentation
functions
latest
false
函数用户指南
  • 概述
    • 关于函数
  • JavaScript functions
    • 入门指南
    • Building JavaScript functions
    • HTTP triggers and routing
    • Function context
    • 访问平台服务
    • 测试和调试
  • Python 函数
  • 部署并运行
重要 :
请注意,此内容已使用机器翻译进行了本地化。 新发布内容的本地化可能需要 1-2 周的时间才能完成。

入门指南

Install the CLI, scaffold a JavaScript or TypeScript function project, and run your first function locally.

This page walks you through installing the CLI, scaffolding a project, and running your first JavaScript function locally.

先决条件

  • Node.js 20 or later.
  • The uip CLI with the functions tool:
npm install -g @uipath/cli
uip tools install @uipath/function-tool
npm install -g @uipath/cli
uip tools install @uipath/function-tool
  • A UiPath account with access to Orchestrator, for publishing and invoking.

构建项目

uip function new my-functions -l ts
cd my-functions
uip function new my-functions -l ts
cd my-functions

TypeScript is the default; pass -l js for JavaScript, or --empty to skip the sample function.

The scaffold creates:

文件用途
functions/hello.tsYour function logic — one function per file. Starts as a runnable example.
functions/_*.tsShared helpers. A leading underscore marks a file as a helper, so it gets no entry point and no trigger.
uipath.jsonMaps function names to their entry points.
package.json, tsconfig.jsonStandard project files.

编写您的第一个函数

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>() derives the JSON Schema from your TypeScript interface, so the same type declares the contract and types the handler. In JavaScript projects, pass a JSON Schema object instead.

The method and path make this function callable over HTTP. Omit both and it runs only as a job — see Building JavaScript functions.

在本地运行

uip function serve
uip function serve

This starts a hot-reload server on http://localhost:7070. Call the function:

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!"}

To reach Orchestrator from a local run, put UIPATH_ACCESS_TOKEN, UIPATH_BASE_URL, UIPATH_ORG_ID and UIPATH_TENANT_ID in a .env file at the project root. serve loads it on both supported runtimes.

后续步骤

此页面有帮助吗?

连接

需要帮助? 支持

想要了解详细内容? UiPath Academy

有问题? UiPath 论坛

保持更新