UiPath CLI 用户指南
每个旧版uipcli动词及其等效uip动词。旧版条目反映为2025.10及更早版本记录的公共uipcli表面; uip列与已发布的参考页面匹配。
如何阅读此页面。行按旧版动词系列( package 、 job 、 test 、 asset 、 solution 、 run )分组。每行都包含一个分类:
- 1:1 — 直接重命名;新标志设置的情况足够接近,因此机器人端口可以正常工作。
- 2 个步骤/ N 个步骤— 一个旧版动词映射到多次
uip调用。 - 已删除 —替换:… — 旧版动词没有直接后缀; “替换”列会告知您获得相同结果的习惯用新 CLI 流程。
包
| 旧版命令 | uip 等效项 | 注意 |
|---|---|---|
uipcli package pack <project> | uip rpa pack <project> | 1:1。新的标志表面使用短横线命名空间; --outputType → --output-type 、 --autoVersion → --auto-version等。 uip rpa命令会调用.NET 支持的 Studio 打包程序 — 运行程序仍需要可用的.NET 运行时。请参阅uip rpa pack 。 |
uipcli package analyze <project> | uip rpa analyze <project> --governance-file-path <policy> | 1:1。 --governanceFilePath 变为--governance-file-path (短横线命名)。工作流分析器规则不变。.NET 后端适用,与rpa pack相同。请参阅UIP RPA 分析。 |
uipcli package deploy <path> <url> <tenant> | uip or packages upload <path> Then uip or processes create --name <n> --package-key <k> --package-version <v> --folder-path <path> | 2 个步骤。旧版部署可在一次调用中上传.nupkg并创建流程;新的 CLI 解决了这些问题。请参阅uip 或包上传和uip 或流程创建。 |
uipcli package restore <project> | uip rpa restore <project> [outputPath] | 1:1。还原 NuGet 包依赖项;通过与旧版相同的标志支持离线配置和自定义 NuGet 配置。.NET 后端适用。请参阅UIP RPA 还原。 |
包 Pack
# Legacy
uipcli package pack "C:\proj\project.json" -o "C:\dist" \
--outputType Process --autoVersion \
--traceLevel Information
# uip
uip rpa pack ./proj --output-type Process --auto-version
# Legacy
uipcli package pack "C:\proj\project.json" -o "C:\dist" \
--outputType Process --autoVersion \
--traceLevel Information
# uip
uip rpa pack ./proj --output-type Process --auto-version
有关完整标志列表,请参阅uip rpa 包。该工具包含旧版 CLI 使用的同一个 Studio 打包程序,因此输出格式和项目支持相同。
包分析
# Legacy
uipcli package analyze "C:\proj\project.json" \
--governanceFilePath "C:\policy.json" \
--resultPath "C:\result.json" \
--stopOnRuleViolation
# uip
uip rpa analyze ./proj \
--governance-file-path ./policy.json \
--result-path ./result.json \
--stop-on-rule-violation
# Legacy
uipcli package analyze "C:\proj\project.json" \
--governanceFilePath "C:\policy.json" \
--resultPath "C:\result.json" \
--stopOnRuleViolation
# uip
uip rpa analyze ./proj \
--governance-file-path ./policy.json \
--result-path ./result.json \
--stop-on-rule-violation
包部署
这一行捕获了每个管道端口。旧版deploy是一次性“上传-创建”活动; uip会将其拆分为两个明确的步骤,因此只需上传一次包并绑定到多个文件夹。
# Legacy — upload and create a process in one call
uipcli package deploy "C:\pkg\InvoiceProcessing.1.0.3.nupkg" \
"https://cloud.uipath.com/" "TenantName" \
-A "myOrg" -I "<app-id>" -S "<app-secret>" \
--applicationScope "OR.Folders OR.Execution" \
-o "Shared" \
--processName "InvoiceProcessing" \
--entryPointsPath "Main.xaml"
# uip — upload, then create the process
uip login \
--client-id env.UIPATH_CLIENT_ID \
--client-secret env.UIPATH_CLIENT_SECRET \
--tenant TenantName
uip or packages upload ./InvoiceProcessing.1.0.3.nupkg
# response includes "body": "InvoiceProcessing:1.0.3"
uip or processes create \
--name InvoiceProcessing \
--package-key InvoiceProcessing \
--package-version 1.0.3 \
--folder-path Shared \
--entry-point Main.xaml
# Legacy — upload and create a process in one call
uipcli package deploy "C:\pkg\InvoiceProcessing.1.0.3.nupkg" \
"https://cloud.uipath.com/" "TenantName" \
-A "myOrg" -I "<app-id>" -S "<app-secret>" \
--applicationScope "OR.Folders OR.Execution" \
-o "Shared" \
--processName "InvoiceProcessing" \
--entryPointsPath "Main.xaml"
# uip — upload, then create the process
uip login \
--client-id env.UIPATH_CLIENT_ID \
--client-secret env.UIPATH_CLIENT_SECRET \
--tenant TenantName
uip or packages upload ./InvoiceProcessing.1.0.3.nupkg
# response includes "body": "InvoiceProcessing:1.0.3"
uip or processes create \
--name InvoiceProcessing \
--package-key InvoiceProcessing \
--package-version 1.0.3 \
--folder-path Shared \
--entry-point Main.xaml
注意:
- 旧版中的位置
<orchestrator_url>和<orchestrator_tenant>将替换为uip login中的会话上下文(以及每次调用时覆盖可选的-t, --tenant)。它们永远不会在uip中显示为位置参数。 - 旧版
--processName是已创建流程的自定义显示名称。在uip中,等效项是--name上的processes create,而不是--process(它不存在)。 - 旧版
--processNames <csv>(25.10 中的多流程批量创建)没有直接等效的功能;编写行循环的脚本,或阅读“解决方案”以获取推荐的多流程流。 - 旧版
--entryPointsPath(CSV) 在uip or processes create上变为--entry-point(单个路径);对于多入口点包,每个入口点运行一次processes create。
包还原
# Legacy
uipcli package restore "C:\proj" \
--restoreFolder "C:\deps" \
--nugetConfigFilePath "C:\NuGet.Config"
# uip
uip rpa restore ./proj ./deps
# Legacy
uipcli package restore "C:\proj" \
--restoreFolder "C:\deps" \
--nugetConfigFilePath "C:\NuGet.Config"
# uip
uip rpa restore ./proj ./deps
作业
| 旧版命令 | uip 等效项 | 注意 |
|---|---|---|
uipcli job run <processName> <url> <tenant> | uip or jobs start <process-key> | 一对一了解意图;身份是 GUID,而不是名称。旧版 CLI 将流程版本名称作为位置参数;新的 CLI 接受uip or processes list返回的流程密钥 (GUID)。对旧版-w true + -W <timeout>行为使用--wait-for-completion 。请参阅uip 或作业开始。 |
# Legacy
uipcli job run "InvoiceProcessing" \
"https://cloud.uipath.com/" "TenantName" \
-A "myOrg" -I "<app-id>" -S "<app-secret>" \
--applicationScope "OR.Folders OR.Execution OR.Jobs" \
-o "Shared" \
-i "C:\input.json" \
-w true -W 3600
# uip — resolve the name to a key, then start with wait-for-completion
PROCESS_KEY=$(uip or processes list --folder-path Shared \
--name InvoiceProcessing \
--output-filter "Data[0].Key" \
--output plain)
uip or jobs start "$PROCESS_KEY" \
--input-file ./input.json \
--wait-for-completion \
--timeout 3600
# Legacy
uipcli job run "InvoiceProcessing" \
"https://cloud.uipath.com/" "TenantName" \
-A "myOrg" -I "<app-id>" -S "<app-secret>" \
--applicationScope "OR.Folders OR.Execution OR.Jobs" \
-o "Shared" \
-i "C:\input.json" \
-w true -W 3600
# uip — resolve the name to a key, then start with wait-for-completion
PROCESS_KEY=$(uip or processes list --folder-path Shared \
--name InvoiceProcessing \
--output-filter "Data[0].Key" \
--output plain)
uip or jobs start "$PROCESS_KEY" \
--input-file ./input.json \
--wait-for-completion \
--timeout 3600
标志级详细信息:
- 旧版
-i, --input_path <file>→uip提供两种替代方案:--input-arguments '<json>'用于内联 JSON,--input-file <path>用于文件有效负载。它们互斥。 - 旧版
-j, --jobscount <n>→--jobs-count <n>。 - 旧版
-P, --priority <Low|Normal|High>→--job-priority <Low|Normal|High>。 - 旧版
-r, --robots <csv>→ 无直接等效项(旧版中的“仅限传统文件夹”概念)。目标为具有--machine-keys <csv>(GUID) 的计算机或具有--user-keys <csv>(GUID) 的用户。 - 旧版
-f, --fail_when_job_fails(默认true)→ 如果等待的作业结束Faulted,新版 CLI 始终退出1;无法选择退出。 - 旧版
-R, --result_path <file>→ 新的 CLI 将作业信封打印到标准输出;使用> result.json进行重定向,或使用--output-filter提取特定字段。 - 旧版
-b, --job_type <Unattended|NonProduction>→--runtime-type <Unattended|Headless|Serverless|NonProduction|Development|TestAutomation>。
test
| 旧版命令 | uip 等效项 | 注意 |
|---|---|---|
uipcli test run <url> <tenant> -s <testset> | uip tm testsets run --test-set-key <key> Then uip tm wait --execution-id <id> Then uip tm report get --execution-id <id> | 3 个步骤(启动 → 等待 → 验证)。新的 CLI 将“触发运行”、“阻止运行”与“读取结果”分开,因此 CI 脚本可以在每个运行平台上清晰地分支。请参阅运行 uip tm 测试集。新动词作为uip tm testsets run存在于testsets资源中,而不是存在于executions资源中(没有uip tm executions run )。 |
uipcli test run <url> <tenant> -P <project.json> (打包 + 测试项目) | uip rpa pack → uip or packages upload → 在 Test Manager 中编写测试集 → uip tm testsets run | N 步骤。“打包、部署、运行其测试”的旧版一次性流程分为rpa 、 or和tm工具。编写测试集通常是在 Test Manager 的网页用户界面中完成的一次性设置。 |
uipcli test parallel <url> <tenant> --testsConfigurationFilePath <file> | 没有直接等效项 — 遍历uip tm testsets run调用 | 已删除 — 替换:使用uip tm testsets run编写独立测试集的并行启动脚本(每个测试集返回一个ExecutionId ),然后每次执行编写一个uip tm wait 。旧版parallel动词的测试项目驱动程序(已在内部调用uipcli test run )没有对应项;新模型假定测试集已在 Test Manager 中创作。 |
测试运行(单个测试集)
# Legacy
uipcli test run \
"https://cloud.uipath.com/" "TenantName" \
-A "myOrg" -I "<app-id>" -S "<app-secret>" \
--applicationScope "OR.Folders OR.TestSets OR.TestSetExecutions" \
-o "Shared" \
-s "Smoke Suite" \
--out junit \
--result_path "C:\results.xml" \
--timeout 1800
# uip — three verbs, clean exit-code branching
EXECUTION_ID=$(uip tm testsets run \
--test-set-key DEMO:10 \
--output-filter "Data.ExecutionId" \
--output plain)
if ! uip tm wait --execution-id "$EXECUTION_ID" --project-key DEMO --timeout 1800; then
case $? in
2) echo "timeout" >&2; exit 2 ;;
*) echo "wait failed" >&2; exit 1 ;;
esac
fi
FAILED=$(uip tm report get --execution-id "$EXECUTION_ID" --project-key DEMO \
--output-filter "Data.Failed" --output plain)
if [ "$FAILED" -gt 0 ]; then
uip tm result download --execution-id "$EXECUTION_ID" --project-key DEMO \
--destination ./results.xml
exit 1
fi
# Legacy
uipcli test run \
"https://cloud.uipath.com/" "TenantName" \
-A "myOrg" -I "<app-id>" -S "<app-secret>" \
--applicationScope "OR.Folders OR.TestSets OR.TestSetExecutions" \
-o "Shared" \
-s "Smoke Suite" \
--out junit \
--result_path "C:\results.xml" \
--timeout 1800
# uip — three verbs, clean exit-code branching
EXECUTION_ID=$(uip tm testsets run \
--test-set-key DEMO:10 \
--output-filter "Data.ExecutionId" \
--output plain)
if ! uip tm wait --execution-id "$EXECUTION_ID" --project-key DEMO --timeout 1800; then
case $? in
2) echo "timeout" >&2; exit 2 ;;
*) echo "wait failed" >&2; exit 1 ;;
esac
fi
FAILED=$(uip tm report get --execution-id "$EXECUTION_ID" --project-key DEMO \
--output-filter "Data.Failed" --output plain)
if [ "$FAILED" -gt 0 ]; then
uip tm result download --execution-id "$EXECUTION_ID" --project-key DEMO \
--destination ./results.xml
exit 1
fi
标志级注释:
- 旧版
-s, --testset <name>采用显示名称;新的--test-set-key <key>接受 Test Manager 密钥(格式为PROJECT:NN)。使用uip tm testsets list --project-key <key>进行查找。 - 也存在旧版
-t, --testsetkey <key>(较新的旧版别名)— 这些值直接移植到新的--test-set-key。 - 旧版
--out junit|uipath将成为新的uip tm result download --output-format junit(默认为 JUnit;还支持 UiPath 原生 XML)。 - 旧版
--attachRobotLogs→ 运行后通过uip tm attachment download --execution-id <id>附加工件。 - 旧版
--retryCount <n>→uip tm executions retry --execution-id <id>仅重新运行已完成的执行的失败案例。启动时没有自动重试标志;使用上面的report get退出分支将其脚本化。
测试并行
没有反映旧版test parallel的uip动词。最接近的习惯用法是 Shell 循环,该循环同时启动多个uip tm testsets run调用,捕获每个ExecutionId ,然后等待每个 :
# Launch in parallel (bash)
EXEC1=$(uip tm testsets run --test-set-key DEMO:10 --output-filter Data.ExecutionId --output plain) &
EXEC2=$(uip tm testsets run --test-set-key DEMO:11 --output-filter Data.ExecutionId --output plain) &
wait
# Then wait on each
uip tm wait --execution-id "$EXEC1" --project-key DEMO --timeout 1800 &
uip tm wait --execution-id "$EXEC2" --project-key DEMO --timeout 1800 &
wait
# Launch in parallel (bash)
EXEC1=$(uip tm testsets run --test-set-key DEMO:10 --output-filter Data.ExecutionId --output plain) &
EXEC2=$(uip tm testsets run --test-set-key DEMO:11 --output-filter Data.ExecutionId --output plain) &
wait
# Then wait on each
uip tm wait --execution-id "$EXEC1" --project-key DEMO --timeout 1800 &
uip tm wait --execution-id "$EXEC2" --project-key DEMO --timeout 1800 &
wait
旧版--testsConfigurationFilePath架构(列出每个项目的路径及其测试集)没有uip对应项;从 CI 矩阵或测试集密钥的简单 shell 列表驱动循环。
资产
| 旧版命令 | uip 等效项 | 注意 |
|---|---|---|
uipcli asset deploy <csv> <url> <tenant> | 在每行uip resource assets create <name> <value>上循环 | 已移除 — 替换:在 Shell 循环中迭代 CSV,并每行调用create 。新 CLI 不提供一次性 CSV 部署;请参阅UIP 资源资产。 |
uipcli asset delete <csv> <url> <tenant> | 在每行uip resource assets delete <key>上循环 | 已移除 — 替换:按键迭代和删除。delete接受资产 GUID,而不是名称 — 首先使用uip resource assets list --folder-path <path>将名称解析为键。 |
# Legacy — bulk CSV
uipcli asset deploy "C:\assets.csv" "https://cloud.uipath.com/" "TenantName" \
-A "myOrg" -I "<app-id>" -S "<app-secret>" \
--applicationScope "OR.Assets" -o "Shared"
# uip — script the loop
# CSV columns: name,type,value,description
while IFS=, read -r NAME TYPE VALUE DESCRIPTION; do
[ "$NAME" = "name" ] && continue # skip header
uip resource assets create "$NAME" "$VALUE" \
--folder-path Shared \
--type "$TYPE" \
--description "$DESCRIPTION"
done < assets.csv
# Legacy — bulk CSV
uipcli asset deploy "C:\assets.csv" "https://cloud.uipath.com/" "TenantName" \
-A "myOrg" -I "<app-id>" -S "<app-secret>" \
--applicationScope "OR.Assets" -o "Shared"
# uip — script the loop
# CSV columns: name,type,value,description
while IFS=, read -r NAME TYPE VALUE DESCRIPTION; do
[ "$NAME" = "name" ] && continue # skip header
uip resource assets create "$NAME" "$VALUE" \
--folder-path Shared \
--type "$TYPE" \
--description "$DESCRIPTION"
done < assets.csv
旧版中的凭据类型资产使用username::password值形式。使用uip resource assets create时,凭据值格式为username:password (单冒号),而密码需要--credential-store-key <guid> 。请参阅UIP 资源资产 — 创建。
解决方案
| 旧版命令 | uip 等效项 | 注意 |
|---|---|---|
uipcli solution pack <path> | uip solution pack <solutionPath> <outputPath> | 1:1 解读意图。两代中的输出都是.zip (包含内部.nupkg文件);参数形式从-o更改为位置输出目录。 |
uipcli solution analyze <path> | uip rpa analyze <project> 每个项目 | N 步骤。在解决方案中的每个项目上运行分析器;没有单个uip solution analyze动词。 |
uipcli solution restore <path> | uip rpa restore <project> 每个项目 | N 步骤。与solution analyze相同的模式。 |
uipcli solution upload-package <zip> | uip solution publish <zip> | 1:1。新名称为publish ;行为(上传到租户解决方案订阅源)不变。 |
uipcli solution download-package <name> <version> | 无直接等效项 | 已删除 — 替换:使用uip or packages download <key>下载基础.nupkg包,或通过 Orchestrator REST API 获取已发布的解决方案记录。 |
uipcli solution delete-package <name> <version> | uip solution packages delete <packageName> <packageVersion> | 1:1。 |
uipcli solution download-config <name> | uip solution deploy config get <package-name> [--package-version <v>] [-d <path>] | 1:1。 |
uipcli solution deploy <...> | uip solution deploy run --name <n> --package-name <n> --package-version <v> --folder-name <n> [--folder-path <path>] | 一对一了解意图;标志名称已更改。--name是部署名称,而不是包名称。请参阅first-pipeline.md — 步骤 3 。 |
uipcli solution deploy-activate <...> | uip solution deploy activate <deployment-name> | 1:1。 |
uipcli solution deploy-uninstall <...> | uip solution deploy uninstall <deployment-name> | 1:1。 |
# Legacy — pack + upload + deploy, one verb each
uipcli solution pack "C:\my-solution" \
-o "C:\dist" \
-v 1.2.0
uipcli solution upload-package "C:\dist\my-solution.1.2.0.zip" \
"https://cloud.uipath.com/" "TenantName" \
-A "myOrg" -I "<app-id>" -S "<app-secret>" \
--applicationScope "OR.Folders"
uipcli solution deploy "..." "..."
# uip — publish replaces upload-package; positional --version in pack
uip login --client-id env.UIPATH_CLIENT_ID --client-secret env.UIPATH_CLIENT_SECRET --tenant TenantName
uip solution pack ./my-solution ./dist --version 1.2.0
uip solution publish ./dist/my-solution.1.2.0.zip
uip solution deploy run \
--name "my-solution-deployment" \
--package-name my-solution \
--package-version 1.2.0 \
--folder-name MySolution \
--folder-path Shared
# Legacy — pack + upload + deploy, one verb each
uipcli solution pack "C:\my-solution" \
-o "C:\dist" \
-v 1.2.0
uipcli solution upload-package "C:\dist\my-solution.1.2.0.zip" \
"https://cloud.uipath.com/" "TenantName" \
-A "myOrg" -I "<app-id>" -S "<app-secret>" \
--applicationScope "OR.Folders"
uipcli solution deploy "..." "..."
# uip — publish replaces upload-package; positional --version in pack
uip login --client-id env.UIPATH_CLIENT_ID --client-secret env.UIPATH_CLIENT_SECRET --tenant TenantName
uip solution pack ./my-solution ./dist --version 1.2.0
uip solution publish ./dist/my-solution.1.2.0.zip
uip solution deploy run \
--name "my-solution-deployment" \
--package-name my-solution \
--package-version 1.2.0 \
--folder-name MySolution \
--folder-path Shared
请参阅您的第一个管道,以获取包含每个步骤说明的演练。
运行
| 旧版命令 | uip 等效项 | 注意 |
|---|---|---|
uipcli run <arguments.json> | 无直接等效项 | 已移除 — 替换:将管道步骤重写为 Shell 脚本,该脚本直接使用标志调用uip 。旧版run动词使用一个 JSON 文件,该文件对完整的uipcli <verb> <args>调用进行序列化(由隐藏的--captureCommandToJsonFile标志生成); uip未发布等效项。 |
CLI 1.x 没有公开用于批量参数重播的通用--from-file标志。如果您的管道依赖此模式(在旧版captureCommandToJsonFile + uipcli run工作流中很常见),请将 JSON 有效负载转换为直接uip调用。
没有等效旧版命令
这些uip动词在旧版 CLI 中没有对应项;它们开启了单独使用uipcli无法实现的工作流。这些功能都不需要迁移——它们是新功能。
uip login、uip login tenant list/set、uip logout、uip login status— 完整会话管理。uip or folders *、uip or machines *、uip or users *、uip or roles *、uip or licenses *、uip or sessions *、uip or audit-logs *、uip or calendars *、uip or credential-stores *、uip or feeds *、uip or settings *— 完整的 Orchestrator 管理员界面。uip or jobs list / get / stop / restart / resume / logs / traces / healing-data / history、uip or processes list / get / edit / update-version / rollback、uip or packages list / get / versions / entry-points / download— 旧版未公开的内省动词。uip resource buckets / bucket-files / libraries / queues / queue-items / triggers / webhooks— Orchestrator 资源 CRUD。uip agent *、uip codedagent *、uip codedapp *、uip flow *、uip maestro *、uip api-workflow *、uip df *、uip insights *、uip traces *、uip docsai *、uip vss *— 全新的界面。uip tools *、uip skills *、uip mcp、uip completion— 主机级别管理。