UiPath Documentation
uipath-cli
latest
false

UiPath CLI user guide

uip tm executions

uip tm executions inspects and manipulates test executions — the objects produced by uip tm testsets run. These verbs list executions for a test set, enumerate the test case logs of a finished run, re-run an existing execution by ID, and retry only the failed cases in place.

The command that starts an execution is uip tm testsets run, which returns an ExecutionId. Every verb on this page takes that ID (or derives it from context).

Synopsis

uip tm executions list --project-key <key> [--test-set-id <uuid>] [--filter <text>] [--limit <n>] [--offset <n>]
uip tm executions list-filtered --project-key <key> [--status <status>] [--execution-type <type>] [--execution-finished-interval <interval>] [--updated-by <userId>] [--search <text>] [--labels <labels...>] [--test-execution-ids <ids...>] [--sort-by <expr>] [--limit <n>] [--offset <n>]
uip tm executions testcaselogs list --execution-id <uuid> --project-key <key> [--only-failed] [--filter <text>] [--limit <n>] [--offset <n>]
uip tm executions run --project-key <key> --execution-id <uuid> --execution-type <type> [--test-case-log-ids <ids...>] [--async]
uip tm executions retry --execution-id <uuid> (--project-key <key> | --test-set-key <key>) [--execution-type <type>]
uip tm executions get-stats --execution-id <uuid> --project-key <key>
uip tm executions list --project-key <key> [--test-set-id <uuid>] [--filter <text>] [--limit <n>] [--offset <n>]
uip tm executions list-filtered --project-key <key> [--status <status>] [--execution-type <type>] [--execution-finished-interval <interval>] [--updated-by <userId>] [--search <text>] [--labels <labels...>] [--test-execution-ids <ids...>] [--sort-by <expr>] [--limit <n>] [--offset <n>]
uip tm executions testcaselogs list --execution-id <uuid> --project-key <key> [--only-failed] [--filter <text>] [--limit <n>] [--offset <n>]
uip tm executions run --project-key <key> --execution-id <uuid> --execution-type <type> [--test-case-log-ids <ids...>] [--async]
uip tm executions retry --execution-id <uuid> (--project-key <key> | --test-set-key <key>) [--execution-type <type>]
uip tm executions get-stats --execution-id <uuid> --project-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 executions list

List the executions associated with a test set. --test-set-id is optional — omit it to list executions across all test sets in the project.

Arguments

None.

Options

  • --project-key <key> (required) — owning project.
  • --test-set-id <uuid> — test set UUID (the Id field from testsets list, not TestSetKey).
  • --filter <text> — search executions by name.
  • --limit <n> — page size. Defaults to 50.
  • --offset <n> — results to skip. Defaults to 0.

Example

uip tm executions list \
  --project-key DEMO \
  --test-set-id a1b2c3d4-0000-0000-0000-000000000001 \
  --limit 2
uip tm executions list \
  --project-key DEMO \
  --test-set-id a1b2c3d4-0000-0000-0000-000000000001 \
  --limit 2

Data shape

{
  "Code": "ExecutionsList",
  "Data": [
    {
      "Id": "b2c3d4e5-0000-0000-0000-000000000001",
      "Name": "Nightly Run 2025-04-15",
      "Status": "Passed"
    },
    {
      "Id": "b2c3d4e5-0000-0000-0000-000000000002",
      "Name": "Nightly Run 2025-04-14",
      "Status": "Failed"
    }
  ]
}
{
  "Code": "ExecutionsList",
  "Data": [
    {
      "Id": "b2c3d4e5-0000-0000-0000-000000000001",
      "Name": "Nightly Run 2025-04-15",
      "Status": "Passed"
    },
    {
      "Id": "b2c3d4e5-0000-0000-0000-000000000002",
      "Name": "Nightly Run 2025-04-14",
      "Status": "Failed"
    }
  ]
}

uip tm executions list-filtered

List executions using advanced server-side filters. Note: --status and --execution-type are singular, single-value flags. Date range filtering is done via --execution-finished-interval, not date flags.

Arguments

None.

Options

  • --project-key <key> (required) — owning project.
  • --status <status> — filter by a single execution status. Accepted values come from the SDK TestExecutionStatus enum. Run --help to see the current set.
  • --execution-type <type> — filter by a single execution type (automated, manual, mixed, none).
  • --execution-finished-interval <interval> — filter by how recently the execution finished. Accepted values come from the SDK TestExecutionFinishedInterval enum.
  • --updated-by <userId> — filter by the user ID who last updated the execution.
  • --search <text> — free-text search over execution names and metadata.
  • --labels <labels...> — space-separated label names to filter by.
  • --test-execution-ids <ids...> — space-separated execution UUIDs to include.
  • --sort-by <expr> — sort expression (field name, optionally suffixed with :asc or :desc).
  • --limit <n> — page size. Defaults to 50.
  • --offset <n> — results to skip. Defaults to 0.

Example

uip tm executions list-filtered \
  --project-key DEMO \
  --status Failed \
  --execution-type automated \
  --limit 10
uip tm executions list-filtered \
  --project-key DEMO \
  --status Failed \
  --execution-type automated \
  --limit 10

Data shape

{
  "Code": "ExecutionsFilteredList",
  "Data": [
    {
      "Id": "b2c3d4e5-0000-0000-0000-000000000002",
      "Name": "Nightly Run 2025-04-14",
      "Status": "Failed",
      "ExecutionType": "automated"
    }
  ]
}
{
  "Code": "ExecutionsFilteredList",
  "Data": [
    {
      "Id": "b2c3d4e5-0000-0000-0000-000000000002",
      "Name": "Nightly Run 2025-04-14",
      "Status": "Failed",
      "ExecutionType": "automated"
    }
  ]
}

uip tm executions testcaselogs list

List the test case logs produced by a single execution. Each log is one run of one test case, carrying result, status, and timing.

Arguments

None.

Options

  • --execution-id <uuid> (required) — execution to inspect.
  • --project-key <key> (required) — owning project.
  • --only-failed — show only failed logs.
  • --filter <text> — search logs by name.
  • --limit <n> — page size. Defaults to 50.
  • --offset <n> — results to skip. Defaults to 0.

Example

uip tm executions testcaselogs list \
  --execution-id a1b2c3d4-0000-0000-0000-000000000001 \
  --project-key DEMO \
  --only-failed
uip tm executions testcaselogs list \
  --execution-id a1b2c3d4-0000-0000-0000-000000000001 \
  --project-key DEMO \
  --only-failed

Data shape

{
  "Code": "ExecutionTestCaseLogs",
  "Data": [
    {
      "Id": "c3d4e5f6-0000-0000-0000-000000000001",
      "TestCaseName": "Login flow",
      "Status": "Finished",
      "Result": "Failed"
    }
  ]
}
{
  "Code": "ExecutionTestCaseLogs",
  "Data": [
    {
      "Id": "c3d4e5f6-0000-0000-0000-000000000001",
      "TestCaseName": "Login flow",
      "Status": "Finished",
      "Result": "Failed"
    }
  ]
}

Each Id is a test case log UUID. Feed it to uip tm testcaselog list-assertions to see why a test case log was marked Failed.

uip tm executions run

Re-run an existing execution by its ID. This is not the same as starting a new execution — it replays within the same execution record, targeting all test cases or a specific subset.

Note:

To start a brand-new execution, use uip tm testsets run instead.

Arguments

None.

Options

  • --project-key <key> (required) — owning project.
  • --execution-id <uuid> (required) — ID of the existing execution to re-run.
  • --execution-type <type> (required) — which test cases to run (automated, manual, mixed, none).
  • --test-case-log-ids <ids...> — space-separated test case log UUIDs. When supplied, only those specific logs are re-run.
  • --async — return immediately after queuing without waiting for acknowledgement.

Examples

# re-run the entire execution
uip tm executions run \
  --project-key DEMO \
  --execution-id a1b2c3d4-0000-0000-0000-000000000001 \
  --execution-type automated

# re-run specific failed logs only
uip tm executions run \
  --project-key DEMO \
  --execution-id a1b2c3d4-0000-0000-0000-000000000001 \
  --execution-type automated \
  --test-case-log-ids c3d4e5f6-0000-0000-0000-000000000001 c3d4e5f6-0000-0000-0000-000000000002
# re-run the entire execution
uip tm executions run \
  --project-key DEMO \
  --execution-id a1b2c3d4-0000-0000-0000-000000000001 \
  --execution-type automated

# re-run specific failed logs only
uip tm executions run \
  --project-key DEMO \
  --execution-id a1b2c3d4-0000-0000-0000-000000000001 \
  --execution-type automated \
  --test-case-log-ids c3d4e5f6-0000-0000-0000-000000000001 c3d4e5f6-0000-0000-0000-000000000002

Data shape

{
  "Code": "ExecutionRun",
  "Data": {
    "ExecutionId": "a1b2c3d4-0000-0000-0000-000000000001",
    "Status": "Running",
    "StartTime": "2025-04-15T10:30:00Z"
  }
}
{
  "Code": "ExecutionRun",
  "Data": {
    "ExecutionId": "a1b2c3d4-0000-0000-0000-000000000001",
    "Status": "Running",
    "StartTime": "2025-04-15T10:30:00Z"
  }
}

uip tm executions retry

Retry only the failed test cases of a completed execution, in place. The command fetches the execution's stats and refuses to proceed unless the run is in a terminal state. If there are zero failed cases it exits 0 with a message. The retry reuses the same execution ID; it does not create a new one.

Arguments

None.

Options

  • --execution-id <uuid> (required) — execution to retry.
  • --project-key <key> — owning project. Either this or --test-set-key is required.
  • --test-set-key <key> — test set key (for example, DEMO:42); the project key is derived from the prefix.
  • --execution-type <type> — execution type for the retry: automated (default), manual, mixed, or none.

Example

uip tm executions retry \
  --execution-id a1b2c3d4-0000-0000-0000-000000000001 \
  --project-key DEMO
uip tm executions retry \
  --execution-id a1b2c3d4-0000-0000-0000-000000000001 \
  --project-key DEMO

Data shape — when there are failures to retry

{
  "Code": "ExecutionRetry",
  "Data": {
    "ExecutionId": "a1b2c3d4-0000-0000-0000-000000000001",
    "Status": "Running",
    "StartTime": "2025-04-15T10:30:00Z",
    "RetriedCount": 3
  }
}
{
  "Code": "ExecutionRetry",
  "Data": {
    "ExecutionId": "a1b2c3d4-0000-0000-0000-000000000001",
    "Status": "Running",
    "StartTime": "2025-04-15T10:30:00Z",
    "RetriedCount": 3
  }
}

Data shape — when there are no failures to retry

{
  "Code": "ExecutionRetry",
  "Data": {
    "Message": "Execution 'a1b2c3d4-0000-0000-0000-000000000001' has no failed test cases to retry."
  }
}
{
  "Code": "ExecutionRetry",
  "Data": {
    "Message": "Execution 'a1b2c3d4-0000-0000-0000-000000000001' has no failed test cases to retry."
  }
}

uip tm executions get-stats

Get a test execution by its ID with aggregated pass/fail/none counts. Use this to read the final verdict of a finished execution without fetching the full report.

Arguments

None.

Options

  • --execution-id <uuid> (required) — test execution UUID.
  • --project-key <key> (required) — owning project.

Example

uip tm executions get-stats \
  --execution-id a1b2c3d4-0000-0000-0000-000000000001 \
  --project-key DEMO
uip tm executions get-stats \
  --execution-id a1b2c3d4-0000-0000-0000-000000000001 \
  --project-key DEMO

Data shape

{
  "Code": "ExecutionStats",
  "Data": {
    "Id": "a1b2c3d4-0000-0000-0000-000000000001",
    "Name": "Nightly Run 2025-04-15",
    "Status": "Finished",
    "ExecutionType": "automated",
    "Passed": 8,
    "Failed": 2,
    "None": 0,
    "ExecutionStart": "2025-04-15T10:00:00Z",
    "ExecutionFinished": "2025-04-15T11:00:00Z"
  }
}
{
  "Code": "ExecutionStats",
  "Data": {
    "Id": "a1b2c3d4-0000-0000-0000-000000000001",
    "Name": "Nightly Run 2025-04-15",
    "Status": "Finished",
    "ExecutionType": "automated",
    "Passed": 8,
    "Failed": 2,
    "None": 0,
    "ExecutionStart": "2025-04-15T10:00:00Z",
    "ExecutionFinished": "2025-04-15T11:00:00Z"
  }
}

Exit codes

The standard CI pattern is a three-step pipeline:

  1. Launchuip tm testsets run returns an ExecutionId and exits 0.
  2. Blockuip tm wait polls until the execution reaches a terminal state. Exits 0 when finished, 2 on timeout, 1 on failure.
  3. Verdictuip tm report get reads Passed / Failed counts. Your script fails the build explicitly.
id=$(uip tm testsets run \
  --project-key DEMO \
  --test-set-key DEMO:10 \
  --execution-type automated \
  --output-filter .Data.ExecutionId)

if ! uip tm wait --execution-id "$id" --project-key DEMO --timeout 1800000; then
  code=$?
  [ "$code" -eq 2 ] && { echo "timed out" >&2; exit 2; }
  echo "wait failed ($code)" >&2; exit "$code"
fi

failed=$(uip tm report get \
  --execution-id "$id" --project-key DEMO --output-filter .Data.Failed)
[ "$failed" -gt 0 ] && { echo "$failed test(s) failed" >&2; exit 1; }
echo "all passed"
id=$(uip tm testsets run \
  --project-key DEMO \
  --test-set-key DEMO:10 \
  --execution-type automated \
  --output-filter .Data.ExecutionId)

if ! uip tm wait --execution-id "$id" --project-key DEMO --timeout 1800000; then
  code=$?
  [ "$code" -eq 2 ] && { echo "timed out" >&2; exit 2; }
  echo "wait failed ($code)" >&2; exit "$code"
fi

failed=$(uip tm report get \
  --execution-id "$id" --project-key DEMO --output-filter .Data.Failed)
[ "$failed" -gt 0 ] && { echo "$failed test(s) failed" >&2; exit 1; }
echo "all passed"
  • testsets run — start an execution.
  • wait — block until an execution reaches a terminal state.
  • report, result, attachment — post-run artifacts.
  • testcasestestcaselog list-assertions turns a failed log into per-assertion detail.

See also

Was this page helpful?

Connect

Need help? Support

Want to learn? UiPath Academy

Have questions? UiPath Forum

Stay updated