“uip solution project”的语法和选项,用于管理“.uipx”解决方案清单中列出的项目,以及云项目的发布和同步。
uip solution projects管理.uipx解决方案清单中列出的项目,包括 RPA 流程、测试、智能体、Maestro 流程、案例和 BPMN 项目、编码应用程序、函数、API 工作流以及其他可构建的项目类型。库不是项目— 请自行发布,然后使用uip solution resources add --source remote --kind Library附加该库。
此组先前记录为 project(单数)。单数形式仍然有效 — 它会继续注册为向后兼容的隐藏、已弃用的别名 — 但以后 projects 是规范的。
add、import、remove 和 list 仅作用于本地文件 — 无需身份验证。publish 和 resync 在云解决方案项目上运行,需要活动会话。
大纲
uip solution projects add <project-path> [solutionFile]
uip solution projects import <source> [--solutionFile <path>]
uip solution projects remove <project-path> [solutionFile]
uip solution projects list [--solution-folder <path>]
uip solution projects publish --project-name <name> --package-name <name> --package-version <version> [--folder-name <name>] [--description <text>] [--release-notes <text>] [-t <tenant-name>]
uip solution projects resync [project-name] [--project-name <name>] [--sync-option <Sync|Reset>] [-t <tenant-name>]
uip solution projects add <project-path> [solutionFile]
uip solution projects import <source> [--solutionFile <path>]
uip solution projects remove <project-path> [solutionFile]
uip solution projects list [--solution-folder <path>]
uip solution projects publish --project-name <name> --package-name <name> --package-version <version> [--folder-name <name>] [--description <text>] [--release-notes <text>] [-t <tenant-name>]
uip solution projects resync [project-name] [--project-name <name>] [--sync-option <Sync|Reset>] [-t <tenant-name>]
常见行为(添加/导入/删除)
- 目标项目文件夹必须包含
project.uiproj、旧版project.json或uipath.json描述符。该命令会自动检测对应的角色。 - 当省略
[solutionFile]时,该命令从项目路径(若是import,则在当前目录)向上搜索最近的.uipx。如果未找到任何文件,或者同一个文件夹中存在多个.uipx文件,则命令将失败并以1退出。 - 系统会为添加到清单文件的每个项目条目生成唯一的
Id(UUID)。
添加
注册已驻留在解决方案目录中的项目文件夹。项目文件夹的相对路径记录在.uipx中,且系统会在解决方案的内部资源构建器中配置匹配的条目。
参数
<project-path>(必填) — 项目文件夹的路径。必须包含project.uiproj、project.json或uipath.json。[solutionFile](可选) —.uipx解决方案清单文件的路径。如果省略,则通过从<project-path>向上遍历来找到最近的.uipx。
示例
uip solution projects add ./my-solution/my-project ./my-solution/my-solution.uipx
# Auto-detect the .uipx
uip solution projects add ./my-solution/my-project
uip solution projects add ./my-solution/my-project ./my-solution/my-solution.uipx
# Auto-detect the .uipx
uip solution projects add ./my-solution/my-project
数据形状(--输出 json)
{
"Code": "ProjectAdd",
"Data": {
"Status": "Added successfully",
"Project": "my-project/project.uiproj",
"Solution": "/workspace/my-solution/my-solution.uipx"
}
}
{
"Code": "ProjectAdd",
"Data": {
"Status": "Added successfully",
"Project": "my-project/project.uiproj",
"Solution": "/workspace/my-solution/my-solution.uipx"
}
}
故障模式
- 项目位于解决方案文件夹之外。该命令使用指向
projects import的指针拒绝添加,这会复制外部项目。 - 项目已注册。退出
1并显示一条消息,指明现有项目路径。
import
将外部项目文件夹复制到解决方案目录中(保留其文件夹名称),然后在.uipx中将其注册。当要包含的项目尚未在解决方案根目录下时,请使用此选项。
参数
<source>(必填) — 要导入的外部项目文件夹的路径。必须是包含project.uiproj、project.json或uipath.json的目录。这是一个位置参数,而不是标志— 此页面上的早期文档将其显示为--source <path>,这是错误的。
选项
| 长 | 值 | 默认 | 描述 |
|---|---|---|---|
--solutionFile | 路径 | 当前目录上方最近的 .uipx | .uipx 解决方案清单文件的路径。 |
示例
uip solution projects import ./external-project \
--solutionFile ./my-solution/my-solution.uipx
# From inside the solution directory (auto-detect .uipx)
cd ./my-solution
uip solution projects import ../shared-library
uip solution projects import ./external-project \
--solutionFile ./my-solution/my-solution.uipx
# From inside the solution directory (auto-detect .uipx)
cd ./my-solution
uip solution projects import ../shared-library
数据形状(--输出 json)
{
"Code": "ProjectImport",
"Data": {
"Status": "Imported successfully",
"Project": "external-project/project.uiproj",
"Solution": "/workspace/my-solution/my-solution.uipx"
}
}
{
"Code": "ProjectImport",
"Data": {
"Status": "Imported successfully",
"Project": "external-project/project.uiproj",
"Solution": "/workspace/my-solution/my-solution.uipx"
}
}
故障模式和回滚
- 目标文件夹已存在。命令拒绝覆盖;请先重命名源文件夹或删除现有目标。
- 项目已在
.uipx清单中存储。在复制任何文件之前拒绝。 - 复制、写入或构建器步骤失败。命令回滚 — 复制的目录将被删除,并且
.uipx将还原为其原始内容。
remove
从 .uipx 解决方案清单文件中取消注册项目,并从内部资源构建器中删除其条目。不会删除磁盘上的文件。拒绝删除解决方案中的最后一个项目(空的Projects[]仅在紧跟init之后有效)——一个例外是不支持类型的项目,您始终可以删除该项目以取消阻止pack 。
参数
<project-path>(必填) — 要删除的项目文件夹的路径。当前必须在.uipx中注册。[solutionFile](可选) —.uipx解决方案清单文件的路径。默认为从<project-path>向上遍历找到的最近的.uipx。
示例
uip solution projects remove ./my-solution/my-project ./my-solution/my-solution.uipx
uip solution projects remove ./my-solution/my-project ./my-solution/my-solution.uipx
数据形状(--输出 json)
{
"Code": "ProjectRemove",
"Data": {
"Status": "Removed successfully",
"Project": "my-project",
"Solution": "/workspace/my-solution/my-solution.uipx"
}
}
{
"Code": "ProjectRemove",
"Data": {
"Status": "Removed successfully",
"Project": "my-project",
"Solution": "/workspace/my-solution/my-solution.uipx"
}
}
故障模式
- 项目位于解决方案文件夹之外。相对路径不得以
..开头。 - 项目不在清单中。以
1退出并将相对路径用于搜索。 - 项目是该解决方案中仅存的一个项目。除非属于不支持的项目类型,否则会被拒绝。
列表
列出在本地 .uipx 解决方案清单文件中注册的项目。仅读取磁盘上的元数据 — 不调用后端。
选项
| 长 | 值 | 默认 | 描述 |
|---|---|---|---|
--solution-folder | 路径 | 当前目录 | 解决方案根文件夹的路径。 |
示例
uip solution projects list
uip solution projects list
数据形状(--输出 json)
{
"Code": "SolutionProjectsList",
"Data": [
{
"Name": "MyProject",
"Type": "Process",
"Id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"ProjectRelativePath": "MyProject/project.uiproj",
"ProjectFilePath": "/workspace/my-solution/MyProject/project.uiproj"
}
]
}
{
"Code": "SolutionProjectsList",
"Data": [
{
"Name": "MyProject",
"Type": "Process",
"Id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"ProjectRelativePath": "MyProject/project.uiproj",
"ProjectFilePath": "/workspace/my-solution/MyProject/project.uiproj"
}
]
}
发布
将云解决方案项目(已位于 Automation Cloud 中的项目,而非本地.uipx项目)发布为解决方案包,然后等待发布操作完成。
选项
| 长 | 值 | 默认 | 描述 |
|---|---|---|---|
--project-name | text | — | 必需。要发布的 Cloud 解决方案项目名称。 |
--package-name | text | — | 必需。要创建的解决方案包名称。 |
--package-version | text | — | 必需。要创建的解决方案包版本。 |
--folder-name | text | — | 要存储在解决方案包中的根文件夹名称。 |
--description | text | — | 解决方案包描述。 |
--release-notes | text | — | 解决方案包发布说明。 |
-t, --tenant | name | 会话默认值 | 租户添加任何计算机。 |
--timeout | 秒 | 360 | 发布轮询超时。 |
--poll-interval | 毫秒 | 5000 | 发布状态轮询之间的毫秒数。 |
--login-validity | 分钟 | 10 | 在令牌过期前触发刷新的最短分钟数。 |
示例
uip solution projects publish --project-name MyProject \
--package-name my-package --package-version 1.0.0 \
--folder-name MySolution
uip solution projects publish --project-name MyProject \
--package-name my-package --package-version 1.0.0 \
--folder-name MySolution
数据形状(--输出 json)
{
"Code": "SolutionProjectPublish",
"Data": {
"ProjectName": "MyProject",
"PackageName": "my-package",
"PackageVersion": "1.0.0",
"Status": "Completed"
}
}
{
"Code": "SolutionProjectPublish",
"Data": {
"ProjectName": "MyProject",
"PackageName": "my-package",
"PackageVersion": "1.0.0",
"Status": "Completed"
}
}
重新同步
同步或重置Cloud解决方案项目,然后等待操作完成。Sync 协调项目及其来源; Reset 会放弃本地云更改。
参数
[project-name](可选) — 要同步的 Cloud 解决方案项目名称。也可与--project-name一起提供;为两者提供不同的值将是错误的。
选项
| 长 | 值 | 默认 | 描述 |
|---|---|---|---|
--project-name | text | — | 要同步的 Cloud 解决方案项目名称(替代位置参数)。 |
--sync-option | Sync | Reset | Sync | 要运行的同步操作。 |
-t, --tenant | name | 会话默认值 | 租户添加任何计算机。 |
--timeout | 秒 | 360 | 同步轮询超时。 |
--poll-interval | 毫秒 | 5000 | 同步状态轮询之间的毫秒数。 |
--login-validity | 分钟 | 10 | 在令牌过期前触发刷新的最短分钟数。 |
示例
uip solution projects resync --project-name MyProject --sync-option Sync
# Positional form, reset instead of sync
uip solution projects resync MyProject --sync-option Reset
uip solution projects resync --project-name MyProject --sync-option Sync
# Positional form, reset instead of sync
uip solution projects resync MyProject --sync-option Reset
数据形状(--输出 json)
{
"Code": "SolutionProjectResync",
"Data": {
"ProjectName": "MyProject",
"Status": "Successful",
"SyncOption": "Sync",
"SyncErrors": []
}
}
{
"Code": "SolutionProjectResync",
"Data": {
"ProjectName": "MyProject",
"Status": "Successful",
"SyncOption": "Sync",
"SyncErrors": []
}
}
失败时,Instructions 会按服务名称和受影响的资源密钥列出每个同步错误。
相关命令
uip solution init— 在添加项目之前构建解决方案。uip solution resources refresh— 编辑项目绑定后重新同步资源。uip solution pack— 在项目列表最终确定后打包解决方案。
另请参阅
- 您的第一个管道— 端到端示例。
uip solution概述。