UiPath Documentation
uipath-cli
latest
false
UiPath CLI 用户指南
重要 :
请注意,此内容已使用机器翻译进行了本地化。 新发布内容的本地化可能需要 1-2 周的时间才能完成。

uip 函数

“uip 函数”的语法和选项,可构建、提供和发布 UiPath JS/TS 和 Python 函数 — setup、new、init、service、run、pack、push、publish、runtime-install。

uip function用于构建、提供和发布UiPath Functions— 在 UiPath 平台上打包并运行的小型 JS/TS 或 Python 处理程序。uip function 是规范组名称; uip functions(复数)仍可用作向后兼容的别名。

概念​

  • 这是一个语言调度程序,而不是原生工具。除setup 之外的每个动词都是精简转发器:CLI 会检测项目的语言(从当前目录中的uipath.json package.json、 或pyproject.toml ,或--language -l中的new )检测到,然后将原始参数路由到流程内的 JS/TS CLI ()@uipath/coded-functions-js-cli 或生成的 Python CLI。因此,任何转发的动词的 uip function <verb> --help 都会显示基础 CLI 自身的帮助,而不是 uip 创作的帮助 — 下面的选项表提取自转发包装器自己的标志提示和示例,是此存储库工具在下游 CLI 将接管。
  • 语言解决方案对于init和new很重要。init仅限 Python — 若为 JS/TS,则用new --empty替代框架。new 自动检测;当检测不确定时,系统默认为记录警告的 TypeScript,除非您传递 --language js|ts|py/python。
  • setup将自动运行。这是一个隐藏命令(--help 中没有),用于在 new 转发到 JS/TS CLI 之前验证 Node.js ≥20 — 您通常不会自己调用它,但在满足以下条件的情况下,uip function setup --force 会重新运行检查缓存的验证会过时(例如,在重新安装节点后)。
  • publish与push目标不同: publish将打包的.nupkg上传到 Orchestrator 订阅源; push会直接将项目同步到 Studio Web 项目。两者都接受 --url/--org/--token(或匹配的 UIPATH_URL/UIPATH_ORGANIZATION_NAME/UIPATH_ACCESS_TOKEN 环境变量)。
  • 解决方案自动注册。成功的 Python init 会自动将项目注册到父级 .uipx 解决方案(如果存在)(与 agent/case/flow 初始解决方案相同)— 传递 --skip-solution-registration 以选择退出。在基础 Python CLI 自己的 init 输出之后,这将通过单独的 FunctionsInitSolutionRegistration 成功信封进行报告。

大纲​

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 函数​

搭建一个新的 Functions 项目,默认情况下包含 Hello World 函数。

参数​

名称必填用途
[name]否项目名称/目录。默认 my-functions。也可以作为 --name 传递。

选项​

长值描述
--name <name>字符串位置参数的替代方法。
-l, --language <lang>ts (默认)| js | py/python项目语言。
--empty标记跳过 json 函数 — 空项目。仅限 JS/TS。

示例​

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 函数初始化​

仅限 Python:发现入口点并(重新)生成 entry-points.json/bindings.json/project.uiproj。对于 Python 项目,必须在 pack/push 之前运行。对于 JS/TS,请改用 new --empty — init 失败,并显示明确的“仅限 Python” JS/TS 项目或未检测到的语言出错。

选项​

长值描述
--language py标志/值当检测结果模糊时,强制执行 Python 语言解析。
--skip-solution-registration标记不要在父级 .uipx 解决方案中自动注册项目。

示例​

uip function init
uip function init

数据形状(--输出 json)​

{ "Code": "InitComplete", "Data": { "Message": "Project initialized." } }
{ "Code": "InitComplete", "Data": { "Message": "Project initialized." } }

随后报告解决方案注册第二次成功:

{
  "Code": "FunctionsInitSolutionRegistration",
  "Data": { "SolutionRegistration": { "Status": "Registered", "...": "..." } }
}
{
  "Code": "FunctionsInitSolutionRegistration",
  "Data": { "SolutionRegistration": { "Status": "Registered", "...": "..." } }
}

当不存在父解决方案时,SolutionRegistration.Status 为 "NotInSolution",当 "OptedOut" 被传递时,--skip-solution-registration 为 — 始终存在,从未省略。

UIP 函数服务​

使用热重载启动本地 Function Server。仅限 JS/TS。

选项​

长值描述
--port <port>整数要侦听的端口。默认 7070。
--runtime <runtime>node (默认) | deno要在其中提供服务的 runtime。

示例​

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 函数 run​

对本地 serve 端点调用函数。仅限 JS/TS。

参数​

名称必填用途
<name>是要调用的函数名称。

选项​

长值描述
--port <port>整数本地服务器所在的端口。默认 7070。
--input <json>JSON输入有效负载。默认 {}。

示例​

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 是函数自己的返回值,其形状完全由您编写的函数决定,未由 CLI 进行规范化。

uip 函数包​

将项目打包到 .nupkg 中以进行部署。

选项​

长值描述
--nolock标记从包中排除锁定文件。仅限 JS/TS。

示例​

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 函数 push​

将项目同步到 Studio Web — 生成入口点并上传更改的文件。

选项​

长值必填描述
--url <url>url否UiPath 平台 URL。回退到 UIPATH_URL。
--project-id <id>GUID有条件地“Studio Web”项目 ID。必填项,但可能来自 UIPATH_PROJECT_ID 而非标志。
--org <org>字符串否组织名称。回退到 UIPATH_ORGANIZATION_NAME。
--token <token>字符串否访问令牌。回退到 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 函数“发布”​

将最新的 .nupkg 上传到 Orchestrator 文件夹。如果没有 --feed-id,将以交互方式提示输入订阅源(ESC 可取消)— CI 使用 --feed-id 跳过选取器。

选项​

长值描述
--url <url>urlUiPath 平台 URL。回退到 UIPATH_URL。
--org <org>字符串组织名称。回退到 UIPATH_ORGANIZATION_NAME。
--token <token>字符串访问令牌。回退到 UIPATH_ACCESS_TOKEN。
--feed-id <id>GUID发布目标订阅源 — 跳过交互式选取器。

示例​

# 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 函数 runtime-install​

使用自己的 package.json 创建一个运行程序文件夹,并将运行时依赖项安装到其中。仅限 JS/TS。

选项​

长值描述
--path <folder>路径要在其中创建和安装 runtime 依赖项的目标文件夹。

示例​

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

错误行为​

  • init 针对 JS/TS 项目或未检测到的语言:Failure、Message: "'init' is not applicable to JS/TS projects."(或 "'init' is Python-only."),使用 Instructions 命名 new --empty/--language。
  • 无法检测到的语言且没有 new 的 --language:默认使用 TypeScript,记录警告而非失败。
  • 未检测到任何其他动词的 Functions 项目:Failure、Message: "No Functions project detected in this directory.",使用 Instructions 从包含 uipath.json/package.json/pyproject.toml 的目录运行,或显式传递 --language。
  • Node.js 缺少 v20 或版本低于 v20(JS/TS 路径):ConfigError 指明所需版本及安装该版本的链接 — 此检查在 new 转发到 JS/TS CLI 之前自动运行。

另请参阅​

此页面有帮助吗?

连接

需要帮助? 支持

想要了解详细内容? UiPath Academy

有问题? UiPath 论坛

保持更新