- Release Notes
- Introduction
- Governance
- Source Control
- CI/CD Pipelines
- Feeds Management
- Logging
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.
- For UiPath.CLI, install .NET 6.0.7, that comes with the 6.0.302 SDK, or higher.
- For UiPath.CLI.Windows, install .NET 6.0.7or higher. You must also install .NET Desktop Runtime, that comes with the .NET SDK as well.
You can download any version of the UiPath CLI from the UiPath Official Public Feed, to find the right version for your project, review the compatibility matrix below.
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 |
|
|
|
|
|
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
.
uipcli
with a configuration file, set "disableBuiltInNugetFeeds": true
.
You can use custom feeds when packing an automation. To do this, you need to:
-
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()
)
}
}
}
}