UiPath DevOps Scripts : CI CD Integration with UiPath Platform

Pack, analyze, deploy, run automations, tests & manage assets.

Scripts Demo - Youtube Video

Overview

More and more customers are requesting integrations of uipath platform to other platforms like GitLab and Circle CI and UiPath is not able to create native plugins for all of them.

Until a generic solution is officially released, this unofficial library of DevOps PowerShell scripts will support customers to integrate CI/CD into their workflows and allow them to package, deploy and run automations and tests.

Scripts Repository: GitHub - UiPath-Services/UiPath-DevOps-Scripts
Marketplace Listing: UiPath DevOps Scripts - RPA Component | UiPath Marketplace

Prerequisite:

  • The provisioned vm or agent should be a window machine
  • Add a step in your CI/CD pipepline to download the descired scripts. (Downlod only the scripts you need, for example if you want to Pack an RPA project then download UiPathPack script) Use the scripts below as one step in your pipeline and give at any name (e.g. “Preparing Environment”)

It is recommended to download copy of the scripts from the scripts folder into your own repository

#Create scripts folder under C drive. (you can change the directory path ) New-Item -Path "C:\\" -ItemType "directory" -Name "scripts"; Invoke-WebRequest "https://github.com/UiPath-Services/UiPath-DevOps-Scripts/raw/main/scripts/UiPathPack.ps1" -OutFile "C:\\scripts\\UiPathPack.ps1"; Invoke-WebRequest "https://github.com/UiPath-Services/UiPath-DevOps-Scripts/raw/main/scripts/UiPathDeploy.ps1" -OutFile "C:\\scripts\\UiPathDeploy.ps1"; Invoke-WebRequest "https://github.com/UiPath-Services/UiPath-DevOps-Scripts/raw/main/scripts/UiPathJobRun.ps1" -OutFile "C:\\scripts\\UiPathJobRun.ps1"; Invoke-WebRequest "https://github.com/UiPath-Services/UiPath-DevOps-Scripts/raw/main/scripts/UiPathRunTest.ps1" -OutFile "C:\\scripts\\UiPathRunTest.ps1"; Invoke-WebRequest "https://github.com/UiPath-Services/UiPath-DevOps-Scripts/raw/main/scripts/UiPathManageAssets.ps1" -OutFile "C:\\scripts\\UiPathManageAssets.ps1"; Invoke-WebRequest "https://github.com/UiPath-Services/UiPath-DevOps-Scripts/raw/main/scripts/UiPathAnalyzeProject.ps1" -OutFile "C:\\scripts\\UiPathAnalyzeProject.ps1"; Invoke-WebRequest "https://github.com/UiPath-Services/UiPath-DevOps-Scripts/raw/main/scripts/UiPathCLIGeneric.ps1" -OutFile "C:\\scripts\\UiPathCLIGeneric.ps1";

Q: You can’t create directory outside the build/working directory of your CI/CD previsioned machine?
A: Some CI/CD tool, like gitlab, may not allow the creation of folder outside the build/working directory . For this you need to place the folder and scripts inside the working directory. In the above script you will need to replace “C:\” with the the CI/CD tool variable referencing the working directory.
for example,
GitLab $env:CI_PROJECT_DIR
GitHub Actions: ${{github.workspace}}
…etc

Powershell Scripts

Seven available scripts can be utilized

Script Description
UiPathPack Pack one or more projects into a package. Click on the name for detailed documentation
UiPathDeploy Deploy packages to an Orchestrator instance, optionally publishing them to a set of environments. Click on the name for detailed documentation
UiPathJobRun Trigger a job on Orchestrator. Click on the name for detailed documentation
UiPathRunTest Tests a given package or runs a test set. Click on the name for detailed documentation
UiPathManageAssets Manage uipath orchestrator assets.
UiPathAnalyzeProject Check project(s) for workflow analyzer violations
UiPathCLIGeneric This script is designed for those who know how to work with uipcli.exe and would like to call the cli directly. This script will pass the provided parameters as is directly to uipcli.exe.

Pipelines Samples provided in the video

CircleCI sample
GitLab sample

Logging

Each script will log all output to its own *.log file and sometimes to the console.

Script Dependencies

The scripts will automatically download the dependencies during the runtime
UiPath CLI

  • Package Pack
  • Package Deploy
  • Job Run
  • Test Run
  • asset delete
  • asset deploy
  • package analyze
2 Likes