# UiPath Solution Deploy

> Application: **Solution**

Application: **Solution**

Type: **Post-Build task**

**UiPath Solution: Deploy** is available in standard jobs and pipelines, and lets you deploy an existing UiPath solution package to an Orchestrator folder.

:::note
Solutions are currently supported only in Automation Cloud. Support for Automation Suite is planned for a future release. On-premises (MSI) Orchestrator does not support Solutions.
:::

:::note
This task is compatible only with `UiPath.CLI.Windows` or `UiPath.CLI.Linux` at least version 25.10 or higher.
:::

## Configuration

 <colgroup>
  <col/>
  <col/>
 </colgroup>
 
  
     Job parameter  
     Description  
  
 
 
  
    Package name 
     The name of the package that will be deployed.  
  
  
    Package version 
     The version of the package that will be deployed.  
  
  
    Deployment Name 
     The name of the deployment to create or upgrade.  
  
  
    Deployment Parent Folder 
     The Orchestrator folder where the deployment folder will be created. There are three options for this:  When left empty, the deployment will be under the tenant folder.  When specified, deployment will be under respective folder.  When set to "__exampleuser@org.com__'s workspace", the deployment will be under personal workspace for specified user.   
  
  
    Deployment Folder Name 
     The name of the folder that will contain deployment.  
  
  
    Config path 
     Optional path to config file, if omitted default one stored on the server will be used.  
  
  
    Orchestrator address 
     The address of the Orchestrator instance where you'll deploy the solution to.  
  
  
    Orchestrator tenant 
     Specify the Orchestrator tenant.  
  
  
    Authentication 
     For authentication towards Automation Cloud Orchestrator, you need to create credentials in Jenkins upfront. Solutions support External App authentication only. See Managing external applications for details on creating an External App and obtaining the required credentials.  
  
   
    Trace level 
     Setting used to enable trace logging to one of the following levels:  None  Critical  Error  Warning  Information  Verbose. (The default is set to None ).  Useful for debugging purposes.  
  
 

:::important
If a deployment with the same name already exists at any level within the tenant in Orchestrator, this operation upgrades the existing deployment instead of creating a new one. If the existing deployment is in Failed state, the upgrade does not proceed; resolve or uninstall the failed deployment before retrying.
:::

:::important
Solutions deployed at the tenant level do not automatically assign a user to the resulting folder. To assign an account, ensure the appropriate configuration is set in Orchestrator (Tenant > Folders).
:::

## Pipeline example

```
pipeline {
  agent any
  environment {
      MAJOR = '1'
      MINOR = '0'
  }
  stages {
    stage ('Deploy Solution') {
      steps {
        script {
            orchestratorCredentials = ExternalApp(
                applicationId: 'External application identifier',
                applicationScope: 'AutomationSolutions Solutions.Deployments Solutions.Packages',
                applicationSecret: 'External application secret',
                accountForApp: 'Organization identifier'
            )

            UiPathSolutionDeploy(
                packageName: 'Name of the package',
                packageVersion: 'Version of the package',
                deploymentParentFolder: 'Deployment parent folder',
                deploymentName: 'Deployment name',
                deploymentFolderName: 'Deployment folder name',
                configPath: 'example/path',
                orchestratorAddress: 'OrchestratorUrl',
                orchestratorTenant: 'Tenant name',
                credentials: orchestratorCredentials,
                traceLevel: 'Information',
            )
        }
      }
    }
  }
}
```
