# UiPath Solution Upload Package

> UiPath Solution Upload Package task for uploading solution packages to Orchestrator Solutions Management via Azure DevOps.

The UiPath Solution Upload Package task uploads a solution package onto UiPath Orchestrator's Solutions Management for deployment and activation.

:::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

Use the following table to configure the UiPath Solution Upload Package inputs.

| Parameter | Description |
|-----------|-------------|
| **Orchestrator connection** (Required) | A service connection to the Orchestrator instance onto which the package will be uploaded. |
| **Solution Package path** (Required) | The path to your UiPath solution package (result of Solution Pack task). |
| **Trace Level** | The trace logging level. Default: `Error`. Options: `None`, `Critical`, `Error`, `Warning`, `Information`, `Verbose` |

## Notes

- **Package upload**: This task uploads pre-packaged solution files to Solutions Management in Orchestrator.
- **Prerequisites**: Requires a packaged solution file created by the UiPath Solution Pack task or equivalent.
- **Orchestrator connection**: Requires a valid service connection to the target Orchestrator instance.
- **Solutions Management**: The uploaded package will be available in Solutions Management for deployment to target environments.
- **CLI compatibility**: This task uses the UiPath CLI internally and requires proper CLI installation on the build agent.
- **Minimum CLI version**: Requires UiPath CLI version 25.10 or higher for full compatibility.
- **File format**: Accepts solution package files typically in `.zip` format created during the packing process.

## Pipeline examples

### Basic solution upload

```yaml
- task: UiPathSolutionUploadPackage@6
  displayName: 'Upload Solution Package'
  inputs:
    orchestratorConnection: 'UiPath-Orchestrator-Connection'
    solutionPackagePath: '$(Build.ArtifactStagingDirectory)/Output/MySolution.1.0.0.zip'
    traceLevel: 'Information'
```

### With Orchestrator connection and detailed logging

```yaml
- task: UiPathSolutionUploadPackage@6
  displayName: 'Upload Solution Package with Verbose Logging'
  inputs:
    orchestratorConnection: 'Production-Orchestrator'
    solutionPackagePath: '$(Build.ArtifactStagingDirectory)/Packages/MyBusinessSolution.$(Build.BuildNumber).zip'
    traceLevel: 'Verbose'
```

### Complete pipeline: pack and upload

```yaml
variables:
  solutionVersion: '1.$(Date:yyyy).$(DayOfYear)$(Rev:.r)'

steps:
- task: UiPathSolutionPack@6
  displayName: 'Pack Solution'
  inputs:
    solutionPath: '$(Build.SourcesDirectory)/MyBusinessSolution'
    version: '$(solutionVersion)'
    outputPath: '$(Build.ArtifactStagingDirectory)/Packages'
    traceLevel: 'Information'

- task: UiPathSolutionUploadPackage@6
  displayName: 'Upload Solution Package to Orchestrator'
  inputs:
    orchestratorConnection: 'Production-Orchestrator'
    solutionPackagePath: '$(Build.ArtifactStagingDirectory)/Packages/MyBusinessSolution.$(solutionVersion).zip'
    traceLevel: 'Information'

- task: PublishBuildArtifacts@1
  displayName: 'Publish Build Artifacts'
  inputs:
    pathToPublish: '$(Build.ArtifactStagingDirectory)/Packages'
    artifactName: 'SolutionPackage'
```
