Hi Guys,
we have a weird problem in the company.
The setup of our UiPath:
- onPrem Orchestrator (Development) 2021.10.2
- onPrem Orchestrator (Production) 2021.10.2
- Git (Gitlabs)
- Jenkins
- Uipath (Latest stable version)
Every Project in GIT has a Jenkinsfile attached to it - it looks like that:
@Library('RPA Pipeline Build and Publish') _
def major = "1"
def minor = "0"
def folder = "Default"
buildAndPublish(major, minor, folder)
In jenkins itself we have a plugin that runs a specific groovy file that houses the buildAndPublish
function. It looks like that:
// default pipeline to build and publish RPA/UIPath projects
def call(String MAJOR, String MINOR, String folderName) {
pipeline {
agent {
label "uipath"
}
environment {
BUILD_NUM_ENV = currentBuild.getNumber()
PROD_URL = 'https://rpa.ourcompany.com/'
DEV_URL = 'https://rpa-dev.ourcompany.com/'
BRANCH_NAME = "${GIT_BRANCH.split("/").size() > 1 ? GIT_BRANCH.split("/")[1] : GIT_BRANCH}"
}
options {
disableConcurrentBuilds()
buildDiscarder(logRotator(daysToKeepStr: '5', numToKeepStr: '5', artifactNumToKeepStr: '1'))
}
stages {
stage ('Pre Build') {
steps {
catchError {
bat label: '', script: 'rmdir /Q /S Output'
}
}
}
stage ('Build') {
steps {
script {
if ("master" == "${BRANCH_NAME}"){
// BUILD_NUM_ENV = 0
}
}
UiPathPack(
outputPath: 'Output',
projectJsonPath: 'project.json',
version: CustomVersion("${MAJOR}.${MINOR}.${BUILD_NUM_ENV}"),
traceLevel: 'Verbose',
outputType: 'Process'
)
}
}
stage ('Post Build') {
steps {
script {
if ("master" == "${BRANCH_NAME}"){
UIP_URL = "${PROD_URL}"
} else {
UIP_URL = "${DEV_URL}"
}
}
echo "${UIP_URL}"
UiPathDeploy(
credentials: UserPass('uid'),
environments: 'Development',
folderName: "${folderName}",
orchestratorAddress: "${UIP_URL}",
orchestratorTenant: 'ourcompany',
packagePath: 'Output',
traceLevel: 'Verbose',
entryPointPaths: "Main.xaml",
createProcess: true,
)
}
}
}
}
}
When we create a project in UiPath Studio with “Windows - Legacy” Compatibility, this works fine. Jenkins build a new process and publishes it to our orchestrator server.
In our latest project we decided to go with “Windows Compatibility”.
This gets built fine, but instead of a process, jenkins builds and publishes it as a library.
Here is the output of jenkins:
At this point I have no clue why jenkins uipath plugin does this.
I checked everything and the only difference between a studio project “windows” vs “windows - legacy” is that in the project.json the last line compatibility
is either “Windows” or “Legacy”.
Any ideas? Thank you so much.