UiPath Documentation
cicd-integrations
2025.10
true

CI/CD integrations user guide

Last updated May 22, 2026

Packing projects into a package

Prerequisites

  • Create projects.
  • Run the CLI exe (for Windows Legacy) or dll (for Windows/Linux/macOS) file.
  • Add the required Orchestrator API access application scopes.
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 and Workflow Analyzer both run by default as part of the pack task. To opt out, use the --skipValidate and --skipAnalyze flags.

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

ParameterDescription
Project(s) Path (pos. 0) (Required)The path to a project.json file, or to a folder that contains project.json files.
-o, or --output (Required)Destination folder path.
-v, or --versionSet the package version.
--autoVersionAuto-generates a package version.
--outputTypeForces the output to be a specific type.
--splitOutputEnables the output split to runtime and design libraries.
--repositoryUrlThe repository URL where the project is versioned.
--repositoryCommitThe repository commit where the project was built from.
--repositoryBranchThe repository branch where the project was built from.
--repositoryTypeVCS system repository type.
--projectUrlAutomation Hub idea URL.
--releaseNotesAdd release notes.
--authorThe package author.
--nugetConfigFilePathPath to the NuGet.Config file containing feeds. The <clear /> tag from the specified file will be ignored and only sources will be taken into consideration.
--disableBuiltInNugetFeedsDisable built in nuget feeds.
--excludeConfiguredSourcesExcludes the built-in feeds and the NuGet sources configured at the user and machine level on the host running the CLI. The CLI resolves packages only from the feeds defined in --nugetConfigFilePath. See Managing NuGet feeds.
-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)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)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)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)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)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.
--libraryIdentityUrlThe URL of your identity server. Required when the library Orchestrator runs on UiPath Automation Suite or standalone Orchestrator (on-premises MSI). Not needed for Automation Cloud — the CLI resolves the identity server from the cloud URL.
--traceLevelDisplay the trace of the events.
-l, or --languageThe language used in the Orchestrator user interface.
--activitiesRootCategoryThe root category prefix applied to every activity exposed by the published library. Has effect only when packing a library project; ignored for process, tests and objects projects. When omitted, defaults to the library project name.
--skipAnalyzeSkip running Workflow Analyzer during the pack step. Use only when you run package analyze as a separate pipeline stage; release pipelines should leave analyzer enabled.
--skipValidateSkip the project validation step during the pack step. Use only when the project has already been validated earlier in the pipeline.
--ca-certOne or more trusted root CA certificate files (PEM, DER, or PKCS#7) used when validating the Orchestrator and Identity Server TLS certificates. Repeat the flag or comma-separate multiple paths. See Trusting custom certificates for details.
--pinnedpubkeyPin the server leaf certificate's public key. Format: sha256//<base64>. Checked in addition to standard certificate validation. See Trusting custom certificates for details.
Tip:

For Orchestrator instances signed by a private Certificate Authority (such as UiPath Automation Suite), this command also accepts --ca-cert and --pinnedpubkey parameters. See Trusting custom certificates for scenarios and examples.

Note:

When using external application authentication without specifying the --applicationScope parameter, the CLI automatically applies these default Orchestrator scopes:

OR.Assets OR.BackgroundTasks OR.Execution OR.Folders OR.Robots.Read OR.Machines.Read OR.Jobs OR.TestSets OR.TestSetExecutions OR.Monitoring OR.Settings.Read

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] [--skipAnalyze] [--skipValidate] [--activitiesRootCategory <root_category>] [--repositoryUrl <repository_url>] [--repositoryCommit <repository_commit>] [--repositoryBranch <repository_branch>] [--repositoryType <repository_type>] [--projectUrl <automation_hub_idea_url>] [--releaseNotes <release_notes>] [--disableBuiltInNugetFeeds] [--excludeConfiguredSources]  [--traceLevel <None|Critical|Error|Warning|Information|Verbose>]
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] [--skipAnalyze] [--skipValidate] [--activitiesRootCategory <root_category>] [--repositoryUrl <repository_url>] [--repositoryCommit <repository_commit>] [--repositoryBranch <repository_branch>] [--repositoryType <repository_type>] [--projectUrl <automation_hub_idea_url>] [--releaseNotes <release_notes>] [--disableBuiltInNugetFeeds] [--excludeConfiguredSources]  [--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" --author ExampleAuthor
  • 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"

Library pack with a custom activities root category

  • uipcli package pack "C:\userprofile\MyLibrary\project.json" --traceLevel Information -o "C:\userprofile\Packages\Output" --outputType Library --activitiesRootCategory "MyCompany.Finance.Invoicing"

Pack with analyzer and validation skipped (faster local builds, CI separate-analyze stages)

  • uipcli package pack "C:\userprofile\AutomationProject\project.json" --traceLevel Information -o "C:\userprofile\Packages\Output" --skipAnalyze --skipValidate

Hermetic pack — ignore user/machine NuGet sources on the build agent

  • uipcli package pack "C:\userprofile\AutomationProject\project.json" --traceLevel Information -o "C:\userprofile\Packages\Output" --nugetConfigFilePath "C:\ci\nuget.config" --excludeConfiguredSources

Was this page helpful?

Connect

Need help? Support

Want to learn? UiPath Academy

Have questions? UiPath Forum

Stay updated