- Release Notes
- Introduction
- Governance
- Source Control
- CI/CD Pipelines
- Feeds Management
- Logging
About UiPath CLI
UiPath® offers a command-line interface (CLI) that allows you to execute certain pre-defined tasks for RPA package management and testing. The purpose of the UiPath CLI is to easily integrate those capabilities with third-party tools like GitLab, Jenkins, and many others, without a plugin.
UiPath CLI can be used with Orchestrator deployed via Automation Cloud™ , Automation Suite, or standalone.
Common use cases for the UiPath CLI involve:
- Packing Studio projects into NuGet packages.
- Deploying NuGet packages to Orchestrator.
- Running jobs in Orchestrator.
- Running Test Sets in Orchestrator.
UiPath CLI consists of two types:
-
UiPath.CLI.Windows
- Runs on Windows devices only.
- Builds Windows - Legacy,Windows, and Cross-platform projects.
-
UiPath.CLI
- Runs on Linux devices only.
- Builds only Cross-platform projects.
-
UiPath CLI does not support SSO connection.
-
UiPath CLI cannot be used to build projects that use Local Triggers.
-
UiPath CLI lacks the functionality to sign a package, a feature that is available when you publish the package from Studio. In this case, the only option is to sign the package after it is built using UiPath CLI. For details, see the sign command. This signing option works also for Azure DevOps and Jenkins.
Here you can verify the compatibility between the CLI version, the required .NET version, and the target Robot version.
CLI version |
.NET version required |
Target Robot version for the built automations |
---|---|---|
24.10 |
.NET 8 |
24.10+ |
23.10 |
.NET 6 |
23.10+ |
23.4 |
.NET 6 |
23.4+ |
You can download any version of the UiPath CLI from the UiPath Official Public Feed.
uipcli.exe
(for UiPath.CLI.Windows), or uipcli.dll
(for UiPath.CLI), located in the tools
folder.
The version of the UiPath Studio you are using to create your projects needs to match the version of the UiPath.CLI.Windows.
Legend: - compatible; - not compatible.
Orchestrator |
Project Type |
UiPath.CLI.Windows 23.10 |
UiPath.CLI.Windows 23.6 |
UiPath.CLI.Windows 22.10 |
---|---|---|---|---|
2023.10.x PaaS | Windows - Legacy |
|
|
|
2023.10.x PaaS | Windows |
|
|
|
2023.10.x PaaS | Cross-platform |
|
|
|
2021.10.x On-premises |
Windows - Legacy |
|
|
|
2021.10.x On-premises |
Windows |
|
|
|
2021.10.x On-premises |
Cross-platform |
|
|
|
2021.10.x PaaS |
Windows - Legacy |
|
|
|
2021.10.x PaaS |
Windows |
|
|
|
2021.10.x PaaS |
Cross-platform |
|
|
|
2022.4.x |
Windows - Legacy |
|
|
|
2022.4.x |
Windows |
|
|
|
2022.4.x |
Cross-platform |
|
|
|
2022.10.x |
Windows - Legacy |
|
|
|
2022.10.x |
Windows |
|
|
|
2022.10.x |
Cross-platform |
|
|
|
2023.4.x | Windows-Legacy |
|
|
|
2023.4.x | Windows |
|
|
|
2023.4.x | Cross-platform |
|
|
|
Cloud |
Windows - Legacy |
|
|
|
Cloud |
Windows |
|
|
|
Cloud |
Cross-platform |
|
|
|
The version of the UiPath Studio you are using to create your projects needs to match the version of the UiPath.CLI. For example, if you create projects using UiPath Studio 2021.10, you need to use the 21.10 version of the UiPath.CLI.
Legend: - compatible; - not compatible.
Orchestrator | Project Type | UiPath.CLI 23.10 | UiPath.CLI 23.6 | UiPath.CLI 22.10 | UiPath.CLI 22.4 | UiPath.CLI 21.10 |
---|---|---|---|---|---|---|
2023.10.x PaaS | Windows - Legacy |
|
|
|
|
|
2023.10.x PaaS | Windows |
|
|
|
|
|
2023.10.x PaaS | Cross-platform |
|
|
|
|
|
2021.10.x On-premises |
Windows - Legacy |
|
|
|
|
|
2021.10.x On-premises |
Windows |
|
|
|
|
|
2021.10.x On-premises |
Cross-platform |
|
|
|
|
|
2021.10.x PaaS |
Windows - Legacy |
|
|
|
|
|
2021.10.x PaaS |
Windows |
|
|
|
|
|
2021.10.x PaaS |
Cross-platform |
|
|
|
|
|
2022.4.x |
Windows - Legacy |
|
|
|
|
|
2022.4.x |
Windows |
|
|
|
|
|
2022.4.x |
Cross-platform |
|
|
|
|
|
2022.10.x |
Windows - Legacy |
|
|
|
|
|
2022.10.x |
Windows |
|
|
|
|
|
2022.10.x |
Cross-platform |
|
|
|
|
|
2023.4.x | Windows-Legacy |
|
|
|
|
|
2023.4.x | Windows |
|
|
|
|
|
2023.4.x | Cross-platform |
|
|
|
|
|
Cloud |
Windows - Legacy |
|
|
|
|
|
Cloud |
Windows |
|
|
|
|
|
Cloud |
Cross-platform |
|
|
|
|
|
This section describes how you can manage the build-in NuGet feeds. Moreover, it provides information on how you can use custom NuGet feeds according to your specific project requirements.
uipcli
searches for dependencies in the following built-in feeds:
-
C:\Program Files\Microsoft SDKs\NuGetPackages
(if this path is on the current agent) -
C:\Program Files (x86)\Microsoft SDKs\NuGetPackages
(if this path is on the current agent)
uipcli
to not use the built-in feeds by setting the --disableBuiltInNugetFeeds
parameter. This parameter can be used to the following tasks: analyze
, pack
, and test run
.When you run uipcli
with a configuration file, set "disableBuiltInNugetFeeds": true
.
You can use custom feeds when packing an automation.
Using custom nuget.config in UiPath CLI
To use custom feed, take the following steps:
-
Create a custom
nuget.config
file with the following format:<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <add key="test custom feed" value="custom_feed_url" /> </packageSources> </configuration>
<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <add key="test custom feed" value="custom_feed_url" /> </packageSources> </configuration> -
Place the custom
nuget.config
file in the folder whereuipcli
is cached:
Using custom nuget.config in Azure DevOps
nuget.config
to $(Agent.ToolsDirectory)/uipcli
, after the InstallPlatform
step, as shown in the following example:
trigger:
- main
pool:
vmImage: ubuntu-latest
stages:
- stage: Demo
jobs:
- job: Demo
steps:
- task: UiPathInstallPlatform@4
inputs:
cliVersion: 'X_23.6.8581.19168'
- task: CopyFiles@2
inputs:
SourceFolder: '$(Build.SourcesDirectory)'
Contents: 'nuget.config'
TargetFolder: '$(Agent.ToolsDirectory)/uipcli'
- task: UiPathPack@4
inputs:
versionType: 'AutoVersion'
projectJsonPath: '$(Build.SourcesDirectory)/AutomationProjects/CrossPlatform/VB/ProjectWithCustomLibraryFromOrchestrator_CrossPlatform_VB/project.json'
outputPath: '$(Build.ArtifactStagingDirectory)/Output'
traceLevel: 'Information'
trigger:
- main
pool:
vmImage: ubuntu-latest
stages:
- stage: Demo
jobs:
- job: Demo
steps:
- task: UiPathInstallPlatform@4
inputs:
cliVersion: 'X_23.6.8581.19168'
- task: CopyFiles@2
inputs:
SourceFolder: '$(Build.SourcesDirectory)'
Contents: 'nuget.config'
TargetFolder: '$(Agent.ToolsDirectory)/uipcli'
- task: UiPathPack@4
inputs:
versionType: 'AutoVersion'
projectJsonPath: '$(Build.SourcesDirectory)/AutomationProjects/CrossPlatform/VB/ProjectWithCustomLibraryFromOrchestrator_CrossPlatform_VB/project.json'
outputPath: '$(Build.ArtifactStagingDirectory)/Output'
traceLevel: 'Information'
Using custom nuget.config in Jenkins
nuget.config
to ${WORKSPACE}/CLI
, after the InstallPlatform
step, as shown in the following example:
pipeline {
agent {
label 'plugins-jenkins-lts-agent-01'
}
stages {
stage('Clone') {
steps {
git (
branch: 'main',
url: 'https://github.com/al3xandru-uipath-qa/CI-Plugins-Customer-Support.git'
)
}
}
stage('Install Platform') {
steps {
UiPathInstallPlatform (
traceLevel: 'Information'
)
}
}
stage('Copy nuget.config') {
steps {
bat 'copy nuget.config CLI\\nuget.config'
}
}
stage('Pack') {
steps {
UiPathPack (
outputPath: '${WORKSPACE}/Output',
projectJsonPath: '${WORKSPACE}/AutomationProjects/CrossPlatform/VB/ProjectWithCustomLibraryFromOrchestrator_CrossPlatform_VB/project.json',
traceLevel: 'Information',
version: AutoVersion()
)
}
}
}
}
pipeline {
agent {
label 'plugins-jenkins-lts-agent-01'
}
stages {
stage('Clone') {
steps {
git (
branch: 'main',
url: 'https://github.com/al3xandru-uipath-qa/CI-Plugins-Customer-Support.git'
)
}
}
stage('Install Platform') {
steps {
UiPathInstallPlatform (
traceLevel: 'Information'
)
}
}
stage('Copy nuget.config') {
steps {
bat 'copy nuget.config CLI\\nuget.config'
}
}
stage('Pack') {
steps {
UiPathPack (
outputPath: '${WORKSPACE}/Output',
projectJsonPath: '${WORKSPACE}/AutomationProjects/CrossPlatform/VB/ProjectWithCustomLibraryFromOrchestrator_CrossPlatform_VB/project.json',
traceLevel: 'Information',
version: AutoVersion()
)
}
}
}
}