# UiPath Solution Pack

> Application: **Solution**

Application: **Solution**

Type: **Build task**

**UiPath Solution: Pack** is available in standard jobs and pipelines, and lets you package an existing UiPath solution into a zip archive.

:::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  
  
 
 
  
    Version 
     Specifying the solution package version provides the possibility of tracking the built packages and their source versioning more efficiently. For example, the Microsoft assembly pattern can be utilized to build the NuGet package version: [Major].[Minor].[BuildNumber].[RevisionNumber].  
  
  
    Workspace Path 
    The local path of the solution. It can be a direct path to a solution.uipx file or a solution directory. 
  
  
    Output Path 
     Path to a folder, where the created package should be placed.  
  
  
    Disable built-in nuget feeds 
     Disable Built-In NuGet Feeds. Default: false  
  
  
    Run workflow analysis 
     Run the workflow analysis before packing, checking the project via predefined rules for violations. Fail the job in case of errors. Default: false 
  
  
    Governance file path 
     Pass governance policies containing the Workflow Analyzer rules. Policies can be downloaded from Automation Ops, or extracted from the exported compressed zip file from Studio. For details, please consult the documentation.  
  
  
    Source code version information and Automation Hub Idea URL 
    Enable package metadata including source code version information and Automation Hub Idea URL. Default: false  
  
  
  The full path to project.json within the remote repository
  The full path to project.json within the remote repository. Only visible when package metadata is enabled.

  The commit id
  The commit id for source code tracking. Only visible when package metadata is enabled.

  The repository branch
  The repository branch for source code tracking. Only visible when package metadata is enabled.

  The type of the repository (e.g: git)
  The type of the repository (e.g: git). Only visible when package metadata is enabled.

  Automation Hub Idea URL
  Automation Hub Idea URL for linking to the original automation idea. Only visible when package metadata is enabled.

  Release Notes
  Release notes for the package version. Only visible when package metadata is enabled.

  
    Use orchestrator 
     Use Orchestrator feed when packaging libraries. The Orchestrator must be 20.4 or higher. The library feed needs to allow API Key authentication in Tenant \&gt; Setting \&gt; Deployment.  
  
  
    Orchestrator address 
     The address of the Orchestrator instance from which library dependencies should be restored.  
  
  
    Orchestrator tenant 
     The Orchestrator tenant from which library dependencies should be restored.  
  
  
    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 logging 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.  
  
    
     Path to the certificate file 
      Path to the signing certificate file (<code>.pfx</code>) used to sign the generated package. Required when signing is enabled.  
  
  
     Certificate password 
      Password for the signing certificate file, if the <code>.pfx</code> is protected. Optional.  
  
  
     Timestamp server URL 
      URL of the RFC&nbsp;3161-compliant timestamp server used when signing the package to add a trusted timestamp. Optional.  
  
 

## Pipeline examples

```
pipeline {
  agent any
  environment {
      MAJOR = '1'
      MINOR = '0'
  }
  stages {
    stage ('Pack Solution') {
      steps {
        UiPathSolutionPack(
            version: '1.2.3',
            workspacePath: 'path/to/solution/folder',
            outputPath: 'output/path',
            traceLevel: 'Information',
        )
      }
    }
  }
}
```

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

            UiPathSolutionPack(
                version: '1.2.3',
                workspacePath: 'path/to/solution/folder',
                outputPath: 'output/path',
                traceLevel: 'Information',
                disableBuiltInNugetFeeds: true,
                runWorkflowAnalysis: true,
                governanceFilePath: 'path/to/governance/file',
                credentials: orchestratorCredentials,
                orchestratorAddress: 'OrchestratorUrl',
                orchestratorTenant: 'Tenant name',
            )
        }
      }
    }
  }
}
```

```
pipeline {
  agent any
  environment {
      MAJOR = '1'
      MINOR = '0'
  }
  stages {
    stage ('Pack Solution') {
      steps {
        UiPathSolutionPack(
            version: '1.2.3',
            workspacePath: 'path/to/solution/folder',
            outputPath: 'output/path',
            certificatePath: 'path/to/certificate',
            password: 'certificatePasswordSecretId',
            timestampServerUrl: 'timestampserver.url'
            traceLevel: 'Information',
        )
      }
    }
  }
}
```
