UiPath Documentation
uipath-cli
latest
false

UiPath CLI user guide

Última atualização 7 de mai de 2026

uip solution deploy

uip solution deploy takes a published solution package (see uip solution publish) and installs it into Orchestrator: creates a folder, provisions resources (queues, assets, processes, buckets, connections), and activates the deployment.

This page covers every subcommand under deploy, plus the top-level uip solution delete which manages Studio Web solutions (not deployments).

SubcommandFinalidade
runDeploy a published package to Orchestrator.
statusCheck the status of a pipeline deployment.
listList existing deployments.
activateActivate a deployment that was installed without auto-activation.
uninstallRemove a deployment and its provisioned resources.
config getFetch the default deployment configuration for a package.
config setSet a resource property in a deploy config file.
config linkLink a solution resource to an existing Orchestrator resource.
config unlinkRemove a resource link from a deploy config file.

Also documented on this page:

  • uip solution delete — a top-level verb that deletes a solution from Studio Web by ID. It is not a deploy subcommand; it is documented alongside these commands for grouping reasons.

Every subcommand is authenticated. Run uip login first, or pass --tenant to target a specific tenant.

Fluxo de trabalho típico

deploy config get  →  deploy config set / link  →  deploy run  →  deploy status
                                                       │
                                                       ├─→ deploy activate   (if not auto-activated)
                                                       └─→ deploy uninstall  (tear down)
deploy config get  →  deploy config set / link  →  deploy run  →  deploy status
                                                       │
                                                       ├─→ deploy activate   (if not auto-activated)
                                                       └─→ deploy uninstall  (tear down)

uip solution deploy run

Deploy a published solution package to Orchestrator. Creates a new folder (under --folder-path or --folder-key), provisions every resource described in the package (or in --config-file), and polls until the deployment reaches a terminal state.

Synopsis

uip solution deploy run \
  --name <deployment-name> \
  --package-name <name> \
  --package-version <version> \
  --folder-name <name> \
  [--folder-path <path> | --folder-key <guid>] \
  [--config-file <path>] \
  [--tenant <tenant-name>] \
  [--timeout <seconds>] \
  [--poll-interval <ms>] \
  [--login-validity <minutes>]
uip solution deploy run \
  --name <deployment-name> \
  --package-name <name> \
  --package-version <version> \
  --folder-name <name> \
  [--folder-path <path> | --folder-key <guid>] \
  [--config-file <path>] \
  [--tenant <tenant-name>] \
  [--timeout <seconds>] \
  [--poll-interval <ms>] \
  [--login-validity <minutes>]

Opções

  • -n, --name <deployment-name> (required) — Name for the deployment. Used by deploy status, activate, and uninstall to identify this install.
  • --package-name <name> (required) — Solution package name. Use packages list to find available names.
  • --package-version <version> (required) — Solution package version. Use packages list to find available versions.
  • --folder-name <name> (required) — Name of the new Orchestrator folder created for this deployment (under --folder-path).
  • --folder-path <path> — Parent folder path (for example Shared). The deployment folder is created beneath it.
  • --folder-key <key> — Parent folder key (GUID). Alternative to --folder-path.
  • --config-file <path> — JSON configuration file. Generate it with deploy config get, edit with config set / config link, then pass it here.
  • -t, --tenant <tenant-name> — Tenant to deploy into.
  • --timeout <seconds> — Deployment polling timeout. Defaults to 360.
  • --poll-interval <ms> — Milliseconds between status polls. Defaults to 5000.
  • --login-validity <minutes> — Minimum minutes before token expiration to trigger a refresh. Defaults to 10.

Exemplos

Comum

uip solution deploy run \
  --name my-deployment \
  --package-name my-package \
  --package-version 1.0.0 \
  --folder-name MySolution \
  --folder-path "Shared"
uip solution deploy run \
  --name my-deployment \
  --package-name my-package \
  --package-version 1.0.0 \
  --folder-name MySolution \
  --folder-path "Shared"

With a customized configuration

uip solution deploy config get my-package -d ./deploy-config.json
uip solution deploy config set ./deploy-config.json MyQueue maxNumberOfRetries 5

uip solution deploy run \
  --name my-deployment \
  --package-name my-package \
  --package-version 1.0.0 \
  --folder-name MySolution \
  --folder-path "Shared" \
  --config-file ./deploy-config.json
uip solution deploy config get my-package -d ./deploy-config.json
uip solution deploy config set ./deploy-config.json MyQueue maxNumberOfRetries 5

uip solution deploy run \
  --name my-deployment \
  --package-name my-package \
  --package-version 1.0.0 \
  --folder-name MySolution \
  --folder-path "Shared" \
  --config-file ./deploy-config.json

Scripting — capture the deployment ID for follow-up calls

PIPELINE_ID=$(uip solution deploy run \
  --name my-deployment \
  --package-name my-package --package-version 1.0.0 \
  --folder-name MySolution --folder-path "Shared" \
  --output-filter "Data.PipelineDeploymentId" --output plain)

uip solution deploy status "$PIPELINE_ID"
PIPELINE_ID=$(uip solution deploy run \
  --name my-deployment \
  --package-name my-package --package-version 1.0.0 \
  --folder-name MySolution --folder-path "Shared" \
  --output-filter "Data.PipelineDeploymentId" --output plain)

uip solution deploy status "$PIPELINE_ID"

Data shape (--output json)

{
  "Code": "SolutionDeployRun",
  "Data": {
    "Status": "DeploymentSucceeded",
    "DeploymentKey": "a1b2c3d4-0000-0000-0000-000000000001",
    "PipelineDeploymentId": "b2c3d4e5-0000-0000-0000-000000000001",
    "InstanceId": "c3d4e5f6-0000-0000-0000-000000000001",
    "FolderName": "MySolution",
    "FolderPath": "Shared/MySolution"
  }
}
{
  "Code": "SolutionDeployRun",
  "Data": {
    "Status": "DeploymentSucceeded",
    "DeploymentKey": "a1b2c3d4-0000-0000-0000-000000000001",
    "PipelineDeploymentId": "b2c3d4e5-0000-0000-0000-000000000001",
    "InstanceId": "c3d4e5f6-0000-0000-0000-000000000001",
    "FolderName": "MySolution",
    "FolderPath": "Shared/MySolution"
  }
}

Terminal deployment statuses: DeploymentSucceeded, DeploymentFailed, ValidationFailed, ConflictFixingError, DeploymentScheduleError. Non-success terminal states exit with 1 and aggregate the validation / conflict / schedule / workflow errors into the Instructions field.

Timeout behaviour

If the deployment does not reach a terminal state before --timeout elapses, the command exits non-zero with a pointer to deploy status <pipeline-deployment-id> so you can continue monitoring.


uip solution deploy status

Check the current status of a pipeline deployment. Returns the deployment state and, if available, the name/package/version of the deployment and a concatenated error summary.

Argumentos

  • <pipeline-deployment-id> (required) — The PipelineDeploymentId returned by deploy run.

Opções

  • -t, --tenant <tenant-name> — Tenant to query.
  • --login-validity <minutes> — Defaults to 10.

Exemplo

uip solution deploy status b2c3d4e5-0000-0000-0000-000000000001
uip solution deploy status b2c3d4e5-0000-0000-0000-000000000001

Data shape (--output json)

{
  "Code": "SolutionDeployStatus",
  "Data": {
    "PipelineDeploymentId": "b2c3d4e5-0000-0000-0000-000000000001",
    "Status": "DeploymentSucceeded",
    "DeploymentKey": "a1b2c3d4-0000-0000-0000-000000000001",
    "ConfigurationKey": "...",
    "InstanceId": "c3d4e5f6-0000-0000-0000-000000000001",
    "DeploymentResult": {
      "Name": "my-deployment",
      "PackageName": "my-package",
      "PackageVersion": "1.0.0",
      "Status": "Successful",
      "StartDate": "2026-04-15T10:30:00Z",
      "EndDate": "2026-04-15T10:31:12Z",
      "Errors": null
    }
  }
}
{
  "Code": "SolutionDeployStatus",
  "Data": {
    "PipelineDeploymentId": "b2c3d4e5-0000-0000-0000-000000000001",
    "Status": "DeploymentSucceeded",
    "DeploymentKey": "a1b2c3d4-0000-0000-0000-000000000001",
    "ConfigurationKey": "...",
    "InstanceId": "c3d4e5f6-0000-0000-0000-000000000001",
    "DeploymentResult": {
      "Name": "my-deployment",
      "PackageName": "my-package",
      "PackageVersion": "1.0.0",
      "Status": "Successful",
      "StartDate": "2026-04-15T10:30:00Z",
      "EndDate": "2026-04-15T10:31:12Z",
      "Errors": null
    }
  }
}

uip solution deploy list

List solution deployments. Shows deployment name, status, package version, and folder path.

Opções

  • -t, --tenant <tenant-name> — Tenant to query.
  • --folder-path <path> — Filter by parent folder path. Filtering is applied after fetching; increase --take if results look incomplete when using this filter.
  • --folder-key <key> — Filter by parent folder key (GUID). Alternative to --folder-path.
  • --take <number> — Max deployments to fetch. Defaults to 10.
  • --order-by <column> — Column to order by. Defaults to startTime.
  • --order-direction <direction>Ascending or Descending. Defaults to Descending.
  • --login-validity <minutes> — Defaults to 10.

Exemplo

uip solution deploy list --take 20 --folder-path "Shared/Production"
uip solution deploy list --take 20 --folder-path "Shared/Production"

Data shape (--output json)

{
  "Code": "SolutionDeployList",
  "Data": [
    {
      "Key": "a1b2c3d4-0000-0000-0000-000000000001",
      "InstallDeploymentKey": "…",
      "Name": "my-deployment",
      "PackageName": "my-package",
      "PackageVersion": "1.0.0",
      "OperationStatus": "Successful",
      "ActivationStatus": "Activated",
      "FolderPath": "Shared/Production",
      "FolderKey": "…",
      "CreatedAt": "2026-04-15T10:30:00Z"
    }
  ]
}
{
  "Code": "SolutionDeployList",
  "Data": [
    {
      "Key": "a1b2c3d4-0000-0000-0000-000000000001",
      "InstallDeploymentKey": "…",
      "Name": "my-deployment",
      "PackageName": "my-package",
      "PackageVersion": "1.0.0",
      "OperationStatus": "Successful",
      "ActivationStatus": "Activated",
      "FolderPath": "Shared/Production",
      "FolderKey": "…",
      "CreatedAt": "2026-04-15T10:30:00Z"
    }
  ]
}

uip solution deploy activate

Activate a deployment that was installed without auto-activation. Activation provisions all solution components. activate first prints the pre-activate steps reported by Orchestrator (to stderr, via --log-level info), then calls activate and polls until a terminal state (SuccessfulActivate or FailedActivate).

Argumentos

  • <deployment-name> (required) — Name of the deployment to activate. Use deploy list to find deployment names.

Opções

  • -t, --tenant <tenant-name> — Tenant to target.
  • --timeout <seconds> — Activation polling timeout. Defaults to 360.
  • --poll-interval <ms> — Milliseconds between status polls. Defaults to 5000.
  • --login-validity <minutes> — Defaults to 10.

Exemplo

uip solution deploy activate my-deployment
uip solution deploy activate my-deployment

Data shape (--output json)

{
  "Code": "SolutionDeployActivate",
  "Data": {
    "Status": "SuccessfulActivate",
    "DeploymentName": "my-deployment",
    "InstanceId": "b2c3d4e5-0000-0000-0000-000000000001"
  }
}
{
  "Code": "SolutionDeployActivate",
  "Data": {
    "Status": "SuccessfulActivate",
    "DeploymentName": "my-deployment",
    "InstanceId": "b2c3d4e5-0000-0000-0000-000000000001"
  }
}

If Orchestrator reports no instanceId (nothing to poll), Status is Activation completed (no instance to poll) and the command returns successfully.


uip solution deploy uninstall

Uninstall a deployed solution. Removes all provisioned resources and the solution folder.

Argumentos

  • <deployment-name> (required) — Name of the deployment to uninstall.

Opções

  • -t, --tenant <tenant-name> — Tenant to target.
  • --timeout <seconds> — Uninstall polling timeout. Defaults to 360.
  • --poll-interval <ms> — Milliseconds between status polls. Defaults to 5000.
  • --login-validity <minutes> — Defaults to 10.

Exemplo

uip solution deploy uninstall my-deployment
uip solution deploy uninstall my-deployment

Data shape (--output json)

{
  "Code": "SolutionDeployUninstall",
  "Data": {
    "Status": "SuccessfulUninstall",
    "DeploymentName": "my-deployment",
    "InstanceId": "b2c3d4e5-0000-0000-0000-000000000001"
  }
}
{
  "Code": "SolutionDeployUninstall",
  "Data": {
    "Status": "SuccessfulUninstall",
    "DeploymentName": "my-deployment",
    "InstanceId": "b2c3d4e5-0000-0000-0000-000000000001"
  }
}

Two short-circuit responses are possible:

  • Uninstall completed immediately — when Orchestrator reports complete: true on the first call; no polling happens.
  • Uninstall scheduled — when Orchestrator schedules the work without returning an instance ID; the data includes the Scheduled field from the API.

uip solution deploy config get

Fetch the default deployment configuration for a published solution package. The config lists every resource the solution will create (queues, assets, processes, buckets, connections, ...) with their default settings. Save it to a file (-d), customize with config set / config link, then pass it to deploy run --config-file.

Argumentos

  • <package-name> (required) — Solution package name. Use packages list.

Opções

  • --package-version <version> — Package version. Latest is used if omitted.
  • -d, --destination <path> — Write the configuration to this file instead of stdout.
  • -t, --tenant <tenant-name> — Tenant to query.
  • --login-validity <minutes> — Defaults to 10.

Exemplo

uip solution deploy config get my-package --package-version 1.0.0 -d ./deploy-config.json
uip solution deploy config get my-package --package-version 1.0.0 -d ./deploy-config.json

Data shape (--output json)

When -d is provided:

{
  "Code": "SolutionDeployConfig",
  "Data": {
    "Status": "Configuration written",
    "OutputPath": "/workspace/deploy-config.json",
    "PackageName": "my-package"
  }
}
{
  "Code": "SolutionDeployConfig",
  "Data": {
    "Status": "Configuration written",
    "OutputPath": "/workspace/deploy-config.json",
    "PackageName": "my-package"
  }
}

When -d is omitted, the configuration is embedded in the response:

{
  "Code": "SolutionDeployConfig",
  "Data": {
    "PackageName": "my-package",
    "Configuration": { "resources": [ ... ] }
  }
}
{
  "Code": "SolutionDeployConfig",
  "Data": {
    "PackageName": "my-package",
    "Configuration": { "resources": [ ... ] }
  }
}

uip solution deploy config set

Edit a resource property in a deploy config file. The file stays local until you pass it to deploy run --config-file.

Argumentos

  • <file> (required) — Path to the deploy config JSON file (produced by config get).
  • <args...> (required) — Depends on --all:
    • Without --all: <resource> <property> <value> — e.g. MyQueue maxNumberOfRetries 5.
    • With --all: <property> <value> — applies to every resource in the file. Only valid for the top-level conflictFixingAction property.

Opções

  • --all — Apply the property to all resources in the file. Only permitted with conflictFixingAction (e.g. UseExisting).

Exemplos

Change retries on a single queue

uip solution deploy config set ./deploy-config.json MyQueue maxNumberOfRetries 5
uip solution deploy config set ./deploy-config.json MyQueue maxNumberOfRetries 5

Set a conflict-fixing policy on every resource

uip solution deploy config set ./deploy-config.json --all conflictFixingAction UseExisting
uip solution deploy config set ./deploy-config.json --all conflictFixingAction UseExisting

Data shape (--output json)

Single-resource update:

{
  "Code": "DeployConfigSet",
  "Data": {
    "Resource": "MyQueue",
    "Property": "maxNumberOfRetries",
    "OldValue": 1,
    "NewValue": 5
  }
}
{
  "Code": "DeployConfigSet",
  "Data": {
    "Resource": "MyQueue",
    "Property": "maxNumberOfRetries",
    "OldValue": 1,
    "NewValue": 5
  }
}

Bulk update (--all):

{
  "Code": "DeployConfigSet",
  "Data": {
    "Resource": "all",
    "Property": "conflictFixingAction",
    "NewValue": "UseExisting",
    "ResourceCount": 12
  }
}
{
  "Code": "DeployConfigSet",
  "Data": {
    "Resource": "all",
    "Property": "conflictFixingAction",
    "NewValue": "UseExisting",
    "ResourceCount": 12
  }
}

Link a solution resource to an existing Orchestrator resource, so the deployment reuses it instead of creating a new one. Changes are local — apply them by passing the file to deploy run --config-file.

Argumentos

  • <file> (required) — Path to the deploy config JSON file.
  • <resource> (required) — Resource name or resourceKey from the config file.

Opções

  • -n, --name <name> (required) — Name of the existing Orchestrator resource to link to.
  • --folder-path <path> — Orchestrator folder path where the existing resource lives.

Exemplo

uip solution deploy config link ./deploy-config.json MyQueue \
  --name ProductionQueue \
  --folder-path "Shared/Production"
uip solution deploy config link ./deploy-config.json MyQueue \
  --name ProductionQueue \
  --folder-path "Shared/Production"

Data shape (--output json)

{
  "Code": "DeployConfigLink",
  "Data": {
    "Resource": "MyQueue",
    "LinkedTo": {
      "name": "ProductionQueue",
      "folderPath": "Shared/Production"
    }
  }
}
{
  "Code": "DeployConfigLink",
  "Data": {
    "Resource": "MyQueue",
    "LinkedTo": {
      "name": "ProductionQueue",
      "folderPath": "Shared/Production"
    }
  }
}

Remove a link previously set with config link. On the next deploy run --config-file, the resource will be created fresh instead of reused.

Argumentos

  • <file> (required) — Path to the deploy config JSON file.
  • <resource> (required) — Resource name or resourceKey to unlink.

Exemplo

uip solution deploy config unlink ./deploy-config.json MyQueue
uip solution deploy config unlink ./deploy-config.json MyQueue

Data shape (--output json)

{
  "Code": "DeployConfigUnlink",
  "Data": {
    "Resource": "MyQueue",
    "UnlinkedFrom": "ProductionQueue"
  }
}
{
  "Code": "DeployConfigUnlink",
  "Data": {
    "Resource": "MyQueue",
    "UnlinkedFrom": "ProductionQueue"
  }
}

Failure modes

  • Resource not currently linked. The command refuses the unlink and points to config link.

uip solution delete

uip solution delete is a top-level verb (not a deploy subcommand) that deletes a solution from Studio Web by its solution ID. The ID is emitted by uip solution upload and by flow debug in their output.

This does not uninstall a deployed solution from Orchestrator — use deploy uninstall for that.

Synopsis

uip solution delete <solution-id>
uip solution delete <solution-id>

Argumentos

  • <solution-id> (required) — The Studio Web solution ID (UUID).

Exemplo

uip solution delete a1b2c3d4-0000-0000-0000-000000000001
uip solution delete a1b2c3d4-0000-0000-0000-000000000001

Data shape (--output json)

{
  "Code": "SolutionDelete",
  "Data": {
    "SolutionId": "a1b2c3d4-0000-0000-0000-000000000001"
  }
}
{
  "Code": "SolutionDelete",
  "Data": {
    "SolutionId": "a1b2c3d4-0000-0000-0000-000000000001"
  }
}

Veja também

Esta página foi útil?

Conectar

Precisa de ajuda? Suporte

Quer aprender? Academia UiPath

Tem perguntas? Fórum do UiPath

Fique por dentro das novidades