- 概述
- 开始使用
- 概念
- 使用 UiPath CLI
- 操作指南
- CI/CD 方法
- 命令参考
- 迁移
- 参考与支持
Syntax and options for `uip function`, which builds, serves, and publishes UiPath JS/TS and Python Functions — setup, new, init, serve, run, pack, push, publish, runtime-install.
uip function builds, serves, and publishes UiPath Functions — small JS/TS or Python handlers packaged and run on the UiPath platform. uip function is the canonical group name; uip functions (plural) still works as a back-compat alias.
概念
- This is a language dispatcher, not a native tool. Every verb except
setupis a thin forwarder: the CLI detects your project's language (fromuipath.json,package.json, orpyproject.tomlin the current directory, or--language/-lonnew) and routes the raw arguments to either an in-process JS/TS CLI (@uipath/coded-functions-js-cli) or a spawned Python CLI.uip function <verb> --helpfor any forwarded verb therefore shows the underlying CLI's own help, not auip-authored one — the options tables below are extracted from the forwarding wrapper's own flag hints and examples, which is the most this repo's tooling exposes before the downstream CLI takes over. - Language resolution matters for
initandnew.initis Python-only — for JS/TS, scaffold instead withnew --empty.newauto-detects; when detection is inconclusive, it defaults to TypeScript with a logged warning, unless you pass--language js|ts|py/python. setupruns automatically. It's a hidden command (not in--help) that verifies Node.js ≥20 beforenewforwards to the JS/TS CLI — you don't normally call it yourself, butuip function setup --forcere-runs the check if the cached verification goes stale (e.g. after a Node reinstall).publishvs.pushtarget different destinations:publishuploads the packed.nupkgto an Orchestrator feed;pushsyncs the project directly into a Studio Web project. Both accept--url/--org/--token(or the matchingUIPATH_URL/UIPATH_ORGANIZATION_NAME/UIPATH_ACCESS_TOKENenv vars).- Solution auto-registration. A successful Python
initauto-registers the project into a parent.uipxsolution when one exists (same pattern asagent/case/flowinit) — pass--skip-solution-registrationto opt out. This reports via a separateFunctionsInitSolutionRegistrationsuccess envelope after the underlying Python CLI's own init output.
大纲
uip function new [name] [--name <name>] [-l, --language ts|js|py] [--empty]
uip function init [--language py] [--skip-solution-registration]
uip function serve [--port <port>] [--runtime node|deno]
uip function run <name> [--port <port>] [--input <json>]
uip function pack [--nolock]
uip function push [--url <url>] [--project-id <id>] [--org <org>] [--token <token>]
uip function publish [--url <url>] [--org <org>] [--token <token>] [--feed-id <id>]
uip function runtime-install [--path <folder>]
uip function new [name] [--name <name>] [-l, --language ts|js|py] [--empty]
uip function init [--language py] [--skip-solution-registration]
uip function serve [--port <port>] [--runtime node|deno]
uip function run <name> [--port <port>] [--input <json>]
uip function pack [--nolock]
uip function push [--url <url>] [--project-id <id>] [--org <org>] [--token <token>]
uip function publish [--url <url>] [--org <org>] [--token <token>] [--feed-id <id>]
uip function runtime-install [--path <folder>]
uip function new
Scaffold a new Functions project, including a hello-world function by default.
参数
| 名称 | 必填 | 用途 |
|---|---|---|
[name] | 否 | Project name / directory. Default my-functions. May also be passed as --name. |
选项
| 长 | 值 | 描述 |
|---|---|---|
--name <name> | 字符串 | Alternative to the positional argument. |
-l, --language <lang> | ts (default) | js | py/python | Project language. |
--empty | 标记 | Skip the hello-world function — empty project. JS/TS only. |
示例
uip function new my-fn --language ts
uip function new my-fn --language py
uip function new my-fn --language ts
uip function new my-fn --language py
数据形状(--输出 json)
{ "Code": "NewComplete", "Data": { "Message": "Project created at ./my-fn" } }
{ "Code": "NewComplete", "Data": { "Message": "Project created at ./my-fn" } }
uip function init
Python-only: discover entrypoints and (re)generate entry-points.json/bindings.json/project.uiproj. Must run before pack/push for a Python project. For JS/TS, use new --empty instead — init fails with an explicit "Python-only" error against a JS/TS project or an undetected language.
选项
| 长 | 值 | 描述 |
|---|---|---|
--language py | flag/value | Force Python language resolution when detection would otherwise be ambiguous. |
--skip-solution-registration | 标记 | Do not auto-register the project in a parent .uipx solution. |
示例
uip function init
uip function init
数据形状(--输出 json)
{ "Code": "InitComplete", "Data": { "Message": "Project initialized." } }
{ "Code": "InitComplete", "Data": { "Message": "Project initialized." } }
Followed by a second success envelope reporting solution registration:
{
"Code": "FunctionsInitSolutionRegistration",
"Data": { "SolutionRegistration": { "Status": "Registered", "...": "..." } }
}
{
"Code": "FunctionsInitSolutionRegistration",
"Data": { "SolutionRegistration": { "Status": "Registered", "...": "..." } }
}
SolutionRegistration.Status is "NotInSolution" when no parent solution exists, or "OptedOut" when --skip-solution-registration was passed — always present, never omitted.
uip function serve
Start the local function server with hot reload. JS/TS only.
选项
| 长 | 值 | 描述 |
|---|---|---|
--port <port> | 整数 | Port to listen on. Default 7070. |
--runtime <runtime> | node (默认) | deno | Runtime to serve under. |
示例
uip function serve
uip function serve
数据形状(--输出 json)
{ "Code": "ServeStarted", "Data": { "Message": "Listening on http://localhost:7070" } }
{ "Code": "ServeStarted", "Data": { "Message": "Listening on http://localhost:7070" } }
uip function run
Invoke a function against the local serve endpoint. JS/TS only.
参数
| 名称 | 必填 | 用途 |
|---|---|---|
<name> | 是 | Function name to invoke. |
选项
| 长 | 值 | 描述 |
|---|---|---|
--port <port> | 整数 | Port the local server is on. Default 7070. |
--input <json> | JSON | Input payload. Default {}. |
示例
uip function run hello --input '{"x":1}'
uip function run hello --input '{"x":1}'
数据形状(--输出 json)
{ "Code": "RunComplete", "Data": { "result": 2 } }
{ "Code": "RunComplete", "Data": { "result": 2 } }
Data is the function's own return value, shape determined entirely by the function you wrote — not normalized by the CLI.
uip function pack
Pack the project into a .nupkg for deployment.
选项
| 长 | 值 | 描述 |
|---|---|---|
--nolock | 标记 | Exclude the lock file from the package. JS/TS only. |
示例
uip function pack
uip function pack
数据形状(--输出 json)
{ "Code": "PackComplete", "Data": { "Message": "Package created: my-fn.0.0.1.nupkg" } }
{ "Code": "PackComplete", "Data": { "Message": "Package created: my-fn.0.0.1.nupkg" } }
uip function push
Sync the project to Studio Web — generates entry points and uploads changed files.
选项
| 长 | 值 | 必填 | 描述 |
|---|---|---|---|
--url <url> | url | 否 | UiPath platform URL. Falls back to UIPATH_URL. |
--project-id <id> | GUID | conditionally | Studio Web project ID. Mandatory, but may come from UIPATH_PROJECT_ID instead of the flag. |
--org <org> | 字符串 | 否 | Organization name. Falls back to UIPATH_ORGANIZATION_NAME. |
--token <token> | 字符串 | 否 | Access token. Falls back to UIPATH_ACCESS_TOKEN. |
示例
uip function push --project-id 1f2a3b4c-0000-0000-0000-000000000001
uip function push --project-id 1f2a3b4c-0000-0000-0000-000000000001
数据形状(--输出 json)
{ "Code": "PushComplete", "Data": { "Message": "Push complete." } }
{ "Code": "PushComplete", "Data": { "Message": "Push complete." } }
uip function publish
Upload the latest .nupkg to an Orchestrator folder. Without --feed-id, prompts interactively for a feed (ESC to cancel) — pass --feed-id for CI use to skip the picker.
选项
| 长 | 值 | 描述 |
|---|---|---|
--url <url> | url | UiPath platform URL. Falls back to UIPATH_URL. |
--org <org> | 字符串 | Organization name. Falls back to UIPATH_ORGANIZATION_NAME. |
--token <token> | 字符串 | Access token. Falls back to UIPATH_ACCESS_TOKEN. |
--feed-id <id> | GUID | Feed to publish to — skips the interactive picker. |
示例
# Interactive feed picker
uip function publish
# CI use — skip the picker
uip function publish --feed-id 9b2c1d4e-0000-0000-0000-000000000001
# Interactive feed picker
uip function publish
# CI use — skip the picker
uip function publish --feed-id 9b2c1d4e-0000-0000-0000-000000000001
数据形状(--输出 json)
{ "Code": "PublishComplete", "Data": { "Message": "Package published." } }
{ "Code": "PublishComplete", "Data": { "Message": "Package published." } }
uip function runtime-install
Create a runner folder with its own package.json and install runtime dependencies into it. JS/TS only.
选项
| 长 | 值 | 描述 |
|---|---|---|
--path <folder> | 路径 | Target folder to create and install runtime dependencies into. |
示例
uip function runtime-install --path .uipath/runner
uip function runtime-install --path .uipath/runner
数据形状(--输出 json)
{ "Code": "RuntimeInstallComplete", "Data": { "Message": "Runtime installed at .uipath/runner" } }
{ "Code": "RuntimeInstallComplete", "Data": { "Message": "Runtime installed at .uipath/runner" } }
错误行为
initagainst a JS/TS project or an undetected language:Failure,Message: "'init' is not applicable to JS/TS projects."(or"'init' is Python-only."), withInstructionsnamingnew --empty/--language.newwith no detectable language and no--language: defaults to TypeScript with a logged warning rather than failing.- No Functions project detected for any other verb:
Failure,Message: "No Functions project detected in this directory.", withInstructionsto run from a directory containinguipath.json/package.json/pyproject.toml, or pass--languageexplicitly. - Node.js missing or below v20 (JS/TS path):
ConfigErrornaming the required version and a link to install it — this check runs automatically beforenewforwards to the JS/TS CLI.
另请参阅
- 工具(插件)
uip codedapp— a similarly-shaped build/pack/publish/push/pull lifecycle for coded apps.- 全局选项
- 退出代码
- 概念
- 大纲
- uip function new
- 参数
- 选项
- 示例
- 数据形状(--输出 json)
- uip function init
- 选项
- 示例
- 数据形状(--输出 json)
- uip function serve
- 选项
- 示例
- 数据形状(--输出 json)
- uip function run
- 参数
- 选项
- 示例
- 数据形状(--输出 json)
- uip function pack
- 选项
- 示例
- 数据形状(--输出 json)
- uip function push
- 选项
- 示例
- 数据形状(--输出 json)
- uip function publish
- 选项
- 示例
- 数据形状(--输出 json)
- uip function runtime-install
- 选项
- 示例
- 数据形状(--输出 json)
- 错误行为
- 另请参阅