# Packing projects into a package

> * Create projects.
* Run the CLI `exe` (for Windows) or `dll` (for Linux) file.
* Add the required Orchestrator [API access application scopes](https://docs.uipath.com/cicd-integrations/standalone/2024.10/user-guide/executing-uipath-cli-tasks).

## Prerequisites

* Create projects.
* Run the CLI `exe` (for Windows) or `dll` (for Linux) file.
* Add the required Orchestrator [API access application scopes](https://docs.uipath.com/cicd-integrations/standalone/2024.10/user-guide/executing-uipath-cli-tasks).

:::note
You can also create the package locally without the need for Orchestrator scopes.
:::

To pack a project into a package, take the following steps:

1. Run the `package` task, using `uipcli package`. You can notice a list of the available sub-tasks.
2. Specify the required parameters and run the `pack` sub-task.
   The following table describes the required parameters.

:::note
Project validation is not performed by the Pack or Analyze tasks of UiPath CLI.
:::

**Legend**: (*) - Optional, useful only when you have dependencies from a library in Orchestrator.

| Parameter | Description |
| --- | --- |
| `-o`, or `--output` (**Required**) | Destination folder path. |
| `-v`, or `--version` | Set the package version. |
| `--autoVersion` | Auto-generates a package version. |
| `--outputType` | Forces the output to be a specific type. |
| `--splitOutput` | Enables the output split to runtime and design libraries. |
| `--repositoryUrl` | The repository URL where the project is versioned. |
| `--repositoryCommit` | The repository commit where the project was built from. |
| `--repositoryBranch` | The repository branch where the project was built from. |
| `--repositoryType` | VCS system repository type. |
| `--projectUrl` | Automation Hub idea URL. |
| `--releaseNotes` | Add release notes. |
| `-u`, `--libraryOrchestratorUsername` (*)  (**Required** if you use **Basic Authentication**, through a username and a password) | The username used for authenticating to Orchestrator. You must pair it with the corresponding password.  This is required if your package references libraries from Orchestrator feed |
| `-p`, `--libraryOrchestratorPassword` (*)  (**Required** if you use **Basic Authentication**, through a username and a password) | The password used for authenticating to Orchestrator. You must pair it with the corresponding username.  This is required if your package references libraries from Orchestrator feed |
| `-t`, `--libraryOrchestratorAuthToken` (*)  (**Required** if you use [token-based authentication](https://docs.uipath.com/automation-cloud/automation-cloud/latest/api-guide/api-keys)) | The **OAuth2 refresh token** used for authenticating to Orchestrator. You must pair it with the **Account Name** and **Client ID**.  This is required if your package references libraries from Orchestrator feed |
| `-a`, `--libraryOrchestratorAccountName` (*)  (**Required** if you use [token-based authentication](https://docs.uipath.com/automation-cloud/automation-cloud/latest/api-guide/api-keys)) | The Orchestrator CloudRPA account name. You must pair it with the **OAuth2 refresh token** and **Client ID**.  This is required if your package references libraries from Orchestrator feed |
| `-A`, `--libraryOrchestratorAccountForApp` (*) | The Orchestrator CloudRPA account name(organization name). You must pair it with the **Application ID**,**Application Secret**, and **Application scope** for external application  This is required if your package references libraries from Orchestrator feed. |
| `-I` ,`--libraryOrchestratorApplicationId` (*)  (**Required** if you use [external application authentication](https://docs.uipath.com/automation-cloud/docs/managing-external-applications)) | The external Application ID. You must pair it with the **Application Account**, **Application Secret**, and **Application scope**. This is required if your package references libraries from Orchestrator feed. |
| `-S`, `--libraryOrchestratorApplicationSecret` (*)  (**Required** if you use [external application authentication](https://docs.uipath.com/automation-cloud/docs/managing-external-applications)) | The external Application Secret. You must pair it with the **Application Account**, **Application ID**, and **Application scope**.  This is required if your package references libraries from Orchestrator feed. |
| `--libraryOrchestratorApplicationScope` (*)  (**Required** if you use [external application authentication](https://docs.uipath.com/automation-cloud/docs/managing-external-applications)) | The list of application scopes, separated by single spaces. You must pair it with the **Application Account**, **Application ID**, and **Application Secret** for external application.  This is required if your package references libraries from Orchestrator feed. |
| `--libraryOrchestratorFolder` (*) | The name of the target Orchestrator folder.  To input subfolders make sure to input both the parent folder name and the name of the subfolder. For instance, use `AccountingTeam\TeamJohn`. |
| `--libraryOrchestratorUrl` (*) | The URL of the Orchestrator instance. |
| `--libraryOrchestratorTenant` (*) | The tenant of the Orchestrator instance where you want to delete a machine. |
| `--libraryIdentityUrl`(**Required** for **PaaS** or **MSI** deployments) | The URL of your identity server. |
| `--traceLevel` | Display the trace of the events. |
| `-l`, or `--language` | The language used in the Orchestrator user interface. |
| `--disableBuiltInNugetFeeds` | Disable built in nuget feeds. |
| `Project(s) Path (pos. 0)` (**Required**) | The path to a `project.json` file, or to a folder that contains `project.json` files. |

## Usage

```
uipcli package pack <project_path> -o <destination_folder> [-v <version>] [--autoVersion] [--outputType <Process|Library|Tests|Objects>] [--libraryOrchestratorUrl <orchestrator_url> --libraryOrchestratorTenant <orchestrator_tenant>] [--u <orchestrator_user> --p <orchestrator_pass>] [--t <auth_token> --a <account_name>] [-A <organization_name> -I <application_id> -S <application_secret> --libraryOrchestratorApplicationScope <application_scope>] [--libraryIdentityUrl <identity_url>] [--libraryOrchestratorFolder <folder_name>] [-l <language>] [--splitOutput] [--repositoryUrl <repository_url>] [--repositoryCommit <repository_commit>] [--repositoryBranch <repository_branch>] [--repositoryType <repository_type>] [--projectUrl <automation_hub_idea_url>] [--releaseNotes <release_notes>] [--disableBuiltInNugetFeeds]  [--traceLevel <None|Critical|Error|Warning|Information|Verbose>]
```

## Examples

* `uipcli package pack "C:\userprofile\AutomationProject\project.json" --traceLevel Information -o "C:\userprofile\Packages\Output"`
* `uipcli package pack "C:\userprofile\AutomationProject\project.json" --traceLevel Information -o "C:\userprofile\Packages\Output"
  --libraryOrchestratorUrl "https://orch-23-10-paas.cloudapp.azure.com/" --libraryOrchestratorTenant "TenantName" -u "orchestratorUsername"
  -p "********" --orchestratorFolder "FolderName"`
* `uipcli package pack "C:\userprofile\AutomationProject\project.json" --traceLevel Information -o "C:\userprofile\Packages\Output"
  --libraryOrchestratorUrl "https://orch-23-10-paas.cloudapp.azure.com/" --libraryOrchestratorTenant "TenantName" -A "organizationName"
  -I "76000552-3e4f-4590-9317-cdb420001f1d" -S "********" --libraryOrchestratorApplicationScope "OR.Folders OR.BackgroundTasks
  OR.TestSets OR.TestSetExecutions OR.TestSetSchedules OR.Settings.Read OR.Robots.Read OR.Machines.Read OR.Execution OR.Assets
  OR.Users.Read OR.Jobs OR.Monitoring" --libraryOrchestratorFolder "FolderName" --libraryIdentityUrl "https://orch-23-10-paas.cloudapp.azure.com/identity"`
* `uipcli package pack "C:\userprofile\AutomationProject\project.json" --traceLevel Information -o "C:\userprofile\Packages\Output"
  --libraryOrchestratorUrl "https://automation-suite.base.url.com/" --libraryOrchestratorTenant "TenantName" -A "organizationName"
  -I "3f6239b9-e0e8-465e-a429-d9ffd1d9e57a" -S "********" --libraryOrchestratorApplicationScope "OR.Folders OR.BackgroundTasks
  OR.TestSets OR.TestSetExecutions OR.TestSetSchedules OR.Settings.Read OR.Robots.Read OR.Machines.Read OR.Execution OR.Assets
  OR.Users.Read OR.Jobs OR.Monitoring" --libraryOrchestratorFolder "FolderName"`
* `uipcli package pack "C:\userprofile\AutomationProject\project.json" --traceLevel Information -o "C:\userprofile\Packages\Output"
  --libraryOrchestratorUrl "https://cloud.uipath.com/" --libraryOrchestratorTenant "TenantName" -A "organizationName" -I "becc663c-8f1e-409a-a75f-c00330d80bc8"
  -S "********" --libraryOrchestratorApplicationScope "OR.Folders OR.BackgroundTasks OR.TestSets OR.TestSetExecutions OR.TestSetSchedules
  OR.Settings.Read OR.Robots.Read OR.Machines.Read OR.Execution OR.Assets OR.Users.Read OR.Jobs OR.Monitoring" --libraryOrchestratorFolder
  "FolderName"`
