# UiPath Pack

> Application: **RPA**

Application: **RPA**

Type: **Build task**

**UiPath Pack** is available in standard jobs and pipelines, and lets you package an existing UiPath project into a NuGet package.

![docs image](https://dev-assets.cms.uipath.com/assets/images/cicd-integrations/cicd-integrations-docs-image-125570-b6b25647.webp)

## Configuration

 <colgroup>
  <col/>
  <col/>
 </colgroup>
 
  
     Job parameter  
     Description  
  
 
 
  
    Choose versioning method 
     UiPath packages are versioned. With UiPath pack you can choose between 3 different options:  ( 1 ) Auto generate  ( 2 ) Define custom version  ( 3 ) Use the current version set in the project.  
  
  
    Project(s) path 
    <style> .css-17xdpgx\{word-break:break-word;\}.css-17xdpgx div\{padding-left:10px;\}.css-17xdpgx code\{font-size:16px;\}.css-17xdpgx img\{margin-bottom:-5px;\} </style> The location of the project(s) to be packaged. It can be a direct path to a <code>project.json</code> file or a directory with one or more projects. In the latter case, each level one project is packaged individually. 
  
  
    Output folder 
     Path to a folder where you want to create the package.  
  
  
    Output type 
     The output type of the project(s). There are 5 options for the project(s) type:  ( 1 ) Output type of the project  ( 2 ) Pack a process project  ( 3 ) Pack a library project  ( 4 ) Pack a tests project  ( 5 ) Pack an objects project.  
  
  
    Run workflow analysis 
     Run the workflow analysis before packing, checking the project via predefined rules for violations. Fail the job in case of errors. By default, the analysis is not run.  
  
  
    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.  
  
  
    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 Orchestrator, you need to create credentials in Jenkins upfront. There are four options to authenticate:  ( 1 ) Authenticate to an on-premise Orchestrator using username and password.  ( 2 ) Authenticate to a cloud Orchestrator using a  refresh token (API key)  .  ( 3 ) Authenticate to a cloud Orchestrator using  external app authentication  .  ( 4 ) Authenticate to an on-premise Orchestrator using .  
  
 

## Pipeline example

```
pipeline {
  agent any
  environment {
      MAJOR = '1'
      MINOR = '0'
  }
  stages {
    stage ('Build') {
      steps {
        UiPathPack (
          outputPath: "Output\)\)\)\)${env.BUILD_NUMBER}",
          projectJsonPath: "UiBank\)\)\)\)project.json",
          version: [$class: 'ManualVersionEntry', version: "${MAJOR}.${MINOR}.${env.BUILD_NUMBER}"]
          useOrchestrator: true,
          traceLoggingLevel: "None",
          orchestratorAddress: "OrchestratorUrl",
          orchestratorTenant: "tenant name",
          credentials: [$class: 'UserPassAuthenticationEntry', credentialsId: “credentialsId”]
        )
      }
    }
  }
}
```
