UiPath Documentation
uipath-cli
latest
false

UiPath CLI user guide

uip tm requirement

uip tm requirement manages requirements inside a Test Manager project — create, read, update, delete, and relate requirements to test cases and defects. Requirements are the traceability layer: they express what the system must do, and each requirement can be linked to one or more test cases to show coverage.

A requirement is identified by a RequirementKey (PROJECT:N) and optionally by a connector-native key (--requirement-key-external / --get-by-key).

Synopsis

uip tm requirement list --project-key <key> [filters…]
uip tm requirement get --project-key <key> --requirement-id <uuid>
uip tm requirement get-by-key --project-key <key> --requirement-key <key>
uip tm requirement create --project-key <key> --name <name> [options…]
uip tm requirement update --project-key <key> --requirement-key <key> [options…]
uip tm requirement delete --project-key <key> --requirement-key <key>
uip tm requirement bulk-delete --project-key <key> --requirement-keys <keys>
uip tm requirement clone --project-key <key> --requirement-key <key> [--name <name>]
uip tm requirement list-filtered --project-key <key> [filters…]
uip tm requirement list-related-defects --project-key <key> --requirement-key <key>
uip tm requirement list-by-test-execution --project-key <key> --execution-id <uuid>
uip tm requirement search-by-label --project-key <key> --label <text>
uip tm requirement export --project-key <key> [--format <format>] [--output-path <path>]
uip tm requirement list-testcase-ids --project-key <key> --requirement-key <key>
uip tm requirement assign-testcases --project-key <key> --requirement-key <key> --test-case-keys <keys>
uip tm requirement unassign-testcases --project-key <key> --requirement-key <key> --test-case-keys <keys>
uip tm requirement unlink-connector --project-key <key> --requirement-key <key>
uip tm requirement list --project-key <key> [filters…]
uip tm requirement get --project-key <key> --requirement-id <uuid>
uip tm requirement get-by-key --project-key <key> --requirement-key <key>
uip tm requirement create --project-key <key> --name <name> [options…]
uip tm requirement update --project-key <key> --requirement-key <key> [options…]
uip tm requirement delete --project-key <key> --requirement-key <key>
uip tm requirement bulk-delete --project-key <key> --requirement-keys <keys>
uip tm requirement clone --project-key <key> --requirement-key <key> [--name <name>]
uip tm requirement list-filtered --project-key <key> [filters…]
uip tm requirement list-related-defects --project-key <key> --requirement-key <key>
uip tm requirement list-by-test-execution --project-key <key> --execution-id <uuid>
uip tm requirement search-by-label --project-key <key> --label <text>
uip tm requirement export --project-key <key> [--format <format>] [--output-path <path>]
uip tm requirement list-testcase-ids --project-key <key> --requirement-key <key>
uip tm requirement assign-testcases --project-key <key> --requirement-key <key> --test-case-keys <keys>
uip tm requirement unassign-testcases --project-key <key> --requirement-key <key> --test-case-keys <keys>
uip tm requirement unlink-connector --project-key <key> --requirement-key <key>

All verbs honor the global options and the standard exit codes. Every verb accepts -t, --tenant <name> and --log-level <level> (default Information).

uip tm requirement list

List all requirements in a project. The CLI pages through results automatically.

Arguments

None.

Options

  • --project-key <key> (required) — project to list.
  • --filter <text> — filter by name or key (server-side search).
  • --top <number> — page size. Defaults to 50.
  • --skip <number> — results to skip. Defaults to 0.

Example

uip tm requirement list --project-key DEMO
uip tm requirement list --project-key DEMO

Data shape

{
  "Code": "RequirementsList",
  "Data": [
    {
      "RequirementKey": "DEMO:1",
      "Name": "User must be able to log in",
      "Description": "Login with valid credentials succeeds"
    }
  ]
}
{
  "Code": "RequirementsList",
  "Data": [
    {
      "RequirementKey": "DEMO:1",
      "Name": "User must be able to log in",
      "Description": "Login with valid credentials succeeds"
    }
  ]
}

uip tm requirement get

Get a single requirement by its internal UUID.

Arguments

None.

Options

  • --project-key <key> (required) — owning project.
  • --requirement-id <uuid> (required) — internal requirement UUID. Obtain from requirement list or from RequirementCreate output.

Example

uip tm requirement get \
  --project-key DEMO \
  --requirement-id a1b2c3d4-0000-0000-0000-000000000001
uip tm requirement get \
  --project-key DEMO \
  --requirement-id a1b2c3d4-0000-0000-0000-000000000001

Data shape

{
  "Code": "RequirementGet",
  "Data": {
    "RequirementKey": "DEMO:1",
    "Id": "a1b2c3d4-0000-0000-0000-000000000001",
    "Name": "User must be able to log in",
    "Description": "Login with valid credentials succeeds"
  }
}
{
  "Code": "RequirementGet",
  "Data": {
    "RequirementKey": "DEMO:1",
    "Id": "a1b2c3d4-0000-0000-0000-000000000001",
    "Name": "User must be able to log in",
    "Description": "Login with valid credentials succeeds"
  }
}

uip tm requirement get-by-key

Get a requirement by its PROJECT:N key.

Arguments

None.

Options

  • --project-key <key> (required) — owning project.
  • --requirement-key <key> (required) — requirement key (for example, DEMO:1).

Example

uip tm requirement get-by-key \
  --project-key DEMO \
  --requirement-key DEMO:1
uip tm requirement get-by-key \
  --project-key DEMO \
  --requirement-key DEMO:1

Data shape

{
  "Code": "RequirementGetByKey",
  "Data": {
    "RequirementKey": "DEMO:1",
    "Id": "a1b2c3d4-0000-0000-0000-000000000001",
    "Name": "User must be able to log in",
    "Description": "Login with valid credentials succeeds"
  }
}
{
  "Code": "RequirementGetByKey",
  "Data": {
    "RequirementKey": "DEMO:1",
    "Id": "a1b2c3d4-0000-0000-0000-000000000001",
    "Name": "User must be able to log in",
    "Description": "Login with valid credentials succeeds"
  }
}

uip tm requirement create

Create a new requirement in a project.

Arguments

None.

Options

  • --project-key <key> (required) — owning project.
  • --name <name> (required) — requirement name.
  • --description <text> — free-form description. Defaults to empty.

Example

uip tm requirement create \
  --project-key DEMO \
  --name "User must be able to log in" \
  --description "Login with valid credentials succeeds"
uip tm requirement create \
  --project-key DEMO \
  --name "User must be able to log in" \
  --description "Login with valid credentials succeeds"

Data shape

{
  "Code": "RequirementCreate",
  "Data": {
    "RequirementKey": "DEMO:1",
    "Id": "a1b2c3d4-0000-0000-0000-000000000001",
    "Name": "User must be able to log in"
  }
}
{
  "Code": "RequirementCreate",
  "Data": {
    "RequirementKey": "DEMO:1",
    "Id": "a1b2c3d4-0000-0000-0000-000000000001",
    "Name": "User must be able to log in"
  }
}

uip tm requirement update

Rename a requirement or change its description. At least one of --name or --description is required.

Arguments

None.

Options

  • --project-key <key> (required) — owning project.
  • --requirement-key <key> (required) — requirement key (for example, DEMO:1).
  • --name <name> — new name. Omit to leave unchanged.
  • --description <text> — new description. Omit to leave unchanged.

Example

uip tm requirement update \
  --project-key DEMO \
  --requirement-key DEMO:1 \
  --name "User must be able to log in (revised)"
uip tm requirement update \
  --project-key DEMO \
  --requirement-key DEMO:1 \
  --name "User must be able to log in (revised)"

Data shape

{
  "Code": "RequirementUpdate",
  "Data": {
    "RequirementKey": "DEMO:1",
    "Name": "User must be able to log in (revised)",
    "Result": "Updated"
  }
}
{
  "Code": "RequirementUpdate",
  "Data": {
    "RequirementKey": "DEMO:1",
    "Name": "User must be able to log in (revised)",
    "Result": "Updated"
  }
}

uip tm requirement delete

Delete a single requirement by its key.

Arguments

None.

Options

  • --project-key <key> (required) — owning project.
  • --requirement-key <key> (required) — requirement key (for example, DEMO:1).

Example

uip tm requirement delete \
  --project-key DEMO \
  --requirement-key DEMO:1
uip tm requirement delete \
  --project-key DEMO \
  --requirement-key DEMO:1

Data shape

{
  "Code": "RequirementDelete",
  "Data": {
    "RequirementKey": "DEMO:1",
    "Result": "Deleted"
  }
}
{
  "Code": "RequirementDelete",
  "Data": {
    "RequirementKey": "DEMO:1",
    "Result": "Deleted"
  }
}

uip tm requirement bulk-delete

Delete multiple requirements in one call.

Arguments

None.

Options

  • --project-key <key> (required) — owning project.
  • --requirement-keys <keys> (required) — comma-separated PROJECT:N keys (for example, DEMO:1,DEMO:2).

Example

uip tm requirement bulk-delete \
  --project-key DEMO \
  --requirement-keys DEMO:1,DEMO:2
uip tm requirement bulk-delete \
  --project-key DEMO \
  --requirement-keys DEMO:1,DEMO:2

Data shape

{
  "Code": "RequirementBulkDelete",
  "Data": {
    "Deleted": 2
  }
}
{
  "Code": "RequirementBulkDelete",
  "Data": {
    "Deleted": 2
  }
}

uip tm requirement clone

Clone a requirement, optionally renaming the copy.

Arguments

None.

Options

  • --project-key <key> (required) — owning project.
  • --requirement-key <key> (required) — requirement key to clone (for example, DEMO:1).
  • --name <name> — name for the cloned requirement. Defaults to Copy of <original name>.

Example

uip tm requirement clone \
  --project-key DEMO \
  --requirement-key DEMO:1 \
  --name "User must be able to log in (copy)"
uip tm requirement clone \
  --project-key DEMO \
  --requirement-key DEMO:1 \
  --name "User must be able to log in (copy)"

Data shape

{
  "Code": "RequirementClone",
  "Data": {
    "RequirementKey": "DEMO:5",
    "Name": "User must be able to log in (copy)"
  }
}
{
  "Code": "RequirementClone",
  "Data": {
    "RequirementKey": "DEMO:5",
    "Name": "User must be able to log in (copy)"
  }
}

uip tm requirement list-filtered

List requirements with richer server-side filters than list. Supports multi-value status and label filters.

Arguments

None.

Options

  • --project-key <key> (required) — project to query.
  • --statuses <statuses...> — space-separated requirement statuses to include. Accepted values are tool-version-dependent; run uip tm requirement list-filtered --help to see the current set.
  • --labels <labels...> — space-separated label names to filter by.
  • --top <number> — page size. Defaults to 50.
  • --skip <number> — results to skip. Defaults to 0.

Example

uip tm requirement list-filtered \
  --project-key DEMO \
  --labels "high-priority"
uip tm requirement list-filtered \
  --project-key DEMO \
  --labels "high-priority"

Data shape

{
  "Code": "RequirementsListFiltered",
  "Data": [
    {
      "RequirementKey": "DEMO:1",
      "Name": "User must be able to log in",
      "Status": "Active"
    }
  ]
}
{
  "Code": "RequirementsListFiltered",
  "Data": [
    {
      "RequirementKey": "DEMO:1",
      "Name": "User must be able to log in",
      "Status": "Active"
    }
  ]
}

List defects linked to a requirement via a connector integration.

Arguments

None.

Options

  • --project-key <key> (required) — owning project.
  • --requirement-key <key> (required) — requirement key (for example, DEMO:1).

Example

uip tm requirement list-related-defects \
  --project-key DEMO \
  --requirement-key DEMO:1
uip tm requirement list-related-defects \
  --project-key DEMO \
  --requirement-key DEMO:1

Data shape

{
  "Code": "RequirementRelatedDefects",
  "Data": [
    {
      "DefectId": "DEF-42",
      "Title": "Login fails on Safari",
      "Status": "Open"
    }
  ]
}
{
  "Code": "RequirementRelatedDefects",
  "Data": [
    {
      "DefectId": "DEF-42",
      "Title": "Login fails on Safari",
      "Status": "Open"
    }
  ]
}

uip tm requirement list-by-test-execution

List the requirements covered by a given test execution.

Arguments

None.

Options

  • --project-key <key> (required) — owning project.
  • --execution-id <uuid> (required) — execution UUID. Get from uip tm testsets run or uip tm executions list.

Example

uip tm requirement list-by-test-execution \
  --project-key DEMO \
  --execution-id a1b2c3d4-0000-0000-0000-000000000001
uip tm requirement list-by-test-execution \
  --project-key DEMO \
  --execution-id a1b2c3d4-0000-0000-0000-000000000001

Data shape

{
  "Code": "RequirementsByExecution",
  "Data": [
    {
      "RequirementKey": "DEMO:1",
      "Name": "User must be able to log in"
    }
  ]
}
{
  "Code": "RequirementsByExecution",
  "Data": [
    {
      "RequirementKey": "DEMO:1",
      "Name": "User must be able to log in"
    }
  ]
}

uip tm requirement search-by-label

Find requirements tagged with a specific label.

Arguments

None.

Options

  • --project-key <key> (required) — owning project.
  • --label <text> (required) — label to search for.

Example

uip tm requirement search-by-label \
  --project-key DEMO \
  --label "high-priority"
uip tm requirement search-by-label \
  --project-key DEMO \
  --label "high-priority"

Data shape

{
  "Code": "RequirementsSearchByLabel",
  "Data": [
    {
      "RequirementKey": "DEMO:1",
      "Name": "User must be able to log in"
    }
  ]
}
{
  "Code": "RequirementsSearchByLabel",
  "Data": [
    {
      "RequirementKey": "DEMO:1",
      "Name": "User must be able to log in"
    }
  ]
}

uip tm requirement export

Export requirements to a file. Format options and output defaults are tool-version-dependent; run uip tm requirement export --help to see the current set.

Arguments

None.

Options

  • --project-key <key> (required) — owning project.
  • --format <format> — export format (run --help to see accepted values).
  • --output-path <path> — destination path for the exported file. Defaults to the current directory.

Example

uip tm requirement export \
  --project-key DEMO \
  --output-path ./requirements-export.xlsx
uip tm requirement export \
  --project-key DEMO \
  --output-path ./requirements-export.xlsx

Data shape

Writes a file to --output-path and prints a RequirementExport envelope:

{
  "Code": "RequirementExport",
  "Data": {
    "OutputPath": "./requirements-export.xlsx"
  }
}
{
  "Code": "RequirementExport",
  "Data": {
    "OutputPath": "./requirements-export.xlsx"
  }
}

uip tm requirement list-testcase-ids

List the internal UUIDs of all test cases assigned to a requirement.

Arguments

None.

Options

  • --project-key <key> (required) — owning project.
  • --requirement-key <key> (required) — requirement key (for example, DEMO:1).

Example

uip tm requirement list-testcase-ids \
  --project-key DEMO \
  --requirement-key DEMO:1
uip tm requirement list-testcase-ids \
  --project-key DEMO \
  --requirement-key DEMO:1

Data shape

{
  "Code": "RequirementTestCaseIds",
  "Data": [
    "a1b2c3d4-0000-0000-0000-000000000001",
    "a1b2c3d4-0000-0000-0000-000000000002"
  ]
}
{
  "Code": "RequirementTestCaseIds",
  "Data": [
    "a1b2c3d4-0000-0000-0000-000000000001",
    "a1b2c3d4-0000-0000-0000-000000000002"
  ]
}

uip tm requirement assign-testcases

Link one or more test cases to a requirement.

Arguments

None.

Options

  • --project-key <key> (required) — owning project.
  • --requirement-key <key> (required) — requirement key (for example, DEMO:1).
  • --test-case-keys <keys> (required) — comma-separated test case keys (for example, DEMO:1,DEMO:2).

Example

uip tm requirement assign-testcases \
  --project-key DEMO \
  --requirement-key DEMO:1 \
  --test-case-keys DEMO:1,DEMO:2
uip tm requirement assign-testcases \
  --project-key DEMO \
  --requirement-key DEMO:1 \
  --test-case-keys DEMO:1,DEMO:2

Data shape

{
  "Code": "RequirementAssignTestCases",
  "Data": {
    "Assigned": 2
  }
}
{
  "Code": "RequirementAssignTestCases",
  "Data": {
    "Assigned": 2
  }
}

uip tm requirement unassign-testcases

Remove one or more test case links from a requirement.

Arguments

None.

Options

  • --project-key <key> (required) — owning project.
  • --requirement-key <key> (required) — requirement key (for example, DEMO:1).
  • --test-case-keys <keys> (required) — comma-separated test case keys to unlink.

Example

uip tm requirement unassign-testcases \
  --project-key DEMO \
  --requirement-key DEMO:1 \
  --test-case-keys DEMO:1,DEMO:2
uip tm requirement unassign-testcases \
  --project-key DEMO \
  --requirement-key DEMO:1 \
  --test-case-keys DEMO:1,DEMO:2

Data shape

{
  "Code": "RequirementUnassignTestCases",
  "Data": {
    "Unassigned": 2
  }
}
{
  "Code": "RequirementUnassignTestCases",
  "Data": {
    "Unassigned": 2
  }
}

Remove a connector integration link from a requirement. Disconnects the external tool mapping without deleting the requirement itself.

Arguments

None.

Options

  • --project-key <key> (required) — owning project.
  • --requirement-key <key> (required) — requirement key (for example, DEMO:1).

Example

uip tm requirement unlink-connector \
  --project-key DEMO \
  --requirement-key DEMO:1
uip tm requirement unlink-connector \
  --project-key DEMO \
  --requirement-key DEMO:1

Data shape

{
  "Code": "RequirementUnlinkConnector",
  "Data": {
    "RequirementKey": "DEMO:1",
    "Result": "Unlinked"
  }
}
{
  "Code": "RequirementUnlinkConnector",
  "Data": {
    "RequirementKey": "DEMO:1",
    "Result": "Unlinked"
  }
}
  • testcases — assign test cases to requirements with requirement assign-testcases.
  • objectlabel — manage the labels you can search by with requirement search-by-label.
  • executions — list requirements covered by a run with requirement list-by-test-execution.

See also

Was this page helpful?

Connect

Need help? Support

Want to learn? UiPath Academy

Have questions? UiPath Forum

Stay updated