cicd-integrations
2025.10
true
UiPath logo, featuring letters U and I in white

CI/CD integrations user guide

Last updated Dec 8, 2025

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:

  • AutoVersion : This option automatically updates the version to the next sequential number. You can use the following task configuration example:

    - task: UiPathPack@3 inputs: versionType: AutoVersion projectJsonPath: '$(projectFolder)/project.json' outputPath: '$(Build.ArtifactStagingDirectory)\artifact-manifests' - task: UiPathPack@3 inputs: versionType: AutoVersion projectJsonPath: '$(projectFolder)/project.json' outputPath: '$(Build.ArtifactStagingDirectory)\artifact-manifests'- task: UiPathPack@3 inputs: versionType: AutoVersion projectJsonPath: '$(projectFolder)/project.json' outputPath: '$(Build.ArtifactStagingDirectory)\artifact-manifests'
  • ManualVersion : With this option, you can specify your own version number. You can use the following task configuration example:

    - task: UiPathPack@3 inputs: versionType: ManualVersion version: '$(Build.BuildNumber)' projectJsonPath: '$(projectFolder)/project.json' outputPath: '$(Build.ArtifactStagingDirectory)\artifact-manifests' - task: UiPathPack@3 inputs: versionType: ManualVersion version: '$(Build.BuildNumber)' projectJsonPath: '$(projectFolder)/project.json' outputPath: '$(Build.ArtifactStagingDirectory)\artifact-manifests'- task: UiPathPack@3 inputs: versionType: ManualVersion version: '$(Build.BuildNumber)' projectJsonPath: '$(projectFolder)/project.json' outputPath: '$(Build.ArtifactStagingDirectory)\artifact-manifests'
  • CurrentVersion : This option keeps the version the same as specified in the project.json file. You can use the following task configuration example:
    - task: UiPathPack@3 inputs: versionType: CurrentVersion projectJsonPath: '$(projectFolder)/project.json' outputPath: '$(Build.ArtifactStagingDirectory)\artifact-manifests' - task: UiPathPack@3 inputs: versionType: CurrentVersion projectJsonPath: '$(projectFolder)/project.json' outputPath: '$(Build.ArtifactStagingDirectory)\artifact-manifests'- task: UiPathPack@3 inputs: versionType: CurrentVersion projectJsonPath: '$(projectFolder)/project.json' outputPath: '$(Build.ArtifactStagingDirectory)\artifact-manifests'
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'
Note:

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.

  • Configuration
  • YAML pipeline
  • Example: Basic package creation
  • Example: Package with signing
  • Example: Package with workflow analysis and signing

Was this page helpful?

Get The Help You Need
Learning RPA - Automation Courses
UiPath Community Forum
Uipath Logo
Trust and Security
© 2005-2025 UiPath. All rights reserved.