uip TM 要求
“uip tm requirements”的语法和选项,用于管理 Test Manager 项目中的需求:创建、读取、更新、删除、导出和链接到测试用例。
uip tm requirements 管理 Test Manager 项目中的需求。需求是可追溯性层:它们表示系统必须执行的操作,每个需求都可以链接到一个或多个测试用例以显示覆盖范围。您可以手动创建需求,也可以从外部应用程序生命周期管理 (ALM) 连接器(例如 Jira)同步它们(如果在 Test Manager 中配置)。
大纲
uip tm requirements list --project-key <key> [--filter <text>] [--requirement-ids <ids...>] [--labels <labels...>] [--updated-by <userId>] [--test-case-id <uuid>] [--changed-since <datetime>] [--sort-by <expr>] [--limit <n>] [--offset <n>]
uip tm requirements get --project-key <key> (--requirement-id <uuid> | --requirement-key <key>)
uip tm requirements create --project-key <key> --name <name> [--description <text>] [--container-id <uuid>] [--external-reference <ref>] [--connector-requirement-uuid <uuid>]
uip tm requirements update --project-key <key> --requirement-id <uuid> [--name <name>] [--description <text>]
uip tm requirements delete --project-key <key> --requirement-ids <uuid...> -y
uip tm requirements export --project-key <key> --output-file <path> [--requirement-ids <uuid...>] [--updated-by <userId>] [--test-case-id <uuid>] [--labels <label...>] [--filter <text>] [--sort-by <expr>]
uip tm requirements list-testcase-ids --project-key <key> --requirement-id <uuid>
uip tm requirements testcases --project-key <key> --requirement-id <uuid> (--add-testcase-ids <uuid...> | --remove-testcase-ids <uuid...>)
uip tm requirements list-by-test-execution --project-key <key> --execution-id <uuid> [--labels <label...>] [--updated-by <userId>] [--filter <text>] [--sort-by <expr>] [--limit <n>] [--offset <n>]
uip tm requirements list --project-key <key> [--filter <text>] [--requirement-ids <ids...>] [--labels <labels...>] [--updated-by <userId>] [--test-case-id <uuid>] [--changed-since <datetime>] [--sort-by <expr>] [--limit <n>] [--offset <n>]
uip tm requirements get --project-key <key> (--requirement-id <uuid> | --requirement-key <key>)
uip tm requirements create --project-key <key> --name <name> [--description <text>] [--container-id <uuid>] [--external-reference <ref>] [--connector-requirement-uuid <uuid>]
uip tm requirements update --project-key <key> --requirement-id <uuid> [--name <name>] [--description <text>]
uip tm requirements delete --project-key <key> --requirement-ids <uuid...> -y
uip tm requirements export --project-key <key> --output-file <path> [--requirement-ids <uuid...>] [--updated-by <userId>] [--test-case-id <uuid>] [--labels <label...>] [--filter <text>] [--sort-by <expr>]
uip tm requirements list-testcase-ids --project-key <key> --requirement-id <uuid>
uip tm requirements testcases --project-key <key> --requirement-id <uuid> (--add-testcase-ids <uuid...> | --remove-testcase-ids <uuid...>)
uip tm requirements list-by-test-execution --project-key <key> --execution-id <uuid> [--labels <label...>] [--updated-by <userId>] [--filter <text>] [--sort-by <expr>] [--limit <n>] [--offset <n>]
uip tm 要求列表
具有丰富的服务器端筛选功能,列出项目中的需求。CLI 会根据提供的筛选器标志选择最具体的后端端点 — 仅标签筛选器使用快速路径;将标签与其他筛选器相结合可以使用丰富的筛选器端点。
参数
无。
选项
| 标记 | 描述 |
|---|---|
--project-key <key> | 必需。要列表的项目。 |
--filter <text> | 按名称或键搜索要求。 |
--requirement-ids <uuid...> | 要包含的以空格分隔的 UUID。通过丰富筛选器端点进行路由。 |
--labels <labels...> | 要作为筛选依据的以空格分隔的标签名称。单独提供时,使用仅标签快速路径。 |
--updated-by <userId> | 按上次更新需求的用户 ID 筛选。 |
--test-case-id <uuid> | 仅返回链接到此测试用例 UUID 的需求。 |
--changed-since <datetime> | 返回在此 ISO-8601 时间戳之后修改的要求。 |
--sort-by <expr> | 排序表达式(字段名称,可以选择添加 :asc 或 :desc 后缀)。 |
--limit <n> | 页面大小。默认为 50。 |
--offset <n> | 要跳过的结果。默认为 0。 |
示例
uip tm requirements list \
--project-key DEMO \
--labels "high-priority" \
--limit 20
uip tm requirements list \
--project-key DEMO \
--labels "high-priority" \
--limit 20
数据形状
{
"Code": "RequirementsList",
"Data": [
{
"Id": "a1b2c3d4-0000-0000-0000-000000000001",
"ObjKey": "DEMO:1",
"ProjectId": "00000000-0000-0000-0000-000000000abc",
"Name": "User must be able to log in",
"Description": "Login with valid credentials succeeds",
"ContainerId": "c1c2c3c4-0000-0000-0000-000000000001",
"ConnectorRequirementId": "ext-req-42",
"ForeignReference": "JIRA-100",
"CustomFieldLabels": { "Tags": ["smoke", "auth"] },
"CustomFieldValues": { "Owner": "qa-team" },
"Created": "2025-04-15T10:30:00Z",
"CreatedBy": "11111111-2222-3333-4444-555555555555",
"Updated": "2025-04-15T10:30:00Z",
"UpdatedBy": "11111111-2222-3333-4444-555555555555"
}
]
}
{
"Code": "RequirementsList",
"Data": [
{
"Id": "a1b2c3d4-0000-0000-0000-000000000001",
"ObjKey": "DEMO:1",
"ProjectId": "00000000-0000-0000-0000-000000000abc",
"Name": "User must be able to log in",
"Description": "Login with valid credentials succeeds",
"ContainerId": "c1c2c3c4-0000-0000-0000-000000000001",
"ConnectorRequirementId": "ext-req-42",
"ForeignReference": "JIRA-100",
"CustomFieldLabels": { "Tags": ["smoke", "auth"] },
"CustomFieldValues": { "Owner": "qa-team" },
"Created": "2025-04-15T10:30:00Z",
"CreatedBy": "11111111-2222-3333-4444-555555555555",
"Updated": "2025-04-15T10:30:00Z",
"UpdatedBy": "11111111-2222-3333-4444-555555555555"
}
]
}
关键字段:ObjKey — 在 --requirement-key 的 get 中使用。Id — 在 --requirement-id、get、update、delete、list-testcase-ids 和 testcases 上使用。ForeignReference — 通过 --external-reference 上的 create 设置。
获取 UIP TM 要求
通过其内部 UUID 或其 PROJECT:N 键获取单个要求。传递 --requirement-id 或 --requirement-key — 它们互斥。
参数
无。
选项
| 标记 | 描述 |
|---|---|
--project-key <key> | 必需。拥有的项目。 |
--requirement-id <uuid> | 内部要求 UUID。与 --requirement-key 互斥。 |
--requirement-key <key> | 要求键(例如 DEMO:1)。与 --requirement-id 互斥。 |
示例
uip tm requirements get \
--project-key DEMO \
--requirement-id a1b2c3d4-0000-0000-0000-000000000001
uip tm requirements get \
--project-key DEMO \
--requirement-id a1b2c3d4-0000-0000-0000-000000000001
数据形状
{
"Code": "RequirementGet",
"Data": {
"Id": "a1b2c3d4-0000-0000-0000-000000000001",
"ObjKey": "DEMO:1",
"Name": "User must be able to log in",
"Description": "Login with valid credentials succeeds",
"ForeignReference": "JIRA-100"
}
}
{
"Code": "RequirementGet",
"Data": {
"Id": "a1b2c3d4-0000-0000-0000-000000000001",
"ObjKey": "DEMO:1",
"Name": "User must be able to log in",
"Description": "Login with valid credentials succeeds",
"ForeignReference": "JIRA-100"
}
}
uip tm 要求创建
在项目中创建新需求。
参数
无。
选项
| 标记 | 描述 |
|---|---|
--project-key <key> | 必需。拥有的项目。 |
--name <name> | 必需。要求名称。 |
--description <text> | 自由格式说明。默认为空。 |
--container-id <uuid> | 用于放置需求的容器 UUID(可选)。 |
--external-reference <ref> | 外部系统引用(例如,Jira 工单 ID)。 |
--connector-requirement-uuid <uuid> | 请参阅已连接的外部需求系统中的 UUID。必须是有效的 UUID。 |
示例
uip tm requirements create \
--project-key DEMO \
--name "User must be able to log in" \
--external-reference "JIRA-123"
uip tm requirements create \
--project-key DEMO \
--name "User must be able to log in" \
--external-reference "JIRA-123"
数据形状
{
"Code": "RequirementCreate",
"Data": {
"Id": "a1b2c3d4-0000-0000-0000-000000000001",
"ObjKey": "DEMO:1",
"Name": "User must be able to log in",
"ForeignReference": "JIRA-100"
}
}
{
"Code": "RequirementCreate",
"Data": {
"Id": "a1b2c3d4-0000-0000-0000-000000000001",
"ObjKey": "DEMO:1",
"Name": "User must be able to log in",
"ForeignReference": "JIRA-100"
}
}
uip tm 要求更新
更新现有需求。必须至少提供其中一个字段。
参数
无。
选项
| 标记 | 描述 |
|---|---|
--project-key <key> | 必需。拥有的项目。 |
--requirement-id <uuid> | 必需。待更新要求的内部 UUID。 |
--name <name> | 新名称。 |
--description <text> | 新说明。 |
示例
uip tm requirements update \
--project-key DEMO \
--requirement-id a1b2c3d4-0000-0000-0000-000000000001 \
--name "User must be able to log in with MFA"
uip tm requirements update \
--project-key DEMO \
--requirement-id a1b2c3d4-0000-0000-0000-000000000001 \
--name "User must be able to log in with MFA"
数据形状
{
"Code": "RequirementUpdate",
"Data": {
"Id": "a1b2c3d4-0000-0000-0000-000000000001",
"Name": "User must be able to log in with MFA",
"Result": "Updated"
}
}
{
"Code": "RequirementUpdate",
"Data": {
"Id": "a1b2c3d4-0000-0000-0000-000000000001",
"Name": "User must be able to log in with MFA",
"Result": "Updated"
}
}
uip tm 要求删除
删除一个或多个需求。-y/--yes 为必填项 — CLI 从不以交互方式提示。单个 UUID 和多个 UUID 都通过同一个批量端点路由。
参数
无。
选项
| 标记 | 描述 |
|---|---|
--project-key <key> | 必需。拥有的项目。 |
--requirement-ids <uuid...> | 必需。要删除的要求 UUID(以空格分隔)。 |
-y, --yes | 必需。确认此不可逆操作。 |
示例
# Delete a single requirement
uip tm requirements delete \
--project-key DEMO \
--requirement-ids a1b2c3d4-0000-0000-0000-000000000001 \
--yes
# Delete multiple requirements in one call
uip tm requirements delete \
--project-key DEMO \
--requirement-ids a1b2c3d4-0000-0000-0000-000000000001 b2c3d4e5-0000-0000-0000-000000000001 \
--yes
# Delete a single requirement
uip tm requirements delete \
--project-key DEMO \
--requirement-ids a1b2c3d4-0000-0000-0000-000000000001 \
--yes
# Delete multiple requirements in one call
uip tm requirements delete \
--project-key DEMO \
--requirement-ids a1b2c3d4-0000-0000-0000-000000000001 b2c3d4e5-0000-0000-0000-000000000001 \
--yes
数据形状
{
"Code": "RequirementDelete",
"Data": { "Passed": 2, "Failed": 0 }
}
{
"Code": "RequirementDelete",
"Data": { "Passed": 2, "Failed": 0 }
}
uip tm 要求导出
将需求导出到 .xlsx 文件。支持与 requirements list 相同的筛选标志。
参数
无。
选项
| 标记 | 描述 |
|---|---|
--project-key <key> | 必需。拥有的项目。 |
--output-file <path> | 必需。写入导出文件的路径。 |
--requirement-ids <uuid...> | 按要求 UUID 筛选。 |
--updated-by <userId> | 按上次更新需求的用户 ID 筛选。 |
--test-case-id <uuid> | 按关联的测试用例 UUID 筛选。 |
--labels <label...> | 按标签筛选。 |
--filter <text> | 按名称或键搜索。 |
--sort-by <expr> | 对结果进行排序。 |
示例
uip tm requirements export \
--project-key DEMO \
--output-file ./requirements-export.xlsx
uip tm requirements export \
--project-key DEMO \
--output-file ./requirements-export.xlsx
数据形状
{
"Code": "RequirementExport",
"Data": { "OutputFile": "./requirements-export.xlsx", "Bytes": 1024, "Result": "Exported" }
}
{
"Code": "RequirementExport",
"Data": { "OutputFile": "./requirements-export.xlsx", "Bytes": 1024, "Result": "Exported" }
}
uip tm 要求列表测试用例 ID
列出链接到需求的测试用例的 UUID。
参数
无。
选项
| 标记 | 描述 |
|---|---|
--project-key <key> | 必需。拥有的项目。 |
--requirement-id <uuid> | 必需。要求的内部 UUID。 |
示例
uip tm requirements list-testcase-ids \
--project-key DEMO \
--requirement-id a1b2c3d4-0000-0000-0000-000000000001
uip tm requirements list-testcase-ids \
--project-key DEMO \
--requirement-id a1b2c3d4-0000-0000-0000-000000000001
数据形状
{
"Code": "RequirementTestCaseIdsList",
"Data": { "TestCaseIds": ["b2c3d4e5-0000-0000-0000-000000000001", "c3d4e5f6-0000-0000-0000-000000000001"] }
}
{
"Code": "RequirementTestCaseIdsList",
"Data": { "TestCaseIds": ["b2c3d4e5-0000-0000-0000-000000000001", "c3d4e5f6-0000-0000-0000-000000000001"] }
}
uip tm 要求测试用例
添加或删除需求的测试用例链接。传递--add-testcase-ids或--remove-testcase-ids (不在同一调用中传递两者)。
参数
无。
选项
| 标记 | 描述 |
|---|---|
--project-key <key> | 必需。拥有的项目。 |
--requirement-id <uuid> | 必需。要修改的要求。 |
--add-testcase-ids <uuid...> | 要链接的用空格分隔的测试用例 UUID。 |
--remove-testcase-ids <uuid...> | 要取消链接的以空格分隔的测试用例 UUID。 |
示例
# link test cases
uip tm requirements testcases \
--project-key DEMO \
--requirement-id a1b2c3d4-0000-0000-0000-000000000001 \
--add-testcase-ids b2c3d4e5-0000-0000-0000-000000000001 c3d4e5f6-0000-0000-0000-000000000001
# unlink test cases
uip tm requirements testcases \
--project-key DEMO \
--requirement-id a1b2c3d4-0000-0000-0000-000000000001 \
--remove-testcase-ids b2c3d4e5-0000-0000-0000-000000000001
# link test cases
uip tm requirements testcases \
--project-key DEMO \
--requirement-id a1b2c3d4-0000-0000-0000-000000000001 \
--add-testcase-ids b2c3d4e5-0000-0000-0000-000000000001 c3d4e5f6-0000-0000-0000-000000000001
# unlink test cases
uip tm requirements testcases \
--project-key DEMO \
--requirement-id a1b2c3d4-0000-0000-0000-000000000001 \
--remove-testcase-ids b2c3d4e5-0000-0000-0000-000000000001
数据形状 — 附加
{ "Code": "RequirementAssignTestCases", "Data": { "Id": "a1b2c3d4-...", "Assigned": 2, "Result": "Assigned" } }
{ "Code": "RequirementAssignTestCases", "Data": { "Id": "a1b2c3d4-...", "Assigned": 2, "Result": "Assigned" } }
“数据形状” — 分离
{ "Code": "RequirementUnassignTestCases", "Data": { "Id": "a1b2c3d4-...", "Unassigned": 1, "Result": "Unassigned" } }
{ "Code": "RequirementUnassignTestCases", "Data": { "Id": "a1b2c3d4-...", "Unassigned": 1, "Result": "Unassigned" } }
按测试执行划分的 UIP TM 要求列表
列出特定测试执行涵盖的需求。返回其链接的测试用例包含在该执行中的需求。
参数
无。
选项
| 标记 | 描述 |
|---|---|
--project-key <key> | 必需。拥有的项目。 |
--execution-id <uuid> | 必需。测试执行 UUID。 |
--labels <label...> | 按标签名称筛选(以空格分隔)。 |
--updated-by <userId> | 按上次更新需求的用户 ID 筛选。 |
--filter <text> | 按名称或键搜索要求。 |
--sort-by <expr> | 排序表达式(字段名称,可以选择添加 :asc 或 :desc 后缀)。 |
--limit <n> | 页面大小。默认为 50。 |
--offset <n> | 要跳过的结果。默认为 0。 |
示例
uip tm requirements list-by-test-execution \
--project-key DEMO \
--execution-id b2c3d4e5-0000-0000-0000-000000000001
uip tm requirements list-by-test-execution \
--project-key DEMO \
--execution-id b2c3d4e5-0000-0000-0000-000000000001
数据形状
{
"Code": "RequirementsListByTestExecution",
"Data": [{ "Id": "a1b2c3d4-0000-0000-0000-000000000001", "ObjKey": "DEMO:1", "Name": "User must be able to log in" }]
}
{
"Code": "RequirementsListByTestExecution",
"Data": [{ "Id": "a1b2c3d4-0000-0000-0000-000000000001", "ObjKey": "DEMO:1", "Name": "User must be able to log in" }]
}
相关内容
- project — 拥有项目作用域。
- 测试用例— 可以链接到需求的测试用例。
- executions —
--execution-id使用的list-by-test-execution的来源。