- Overview
- Get started
- Concepts
- Using UiPath CLI
- How-to guides
- CI/CD recipes
- Command reference
- Overview
- Exit codes
- Global options
- uip codedagent
- uip coder
- uip context-grounding
- uip docsai
- uip function
- uip guardrails
- uip llm-configuration
- uip llm-gateway
- uip maestro authoring
- uip maestro registry
- uip model-hub
- activities find
- activities get-default-xaml
- analyze
- analyzer-rules list
- build
- cleanup
- data-fabric-entities install
- data-fabric-entities list
- files diff
- get-library-object-repository
- get-object-repository
- init
- instances list
- pack
- packages inspect
- packages install
- packages versions
- publish
- remote
- restore
- run, debug & execution
- settings
- studio start
- templates search
- test-data add-entity
- test-data add-queue
- test-data add-variation
- tm
- uia
- validate
- workflow-examples get
- workflow-examples list
- uip tasks
- uip traces
- uip traces feedback
- Migration
- Reference & support
uip tm project
Syntax and options for `uip tm project`, which manages Test Manager projects, the tenant default project, project settings, and whole-project export and import as .tmh packages.
uip tm project manages Test Manager projects on the current tenant. A Test Manager project is the top-level container for requirements, test cases, test sets, and executions; project-scoped uip tm commands take --project-key or --project-id to select a project. When you pass both, --project-id is used.
The same group reads and sets the tenant default project, reads and updates project settings, and copies a whole project out to a .tmh package or in from one with export and import. Test Manager runs export and import as background migration jobs, which uip tm migration inspects and downloads.
Synopsis
uip tm project list [--filter <text>] [--limit <number>] [--offset <number>]
uip tm project get-default
uip tm project create --name <name> --project-key <key> [--description <text>]
uip tm project update --project-key <key> [--name <name>] [--description <text>] [--set-default]
uip tm project delete --project-key <key> -y
uip tm project set-default-folder (--project-key <key> | --project-id <id>) --folder-key <uuid>
uip tm project clear-default-folder (--project-key <key> | --project-id <id>)
uip tm project owners list --project-key <key...>
uip tm project settings get (--project-key <key> | --project-id <id>)
uip tm project settings update (--project-key <key> | --project-id <id>) [--time-zone <iana-name>] [--execution-name-format <template>]
uip tm project export (--project-key <key> | --project-id <id>) [--include <content...>] [--exclude <content...>] [--wait --output-file <path> [--overwrite] [--timeout <seconds>] [--poll-interval <seconds>]]
uip tm project import (--project-key <key> | --project-id <id> | --create-project [--new-project-name <name>] [--new-project-key <key>]) --file <path> [--include <content...>] [--exclude <content...>] [--wait [--timeout <seconds>] [--poll-interval <seconds>]]
uip tm project list [--filter <text>] [--limit <number>] [--offset <number>]
uip tm project get-default
uip tm project create --name <name> --project-key <key> [--description <text>]
uip tm project update --project-key <key> [--name <name>] [--description <text>] [--set-default]
uip tm project delete --project-key <key> -y
uip tm project set-default-folder (--project-key <key> | --project-id <id>) --folder-key <uuid>
uip tm project clear-default-folder (--project-key <key> | --project-id <id>)
uip tm project owners list --project-key <key...>
uip tm project settings get (--project-key <key> | --project-id <id>)
uip tm project settings update (--project-key <key> | --project-id <id>) [--time-zone <iana-name>] [--execution-name-format <template>]
uip tm project export (--project-key <key> | --project-id <id>) [--include <content...>] [--exclude <content...>] [--wait --output-file <path> [--overwrite] [--timeout <seconds>] [--poll-interval <seconds>]]
uip tm project import (--project-key <key> | --project-id <id> | --create-project [--new-project-name <name>] [--new-project-key <key>]) --file <path> [--include <content...>] [--exclude <content...>] [--wait [--timeout <seconds>] [--poll-interval <seconds>]]
All verbs honor the global options and the standard exit codes. Every verb accepts --log-level <level> for verbosity (debug, info, warn, error; default Information).
uip tm project list
List the Test Manager projects on the current tenant. IsDefault is true on the tenant default project.
Arguments
None.
Options
| Flag | Description |
|---|---|
--filter <text> | Filter projects by name. |
--limit <number> | Maximum number of projects to return per page. Defaults to 50. |
--offset <number> | Number of results to skip. Defaults to 0. |
Example
uip tm project list --limit 20 --offset 0
uip tm project list --limit 20 --offset 0
Data shape
{
"Code": "ProjectsList",
"Data": [
{
"Id": "a1b2c3d4-0000-0000-0000-000000000001",
"ProjectKey": "DEMO",
"Name": "Demo Project",
"Description": "Smoke tests",
"Active": true,
"AuthorizationEnabled": false,
"SapConfigured": false,
"Created": "2025-01-01T00:00:00Z",
"CreatedBy": "alice@example.com",
"Updated": "2025-06-01T00:00:00Z",
"UpdatedBy": "bob@example.com",
"IsDefault": true
}
]
}
{
"Code": "ProjectsList",
"Data": [
{
"Id": "a1b2c3d4-0000-0000-0000-000000000001",
"ProjectKey": "DEMO",
"Name": "Demo Project",
"Description": "Smoke tests",
"Active": true,
"AuthorizationEnabled": false,
"SapConfigured": false,
"Created": "2025-01-01T00:00:00Z",
"CreatedBy": "alice@example.com",
"Updated": "2025-06-01T00:00:00Z",
"UpdatedBy": "bob@example.com",
"IsDefault": true
}
]
}
uip tm project get-default
Get the tenant default Test Manager project. If the tenant has no default project, the command creates one and returns it.
The default project is the one project list marks with IsDefault: true. When you run tests without specifying a project, Test Manager stores the results in the default project, as described in Run without a project. To make a different project the default, use project update --set-default.
Creating the default project needs a Test Manager license, the TM.Projects scope, and the tenant Project.Create permission. If a default project exists that you cannot open, the command fails with a permission error; ask a Test Manager administrator for access, or use a project from project list.
Arguments
None.
Options
None.
Example
uip tm project get-default
uip tm project get-default
Data shape
{
"Code": "ProjectGetDefault",
"Data": {
"Id": "a1b2c3d4-0000-0000-0000-000000000001",
"ProjectKey": "DEMO",
"Name": "Default Project",
"Description": "Default project for automated test executions.",
"Active": true,
"AuthorizationEnabled": true,
"SapConfigured": false,
"Created": "2026-10-01T00:00:00Z",
"CreatedBy": "alice@example.com",
"Updated": "2026-10-01T00:00:00Z",
"UpdatedBy": "alice@example.com",
"IsDefault": true
}
}
{
"Code": "ProjectGetDefault",
"Data": {
"Id": "a1b2c3d4-0000-0000-0000-000000000001",
"ProjectKey": "DEMO",
"Name": "Default Project",
"Description": "Default project for automated test executions.",
"Active": true,
"AuthorizationEnabled": true,
"SapConfigured": false,
"Created": "2026-10-01T00:00:00Z",
"CreatedBy": "alice@example.com",
"Updated": "2026-10-01T00:00:00Z",
"UpdatedBy": "alice@example.com",
"IsDefault": true
}
}
uip tm project create
Create a Test Manager project. The new project is active.
Arguments
None.
Options
| Flag | Description |
|---|---|
--name <name> | Required. Project name. |
--project-key <key> | Required. Project key, the prefix of every object key in the project. For example, object keys in project DEMO look like DEMO:1. |
--description <text> | Free-form project description. Defaults to empty. |
Example
uip tm project create \
--name "Demo Project" \
--project-key DEMO \
--description "Smoke tests"
uip tm project create \
--name "Demo Project" \
--project-key DEMO \
--description "Smoke tests"
Data shape
{
"Code": "ProjectCreate",
"Data": {
"ProjectKey": "DEMO",
"Id": "a1b2c3d4-0000-0000-0000-000000000001",
"Name": "Demo Project",
"Description": "Smoke tests",
"IsDefault": false
}
}
{
"Code": "ProjectCreate",
"Data": {
"ProjectKey": "DEMO",
"Id": "a1b2c3d4-0000-0000-0000-000000000001",
"Name": "Demo Project",
"Description": "Smoke tests",
"IsDefault": false
}
}
uip tm project update
Update a project's name or description, make it the tenant default project, or both. Fields you omit keep their current values.
Arguments
None.
Options
| Flag | Description |
|---|---|
--project-key <key> | Required. The project to update. |
--name <name> | New name. |
--description <text> | New description. |
--set-default | Make this project the tenant default project, the one get-default returns. Who can open the project does not change. A user needs to be a tenant administrator; an external application needs the TM.Administration and TM.Projects scopes. |
With --set-default and --name or --description, the rename runs first. If setting the default then fails, the error message states that the project was updated but did not become the default.
Examples
# Rename a project
uip tm project update --project-key DEMO --name "Demo Project (2026)"
# Make a project the tenant default
uip tm project update --project-key DEMO --set-default
# Rename a project
uip tm project update --project-key DEMO --name "Demo Project (2026)"
# Make a project the tenant default
uip tm project update --project-key DEMO --set-default
Data shape
{
"Code": "ProjectUpdate",
"Data": {
"ProjectKey": "DEMO",
"Id": "a1b2c3d4-0000-0000-0000-000000000001",
"Name": "Demo Project (2026)",
"Description": "Smoke tests",
"IsDefault": false
}
}
{
"Code": "ProjectUpdate",
"Data": {
"ProjectKey": "DEMO",
"Id": "a1b2c3d4-0000-0000-0000-000000000001",
"Name": "Demo Project (2026)",
"Description": "Smoke tests",
"IsDefault": false
}
}
uip tm project delete
Delete a Test Manager project by its key. Deletion is permanent and removes the project's test cases, test sets, and execution history.
Arguments
None.
Options
| Flag | Description |
|---|---|
--project-key <key> | Required. The project to delete. |
-y, --yes | Required. Confirms the irreversible operation. The CLI never prompts; without --yes the command returns Result: "Failure" and exits 1. |
Example
uip tm project delete --project-key DEMO --yes
uip tm project delete --project-key DEMO --yes
Data shape
{
"Code": "ProjectDelete",
"Data": {
"ProjectKey": "DEMO",
"Id": "a1b2c3d4-0000-0000-0000-000000000001",
"Result": "Deleted"
}
}
{
"Code": "ProjectDelete",
"Data": {
"ProjectKey": "DEMO",
"Id": "a1b2c3d4-0000-0000-0000-000000000001",
"Result": "Deleted"
}
}
uip tm project set-default-folder
Set the default Orchestrator folder for the project. Test sets created afterwards inherit this folder unless you set another one.
Arguments
None.
Options
| Flag | Description |
|---|---|
--project-key <key> | Test Manager project key. Pass this or --project-id. |
--project-id <id> | Test Manager project ID. Use instead of --project-key. When you pass both, --project-id is used. |
--folder-key <uuid> | Required. Orchestrator folder key (UUID). Get it from uip or folders list. |
Example
uip tm project set-default-folder \
--project-key DEMO \
--folder-key f0f0f0f0-0000-0000-0000-000000000001
uip tm project set-default-folder \
--project-key DEMO \
--folder-key f0f0f0f0-0000-0000-0000-000000000001
Data shape
{
"Code": "ProjectSetDefaultFolder",
"Data": {
"ProjectKey": "DEMO",
"FolderKey": "f0f0f0f0-0000-0000-0000-000000000001",
"Result": "Updated"
}
}
{
"Code": "ProjectSetDefaultFolder",
"Data": {
"ProjectKey": "DEMO",
"FolderKey": "f0f0f0f0-0000-0000-0000-000000000001",
"Result": "Updated"
}
}
ProjectKey is returned with --project-id too.
uip tm project clear-default-folder
Remove the default Orchestrator folder from a project. After clearing, new test sets do not inherit a folder automatically.
Arguments
None.
Options
| Flag | Description |
|---|---|
--project-key <key> | Test Manager project key. Pass this or --project-id. |
--project-id <id> | Test Manager project ID. Use instead of --project-key. When you pass both, --project-id is used. |
Example
uip tm project clear-default-folder --project-key DEMO
uip tm project clear-default-folder --project-key DEMO
Data shape
{
"Code": "ProjectClearDefaultFolder",
"Data": {
"ProjectKey": "DEMO",
"Result": "Cleared"
}
}
{
"Code": "ProjectClearDefaultFolder",
"Data": {
"ProjectKey": "DEMO",
"Result": "Cleared"
}
}
uip tm project owners list
List the owners of one or more Test Manager projects in a single call.
Arguments
None.
Options
| Flag | Description |
|---|---|
--project-key <key...> | Required. One or more project keys, space-separated or with the flag repeated. |
Examples
# List owners of a single project
uip tm project owners list --project-key DEMO
# List owners of two projects in one call
uip tm project owners list --project-key DEMO DEMO2
# List owners of a single project
uip tm project owners list --project-key DEMO
# List owners of two projects in one call
uip tm project owners list --project-key DEMO DEMO2
Data shape
{
"Code": "ProjectOwnersList",
"Data": [
{
"ProjectKey": "DEMO",
"ProjectId": "a1b2c3d4-0000-0000-0000-000000000001",
"Owners": [
{
"Identifier": "b2c3d4e5-0000-0000-0000-000000000001",
"LocalIdentifier": "c3d4e5f6-0000-0000-0000-000000000001",
"IdentityName": "jane.doe@example.com",
"DisplayName": "Jane Doe",
"Email": "jane.doe@example.com",
"FirstName": "Jane",
"LastName": "Doe",
"ObjectType": "user",
"Source": "AzureAD"
}
]
},
{
"ProjectKey": "DEMO2",
"ProjectId": "a2b3c4d5-0000-0000-0000-000000000002",
"Owners": []
}
]
}
{
"Code": "ProjectOwnersList",
"Data": [
{
"ProjectKey": "DEMO",
"ProjectId": "a1b2c3d4-0000-0000-0000-000000000001",
"Owners": [
{
"Identifier": "b2c3d4e5-0000-0000-0000-000000000001",
"LocalIdentifier": "c3d4e5f6-0000-0000-0000-000000000001",
"IdentityName": "jane.doe@example.com",
"DisplayName": "Jane Doe",
"Email": "jane.doe@example.com",
"FirstName": "Jane",
"LastName": "Doe",
"ObjectType": "user",
"Source": "AzureAD"
}
]
},
{
"ProjectKey": "DEMO2",
"ProjectId": "a2b3c4d5-0000-0000-0000-000000000002",
"Owners": []
}
]
}
uip tm project settings get
Show the settings of a Test Manager project.
Arguments
None.
Options
| Flag | Description |
|---|---|
--project-key <key> | Test Manager project key. Pass this or --project-id. |
--project-id <id> | Test Manager project ID. Use instead of --project-key. When you pass both, --project-id is used. |
Example
uip tm project settings get --project-key DEMO
uip tm project settings get --project-key DEMO
Data shape
{
"Code": "ProjectSettingsGet",
"Data": {
"Id": "d1e2f3a4-0000-0000-0000-000000000001",
"ProjectId": "a1b2c3d4-0000-0000-0000-000000000001",
"ProjectKey": "DEMO",
"TimeZone": "Europe/Bucharest",
"ExecutionNameFormat": "{Execution.Type} - {TestSet.Name} - {Execution.StartTime|yyyyMMdd.HHmmss}",
"MaxNumberOfTestSteps": 250,
"FolderKey": null,
"GovernanceEnabled": false,
"GovernanceSettings": null
}
}
{
"Code": "ProjectSettingsGet",
"Data": {
"Id": "d1e2f3a4-0000-0000-0000-000000000001",
"ProjectId": "a1b2c3d4-0000-0000-0000-000000000001",
"ProjectKey": "DEMO",
"TimeZone": "Europe/Bucharest",
"ExecutionNameFormat": "{Execution.Type} - {TestSet.Name} - {Execution.StartTime|yyyyMMdd.HHmmss}",
"MaxNumberOfTestSteps": 250,
"FolderKey": null,
"GovernanceEnabled": false,
"GovernanceSettings": null
}
}
settings update changes only TimeZone and ExecutionNameFormat. To change FolderKey, use set-default-folder. The other fields are read-only through the CLI.
uip tm project settings update
Update a project's time zone, its execution name format, or both.
Arguments
None.
Options
| Flag | Description |
|---|---|
--project-key <key> | Test Manager project key. Pass this or --project-id. |
--project-id <id> | Test Manager project ID. Use instead of --project-key. When you pass both, --project-id is used. |
--time-zone <iana-name> | Project time zone as an IANA name, for example Europe/Bucharest or UTC. Windows time zone names such as Romance Standard Time are rejected. |
--execution-name-format <template> | Template for generated test execution names. Default: {Execution.Type} - {TestSet.Name} - {Execution.StartTime|yyyyMMdd.HHmmss}. |
Pass --time-zone, --execution-name-format, or both. Passing neither fails with Result: "ValidationError" and ErrorCode: "invalid_argument", and sends no request.
The execution name template supports these placeholders. Text outside braces is literal.
| Placeholder | Value |
|---|---|
{TestSet.Name} | Test set name. |
{Execution.Type} | manual, automated, autonomous, exploratory, or unspecified. |
{Execution.StartTime} | Start time. Add a .NET date format after a pipe, for example {Execution.StartTime|yyyyMMdd.HHmmss}. |
{TestSet.<custom field name>} | Value of a test set custom field. |
A template longer than 1024 characters is rejected. A shorter template whose rendered name is longer than 1024 characters is truncated with ....
Examples
uip tm project settings update --project-id a1b2c3d4-0000-0000-0000-000000000001 --time-zone Europe/Bucharest
uip tm project settings update --project-key DEMO --time-zone UTC --execution-name-format "{TestSet.Name} - {Execution.StartTime|yyyyMMdd}"
uip tm project settings update --project-id a1b2c3d4-0000-0000-0000-000000000001 --time-zone Europe/Bucharest
uip tm project settings update --project-key DEMO --time-zone UTC --execution-name-format "{TestSet.Name} - {Execution.StartTime|yyyyMMdd}"
Data shape
{
"Code": "ProjectSettingsUpdate",
"Data": {
"ProjectId": "a1b2c3d4-0000-0000-0000-000000000001",
"TimeZone": "Europe/Bucharest",
"Result": "Updated"
}
}
{
"Code": "ProjectSettingsUpdate",
"Data": {
"ProjectId": "a1b2c3d4-0000-0000-0000-000000000001",
"TimeZone": "Europe/Bucharest",
"Result": "Updated"
}
}
ProjectKey is present when you pass --project-key. TimeZone and ExecutionNameFormat are present when you set them. The time zone is applied first, in its own request: when the time zone update fails, the execution name format isn't changed, and when the execution name format is then rejected, the new time zone stays applied and the error message says so.
uip tm project export
Export a project to a .tmh package. Test Manager builds the package in a background migration job and sends no completion notification. Without --wait, the command returns the job and you check it with migration get, then fetch the package with migration download. With --wait, the command polls until the job finishes and writes the package to --output-file.
The package holds the project's requirements, test cases, test sets, labels, custom field values, attachments, and executions. --include and --exclude switch the optional content in the following table.
| Content | Default | Adds |
|---|---|---|
automation | Included | Automation information linked to test cases. |
governance | Excluded | Governance information. |
project-config | Excluded | Project configuration. Needs a Test Cloud tenant; other tenants reject it with HTTP 403. |
prompts | Excluded | User-defined prompts from the project prompt library. |
Arguments
None.
Options
| Flag | Description |
|---|---|
--project-key <key> | Test Manager project key. Pass this or --project-id. |
--project-id <id> | Test Manager project ID. Use instead of --project-key. When you pass both, --project-id is used. |
--include <content...> | Content to add to the package, space-separated: governance, project-config, prompts, automation. |
--exclude <content...> | Content to leave out of the package, space-separated, from the same set. Naming the same content in --include and --exclude is refused. |
--wait | Poll until the export finishes, then download the package to --output-file. |
--output-file <path> | Where to write the .tmh package. Required with --wait. The parent directory must exist. |
--overwrite | Replace --output-file if it already exists. Without it, an existing file is refused before the export starts. |
--timeout <seconds> | Maximum seconds to wait; 0 means no timeout. Requires --wait. Defaults to 1800. |
--poll-interval <seconds> | Seconds between status checks. Requires --wait. Defaults to 10. |
Without --wait, --output-file, --overwrite, --timeout, and --poll-interval have no effect, and the CLI logs a warning. If the job ends as Failed or Cancelled, or the wait times out, nothing is written. After a timeout the job keeps running; fetch its package later with migration download.
Examples
# Export, wait for the job, and write the package
uip tm project export \
--project-id a1b2c3d4-0000-0000-0000-000000000001 \
--wait \
--output-file demo.tmh
# Start the export with governance information and without automation information, and return the job
uip tm project export \
--project-key DEMO \
--include governance \
--exclude automation
# Export, wait for the job, and write the package
uip tm project export \
--project-id a1b2c3d4-0000-0000-0000-000000000001 \
--wait \
--output-file demo.tmh
# Start the export with governance information and without automation information, and return the job
uip tm project export \
--project-key DEMO \
--include governance \
--exclude automation
Data shape (with --wait)
{
"Code": "MigrationExport",
"Data": {
"Id": "e5f6a7b8-0000-0000-0000-000000000001",
"Type": "ExportProject",
"Status": "Completed",
"OutputFile": "demo.tmh",
"Bytes": 481203
}
}
{
"Code": "MigrationExport",
"Data": {
"Id": "e5f6a7b8-0000-0000-0000-000000000001",
"Type": "ExportProject",
"Status": "Completed",
"OutputFile": "demo.tmh",
"Bytes": 481203
}
}
Data shape (without --wait)
{
"Code": "MigrationExport",
"Data": {
"Id": "e5f6a7b8-0000-0000-0000-000000000001",
"Type": "ExportProject",
"Status": "Ready",
"Created": "2026-09-17T10:00:00.000Z",
"Updated": "2026-09-17T10:00:00.000Z",
"CreatedBy": "c3d4e5f6-0000-0000-0000-000000000003",
"UpdatedBy": "c3d4e5f6-0000-0000-0000-000000000003",
"ProjectId": "a1b2c3d4-0000-0000-0000-000000000001",
"TenantId": "d4e5f6a7-0000-0000-0000-000000000004"
},
"Instructions": "The export runs in the background. Check it with: uip tm migration get --project-id a1b2c3d4-0000-0000-0000-000000000001 --job-id e5f6a7b8-0000-0000-0000-000000000001. Once it reads Completed, fetch the package with: uip tm migration download --project-id a1b2c3d4-0000-0000-0000-000000000001 --job-id e5f6a7b8-0000-0000-0000-000000000001 --output-file <path>"
}
{
"Code": "MigrationExport",
"Data": {
"Id": "e5f6a7b8-0000-0000-0000-000000000001",
"Type": "ExportProject",
"Status": "Ready",
"Created": "2026-09-17T10:00:00.000Z",
"Updated": "2026-09-17T10:00:00.000Z",
"CreatedBy": "c3d4e5f6-0000-0000-0000-000000000003",
"UpdatedBy": "c3d4e5f6-0000-0000-0000-000000000003",
"ProjectId": "a1b2c3d4-0000-0000-0000-000000000001",
"TenantId": "d4e5f6a7-0000-0000-0000-000000000004"
},
"Instructions": "The export runs in the background. Check it with: uip tm migration get --project-id a1b2c3d4-0000-0000-0000-000000000001 --job-id e5f6a7b8-0000-0000-0000-000000000001. Once it reads Completed, fetch the package with: uip tm migration download --project-id a1b2c3d4-0000-0000-0000-000000000001 --job-id e5f6a7b8-0000-0000-0000-000000000001 --output-file <path>"
}
Data without --wait is the migration job as migration get returns it.
uip tm project import
Import a .tmh package into an existing project, or into a new project created from the package. The CLI uploads the file in chunks and Test Manager processes it in a background migration job. Without --wait, the command returns the job; check it with migration get. With --wait, the command polls until the job finishes.
--include and --exclude switch automation (included by default), governance, and project-config (both excluded by default). Importing project-config needs a Test Cloud tenant; other tenants reject it with HTTP 403.
Arguments
None.
Options
| Flag | Description |
|---|---|
--project-key <key> | Key of the project to import into. Pass this, --project-id, or --create-project. |
--project-id <id> | ID of the project to import into. Use instead of --project-key. When you pass both, --project-id is used. |
--file <path> | Required. The .tmh package to import, as written by project export. The CLI reads the whole file into memory and refuses packages over 2 GiB, empty files, and files without a valid manifest.json. |
--create-project | Create the target project from the name, key, and description recorded in the package. The project stays inactive until the import finishes. Cannot be combined with --project-key or --project-id. |
--new-project-name <name> | With --create-project: name for the new project in place of the package's name. |
--new-project-key <key> | With --create-project: key for the new project in place of the package's key. Must be free in this tenant. |
--include <content...> | Content to bring in, space-separated: governance, project-config, automation. |
--exclude <content...> | Content to leave out, space-separated, from the same set. Naming the same content in --include and --exclude is refused. |
--wait | Poll until the import finishes. |
--timeout <seconds> | Maximum seconds to wait; 0 means no timeout. Requires --wait. Defaults to 14400. |
--poll-interval <seconds> | Seconds between status checks. Requires --wait. Defaults to 10. |
A failed import can leave part of the package in the target project. Check or delete that project before you import again, or import into a new project with --create-project --new-project-key <key>. If --wait times out, the import keeps running in the background; check it with migration get, because running the command again imports everything a second time.
A project that --create-project made stays in place, inactive, when the import fails. Delete it with project delete, or import into it with --project-key.
Examples
# Import into an existing project and return the job
uip tm project import \
--project-id a1b2c3d4-0000-0000-0000-000000000001 \
--file demo.tmh
# Create a project from the package without automation information, and wait for the import
uip tm project import \
--create-project \
--new-project-key DEMO2 \
--file demo.tmh \
--exclude automation \
--wait
# Import into an existing project and return the job
uip tm project import \
--project-id a1b2c3d4-0000-0000-0000-000000000001 \
--file demo.tmh
# Create a project from the package without automation information, and wait for the import
uip tm project import \
--create-project \
--new-project-key DEMO2 \
--file demo.tmh \
--exclude automation \
--wait
Data shape (with --wait)
{
"Code": "MigrationImport",
"Data": {
"Id": "e5f6a7b8-0000-0000-0000-000000000002",
"Type": "ImportProject",
"Status": "Completed",
"SchemaVersion": "1.0.18",
"Created": "2026-09-17T10:05:00.000Z",
"Updated": "2026-09-17T10:06:40.000Z",
"ExecutionStarted": "2026-09-17T10:05:04.000Z",
"ExecutionFinished": "2026-09-17T10:06:40.000Z",
"CreatedBy": "c3d4e5f6-0000-0000-0000-000000000003",
"UpdatedBy": "c3d4e5f6-0000-0000-0000-000000000003",
"TenantId": "d4e5f6a7-0000-0000-0000-000000000004",
"ProjectId": "a2b3c4d5-0000-0000-0000-000000000002",
"ProjectCreated": true,
"PackageName": "demo.tmh",
"Bytes": 481203,
"Chunks": 1
}
}
{
"Code": "MigrationImport",
"Data": {
"Id": "e5f6a7b8-0000-0000-0000-000000000002",
"Type": "ImportProject",
"Status": "Completed",
"SchemaVersion": "1.0.18",
"Created": "2026-09-17T10:05:00.000Z",
"Updated": "2026-09-17T10:06:40.000Z",
"ExecutionStarted": "2026-09-17T10:05:04.000Z",
"ExecutionFinished": "2026-09-17T10:06:40.000Z",
"CreatedBy": "c3d4e5f6-0000-0000-0000-000000000003",
"UpdatedBy": "c3d4e5f6-0000-0000-0000-000000000003",
"TenantId": "d4e5f6a7-0000-0000-0000-000000000004",
"ProjectId": "a2b3c4d5-0000-0000-0000-000000000002",
"ProjectCreated": true,
"PackageName": "demo.tmh",
"Bytes": 481203,
"Chunks": 1
}
}
Data is the migration job as migration get returns it, plus the target ProjectId, ProjectCreated (true when --create-project made the project), the uploaded PackageName, its size in Bytes, and the number of upload Chunks. Without --wait, the command returns once the upload finishes, and the response carries Instructions with the migration get command for the job.
Related
- migration: check and download the jobs behind
exportandimport. - project-permissions: the permissions you hold on a project.
- prompts: the project prompt library that
export --include promptspackages. - testcases: create test cases inside a project.
- testsets: group test cases into executable suites.
See also
- Test Manager overview
uip or folders list: source of the folder UUID used byset-default-folder.
- Synopsis
- uip tm project list
- Arguments
- Options
- Example
- Data shape
- uip tm project get-default
- Arguments
- Options
- Example
- Data shape
- uip tm project create
- Arguments
- Options
- Example
- Data shape
- uip tm project update
- Arguments
- Options
- Examples
- Data shape
- uip tm project delete
- Arguments
- Options
- Example
- Data shape
- uip tm project set-default-folder
- Arguments
- Options
- Example
- Data shape
- uip tm project clear-default-folder
- Arguments
- Options
- Example
- Data shape
- uip tm project owners list
- Arguments
- Options
- Examples
- Data shape
- uip tm project settings get
- Arguments
- Options
- Example
- Data shape
- uip tm project settings update
- Arguments
- Options
- Examples
- Data shape
- uip tm project export
- Arguments
- Options
- Examples
- Data shape (with
--wait) - Data shape (without
--wait) - uip tm project import
- Arguments
- Options
- Examples
- Data shape (with
--wait) - Related
- See also