- Overview
- Get started
- Concepts
- Using UiPath CLI
- UiPath for Coding Agents
- How-to guides
- CI/CD recipes
- Command reference
- Overview
- Exit codes
- Global options
- uip codedagent
- uip docsai
- add-test-data-entity
- add-test-data-queue
- add-test-data-variation
- analyze
- build
- create-project
- diff
- find-activities
- get-analyzer-rules
- get-default-activity-xaml
- get-errors
- get-manual-test-cases
- get-manual-test-steps
- get-versions
- get-workflow-example
- indicate-application
- indicate-element
- inspect-package
- install-data-fabric-entities
- install-or-update-packages
- list-data-fabric-entities
- list-workflow-examples
- pack
- restore
- run-file
- search-templates
- start-studio
- stop-execution
- uia
- uip traces
- Migration
- Reference & support
UiPath CLI user guide
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 (theIdfield fromtestsets list, notTestSetKey).--filter <text>— search executions by name.--limit <n>— page size. Defaults to50.--offset <n>— results to skip. Defaults to0.
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 SDKTestExecutionStatusenum. Run--helpto 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 SDKTestExecutionFinishedIntervalenum.--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:ascor:desc).--limit <n>— page size. Defaults to50.--offset <n>— results to skip. Defaults to0.
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 to50.--offset <n>— results to skip. Defaults to0.
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.
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-keyis 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, ornone.
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:
- Launch —
uip tm testsets runreturns anExecutionIdand exits0. - Block —
uip tm waitpolls until the execution reaches a terminal state. Exits0when finished,2on timeout,1on failure. - Verdict —
uip tm report getreadsPassed/Failedcounts. 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"
Related
- testsets run — start an execution.
- wait — block until an execution reaches a terminal state.
- report, result, attachment — post-run artifacts.
- testcases —
testcaselog list-assertionsturns a failed log into per-assertion detail.
See also
- Synopsis
- uip tm executions list
- Arguments
- Options
- Example
- Data shape
- uip tm executions list-filtered
- Arguments
- Options
- Example
- Data shape
- uip tm executions testcaselogs list
- Arguments
- Options
- Example
- Data shape
- uip tm executions run
- Arguments
- Options
- Examples
- Data shape
- uip tm executions retry
- Arguments
- Options
- Example
- Data shape — when there are failures to retry
- Data shape — when there are no failures to retry
- uip tm executions get-stats
- Arguments
- Options
- Example
- Data shape
- Exit codes
- Related
- See also