# UiPath Pack

> UiPath Pack task configuration and parameters for packaging UiPath projects via Azure DevOps.

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.

 <colgroup>
  <col/>
  <col/>
 </colgroup>
 
  
    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: <style> .css-186vrj2\{position:relative;word-break:break-all;margin:20px 0;\}.css-186vrj2:hover .ei6c6ug0\{display:block;\}.css-186vrj2 .ei6c6ug0\{top:10px;\} </style><style> .css-1aj4oxi\{display:none;position:absolute;background-color:var(--color-processed-code-blocks-clipboard-button);right:0;color:var(--color-foreground-emp);top:10px;\} </style><style> .css-hm11rd\{text-align:center;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;font-size:1.5rem;padding:8px;border-radius:50%;overflow:visible;color:rgba(0, 0, 0, 0.54);-webkit-transition:background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;transition:background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;padding:8px;display:none;position:absolute;background-color:var(--color-processed-code-blocks-clipboard-button);right:0;color:var(--color-foreground-emp);top:10px;\}.css-hm11rd:hover\{background-color:rgba(0, 0, 0, 0.04);\}@media (hover: none)\{.css-hm11rd:hover\{background-color:transparent;\}\}.css-hm11rd.Mui-disabled\{background-color:transparent;color:rgba(0, 0, 0, 0.26);\} </style><style> .css-ia7u18\{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;position:relative;box-sizing:border-box;-webkit-tap-highlight-color:transparent;background-color:transparent;outline:0;border:0;margin:0;border-radius:0;padding:0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;-moz-appearance:none;-webkit-appearance:none;-webkit-text-decoration:none;text-decoration:none;color:inherit;text-align:center;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;font-size:1.5rem;padding:8px;border-radius:50%;overflow:visible;color:rgba(0, 0, 0, 0.54);-webkit-transition:background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;transition:background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;padding:8px;display:none;position:absolute;background-color:var(--color-processed-code-blocks-clipboard-button);right:0;color:var(--color-foreground-emp);top:10px;\}.css-ia7u18::-moz-focus-inner\{border-style:none;\}.css-ia7u18.Mui-disabled\{pointer-events:none;cursor:default;\}@media print\{.css-ia7u18\{-webkit-print-color-adjust:exact;color-adjust:exact;\}\}.css-ia7u18:focus-visible\{outline:revert;background-color:var(--color-icon-button-focus);\}.css-ia7u18:active\{background-color:var(--color-icon-button-pressed);\}.css-ia7u18:hover\{background-color:var(--color-icon-button-hover);\}.css-ia7u18:hover\{background-color:rgba(0, 0, 0, 0.04);\}@media (hover: none)\{.css-ia7u18:hover\{background-color:transparent;\}\}.css-ia7u18.Mui-disabled\{background-color:transparent;color:rgba(0, 0, 0, 0.26);\} </style><button> assignment </button><style> .css-1uw1jel.css-1uw1jel.css-1uw1jel.css-1uw1jel\{font-size:13px;margin-top:0;padding:20px;background:var(--color-processed-code-blocks-processed-pre-background);border:0;white-space:pre-wrap;box-shadow:none;border-radius:0;\}.css-1uw1jel.css-1uw1jel.css-1uw1jel.css-1uw1jel.language-css .token.string,.css-1uw1jel.css-1uw1jel.css-1uw1jel.css-1uw1jel .style .token.string,.css-1uw1jel.css-1uw1jel.css-1uw1jel.css-1uw1jel .token.entity,.css-1uw1jel.css-1uw1jel.css-1uw1jel.css-1uw1jel .token.operator,.css-1uw1jel.css-1uw1jel.css-1uw1jel.css-1uw1jel .token.url\{background:transparent;\}.css-1uw1jel .clipboard-code\{display:none;\} </style><pre><code>- task: UiPathPack@3 inputs: versionType: AutoVersion projectJsonPath: '$(projectFolder)/project.json' outputPath: '$(Build.ArtifactStagingDirectory)\artifact-manifests'</code> - task: UiPathPack@3 inputs: versionType: AutoVersion projectJsonPath: '$(projectFolder)/project.json' outputPath: '$(Build.ArtifactStagingDirectory)\artifact-manifests'</pre>ManualVersion : With this option, you can specify your own version number. You can use the following task configuration example: <button> assignment </button><pre><code>- task: UiPathPack@3 inputs: versionType: ManualVersion version: '$(Build.BuildNumber)' projectJsonPath: '$(projectFolder)/project.json' outputPath: '$(Build.ArtifactStagingDirectory)\artifact-manifests'</code> - task: UiPathPack@3 inputs: versionType: ManualVersion version: '$(Build.BuildNumber)' projectJsonPath: '$(projectFolder)/project.json' outputPath: '$(Build.ArtifactStagingDirectory)\artifact-manifests'</pre><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>CurrentVersion : This option keeps the version the same as specified in the <code>project.json</code> file. You can use the following task configuration example: <button> assignment </button><pre><code>- task: UiPathPack@3 inputs: versionType: CurrentVersion projectJsonPath: '$(projectFolder)/project.json' outputPath: '$(Build.ArtifactStagingDirectory)\artifact-manifests'</code> - task: UiPathPack@3 inputs: versionType: CurrentVersion projectJsonPath: '$(projectFolder)/project.json' outputPath: '$(Build.ArtifactStagingDirectory)\artifact-manifests'</pre> 
  
  
    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 <code>None</code> , 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. 
  
  
    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  . 
  
  
    Trace Level 
    Select the logging level from the dropdown list. 
  
 

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

## YAML pipeline

You can preview a fully parsed YAML document for the UiPath Pack.

```
- task: UiPathPack@2
  inputs:
    #versionType: AutoVersion # Options: AutoVersion, CurrentVersion, ManualVersion 
    #version: '1.0.0' # Required when versionType == ManualVersion
    #projectJsonPath: '$(Build.SourcesDirectory)\MyFirstProcess'
    #outputPath: '$(Build.ArtifactStagingDirectory)\Packages\MyFirstProcess'
    #outputType: 'None' # Options: Process, Library, Tests, Objects, None
    #runWorkflowAnalysis: 'False'
    #orchestratorConnection: 'service-connection-name' # Service connection to UiPath Orchestrator,
    #traceLevel: 'None' # Options: Critical, Error, Warning, Information, Verbose, None
```
