- Overview
- UiPath CLI
- About UiPath CLI
- Downloading UiPath CLI
- Compatibility matrix
- Running UiPath CLI
- Managing NuGet feeds
- Trusting custom certificates
- Test Manager Support
- Packing projects into a package
- Signing project packages
- Analyzing a project
- Deploying a package to Orchestrator
- Running a job inside Orchestrator
- Testing a package or running a test set
- Testing multiple packages
- Input parameters JSON format
- Deploying assets to Orchestrator
- Deleting assets from Orchestrator
- Running tasks using JSON configuration
- Restoring automation dependencies
- Troubleshooting UiPath CLI
- Azure DevOps extension
- Jenkins plugin
CI/CD integrations user guide
Prerequisites
- Create projects.
- Run the CLI
exe(for Windows Legacy) ordll(for Windows/Linux/macOS) file. - Add the required Orchestrator API access application scopes.
You can also create the package locally without the need for Orchestrator scopes.
To pack a project into a package, take the following steps:
- Run the
packagetask, usinguipcli package. You can notice a list of the available sub-tasks. - Specify the required parameters and run the
packsub-task. The following table describes the required parameters.
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.
| Parameter | Description |
|---|---|
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 --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. |
--author | The package author. |
--nugetConfigFilePath | Path 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. |
--disableBuiltInNugetFeeds | Disable built in nuget feeds. |
--excludeConfiguredSources | Excludes 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. |
--libraryIdentityUrl | The 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. |
--traceLevel | Display the trace of the events. |
-l, or --language | The language used in the Orchestrator user interface. |
--activitiesRootCategory | The 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. |
--skipAnalyze | Skip 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. |
--skipValidate | Skip the project validation step during the pack step. Use only when the project has already been validated earlier in the pipeline. |
--ca-cert | One 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. |
--pinnedpubkey | Pin the server leaf certificate's public key. Format: sha256//<base64>. Checked in addition to standard certificate validation. See Trusting custom certificates for details. |
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.
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 ExampleAuthoruipcli 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