- Overview
- UiPath CLI
- About UiPath CLI
- Downloading UiPath CLI
- Compatibility matrix
- Running UiPath CLI
- Managing NuGet feeds
- Test Manager Support
- Packing projects into a package
- Signing project packages
- Analyzing a project
- Deploying a package to Orchestrator
- Running a job inside Orchestrator
- Testing a package or running a test set
- Testing multiple packages
- Deploying assets to Orchestrator
- Deleting assets from Orchestrator
- Running tasks using JSON configuration
- Restoring automation dependencies
- Troubleshooting UiPath CLI
- Azure DevOps extension
- Jenkins plugin

CI/CD integrations user guide
UiPath Pack
The UiPathPack task enables you to package an existing UiPath project into a NuGet package.
Configuration
Use the following table to configure the UiPath Pack inputs.
| Argument | Description |
|---|---|
| Display name (Required) | Enter a name for your task. |
| Choose versioning method (Required) | You can select an automatically generated version, use the project version, or define a new version. For more information, see Package Versions . |
| Version (Required) | Available only on modern folders alongside a dynamic allocation strategy. Specifying the 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]. The available options are:
|
| Project(s) Path (Required) | Select the location of the project that is going to be packaged. It can be a direct path to a project.json file or a directory with one or multiple projects. In the latter case, each level one project is packaged individually. |
| Choose output type (Required only for manual versioning) | Set a project type for the project that is going to be packaged. If you set None , the project type is going to be extracted from the project's JSON file.The following project types are supported: 'Process', 'Library', 'Tests', 'Objects', 'None'. |
| Orchestrator connection (Required) | Configure the service connection to access UiPath Orchestrator services. You can configure a connection only for this step or use an existing global connection. For more information, see Configuring UiPath Orchestrator service connection . |
| Output Path (Required) | Set a folder path where the package is going to be placed. |
| Split output into design and runtime libraries | Select this option to split the output into design and runtime libraries. By default, this option is not activated. |
| Disable Built-In NuGet Feeds | Select this option to disable built-in NuGet feeds. By default, this is set to false. |
| Source code version information and Automation Hub Idea URL | Select this option to enable package metadata including source code version information and Automation Hub Idea URL. When enabled, you can specify repository details and project URL. |
| The full path to project.json within the remote repository | Specify the full path to project.json within the remote repository. Available when package metadata is enabled. |
| The commit id | Specify the commit ID from your version control system. Available when package metadata is enabled. Example: $(Build.SourceVersion) |
| The repository branch | Specify the repository branch name. Available when package metadata is enabled. Example: $(Build.SourceBranchName) |
| The type of the repository | Specify the type of the repository (e.g., git). Available when package metadata is enabled. |
| Automation Hub Idea URL | Specify the Automation Hub Idea URL to link the package to a specific automation idea. Available when package metadata is enabled. |
| Release Notes | Specify release notes for the package. Available when package metadata is enabled. |
| Run workflows analysis | Select this option to run workflow analysis rules on your automation project (e.g., Fail jobs in case of errors). By default, this option is not activated. For more information, see Application Testing Workflow Analyzer Rules . |
| Governance File Path | Specify the path to governance policies containing Workflow Analyzer rules. Policies can be downloaded from Automation Ops or extracted from the exported compressed zip file from Studio. Available when workflow analysis is enabled. |
| Certificate Path | Specify the path to the certificate file in .pfx format used to sign the package. When provided, the package will be digitally signed with the certificate. Example: $(Build.SourcesDirectory)\certificates\signing-cert.pfx |
| Certificate Password | Specify the password for the certificate. It is recommended to store this value as a secret variable in Azure DevOps. Example: $(CertificatePassword) |
| Timestamp Server URL | Specify the URL of the timestamp server to use when signing the package. Timestamping ensures the signature remains valid even after the certificate expires. Example: https://timestamp.digicert.com |
| Trace Level | Select the logging level from the dropdown list. |
YAML pipeline
You can preview a fully parsed YAML document for the UiPath Pack.
Example: Basic package creation
- task: UiPathPack@2
inputs:
versionType: AutoVersion
projectJsonPath: '$(Build.SourcesDirectory)\MyFirstProcess'
outputPath: '$(Build.ArtifactStagingDirectory)\Packages\MyFirstProcess'
outputType: 'Process'
orchestratorConnection: 'service-connection-name'
traceLevel: 'Information'
- task: UiPathPack@2
inputs:
versionType: AutoVersion
projectJsonPath: '$(Build.SourcesDirectory)\MyFirstProcess'
outputPath: '$(Build.ArtifactStagingDirectory)\Packages\MyFirstProcess'
outputType: 'Process'
orchestratorConnection: 'service-connection-name'
traceLevel: 'Information'
Example: Package with signing
- task: UiPathPack@2
displayName: 'Pack and Sign UiPath Project'
inputs:
versionType: 'ManualVersion'
version: '1.0.$(Build.BuildId)'
projectJsonPath: '$(Build.SourcesDirectory)\MyAutomationProject'
outputPath: '$(Build.ArtifactStagingDirectory)\Packages'
outputType: 'Process'
orchestratorConnection: 'uipath-orchestrator-connection'
certificatePath: '$(Build.SourcesDirectory)\certificates\signing-cert.pfx'
certificatePassword: '$(SigningCertPassword)'
timestampServerUrl: 'http://timestamp.digicert.com'
traceLevel: 'Information'
- task: UiPathPack@2
displayName: 'Pack and Sign UiPath Project'
inputs:
versionType: 'ManualVersion'
version: '1.0.$(Build.BuildId)'
projectJsonPath: '$(Build.SourcesDirectory)\MyAutomationProject'
outputPath: '$(Build.ArtifactStagingDirectory)\Packages'
outputType: 'Process'
orchestratorConnection: 'uipath-orchestrator-connection'
certificatePath: '$(Build.SourcesDirectory)\certificates\signing-cert.pfx'
certificatePassword: '$(SigningCertPassword)'
timestampServerUrl: 'http://timestamp.digicert.com'
traceLevel: 'Information'
Example: Package with workflow analysis and signing
- task: UiPathPack@2
displayName: 'Pack, Analyze, and Sign Project'
inputs:
versionType: 'ManualVersion'
version: '$(Major).$(Minor).$(Build.BuildId)'
projectJsonPath: '$(Build.SourcesDirectory)\EnterpriseAutomation'
outputPath: '$(Build.ArtifactStagingDirectory)\Packages'
outputType: 'Process'
orchestratorConnection: 'uipath-orchestrator-connection'
runWorkflowAnalysis: true
certificatePath: '$(Pipeline.Workspace)\secure-files\company-cert.pfx'
certificatePassword: '$(CertPassword)'
timestampServerUrl: 'http://timestamp.digicert.com'
traceLevel: 'Verbose'
- task: UiPathPack@2
displayName: 'Pack, Analyze, and Sign Project'
inputs:
versionType: 'ManualVersion'
version: '$(Major).$(Minor).$(Build.BuildId)'
projectJsonPath: '$(Build.SourcesDirectory)\EnterpriseAutomation'
outputPath: '$(Build.ArtifactStagingDirectory)\Packages'
outputType: 'Process'
orchestratorConnection: 'uipath-orchestrator-connection'
runWorkflowAnalysis: true
certificatePath: '$(Pipeline.Workspace)\secure-files\company-cert.pfx'
certificatePassword: '$(CertPassword)'
timestampServerUrl: 'http://timestamp.digicert.com'
traceLevel: 'Verbose'
When using package signing, store your certificate password as a secret variable in Azure DevOps. Navigate to Pipelines > Library > Variable groups or define it in your pipeline variables with the lock icon enabled to keep it secure.