You can now use the UiPath CI/CD Pipelines

Automation Ops - Pipelines is now in Public Preview

You can now use the UiPath CI/CD engine to automate your automations.
Given you have the automation source code under source control (currently GitHub), you can set up CI/CD pipelines (as simple as building an UiPath project) to streamline your development process.

Imagine the following scenario:

Automation is developed in a Development environment and needs to meet certain quality checks before reaching the Production environment.

The quality checks you can enforce with Automation Ops - Pipelines are:

  • Enforce workflow analyzer
  • Run tests
  • Add an approval step so someone else in your team can review
  • Publish in the desired environment

You can always find more information in our documentation, but here is a quick glimpse on the activities in our UiPath.Pipelines.Activities package:

  • Clone the code
  • Analyze the project against the governance policies you already use
  • Run tests
  • Build the automation package
  • Publish the automation package to Orchestrator
  • Download the package from Orchestrator

Studio templates are already in place. Check the Pipelines in Automation Ops here.

Don’t miss the demo video in the 2023.4 Virtual launch here:

14 Likes

It’s amazing.
This is something that we already use through Azure Pipelines, but having opportunity to do this directly into UiPath cloud platform turns things more easier to maintain

Is Azure repos in the roadmap ?

2 Likes

Thank you for your feedback.
Yes, Azure Repos is on our roadmap.

Are you able to share any expected timelines for other source control systems to be included?

I’ve been testing it as part of the private preview and really liked it but I don’t have many clients using Github,

I’d love to know when the following could be expected.
Azure
Bitbucket,
Gitlab,
Amazon Web Services Code Commit (I hate this one :p)

I dont need any exact dates, but knowing firstly if they would be considered aswell as roughly when would allow me to plan. If for example you won’t do BitBucket until next year then that would be a convincing argument to migrate all our Repos, but if you are planning it next month, I’d be annoyed to make the effort to switch.

Hope you can share some info to help us plan!

1 Like

Hi Jon,
Azure Repos is the only provider from your list, planned for the short term.

For the others, I don’t want to set any expectations regarding the timeline, so if you have alternatives, I would say you should use them.

Since you mentioned it, was there anything about Source Control that you enjoyed (or hated) most, you would want to share?

I appreciate that, knowing the short term plans helps alot. Thanks! I’ll try to migrate where I can accordingly.

I really like that you can build the solution in UiPath, which means you dont need to learn a new skill such as yaml pipelines in Azure. This allows more people in my team to be able to understand and support the pipelines.

The running of test cases is a really well designed feature. When the preview started I was building this functionality myself and then saw the UiPath offering. It still had some bugs last time I tested (thats what a preview is for eh) but I see they are now fixed in the public release.
This is brilliant as I can now make a pipeline that runs all the tests on a project or library and use the action center to get relevant approvals.

I dislike the output and behaviour of the Run tests however (I already reported this) but it outputs a file in JUnit xaml format. Which sucks, cause it means if I want to read the output in my pipeline I have to load a XML file and parse it, needing to know what node is where etc.
I requested they make a second output which would return an ICollection where its just a list of all the test cases that have been ran and the results, this means I can instantly just use them in code. I also said I did not like the idea that the entire activity throws an error if a single test case fails as it removes alot of control from me.
I’d like to be able to see what tests failed and didnt fail (and for that activity to not assume I want an error if any fail) and then let me interpret the results. I could for example make an action in the action center listing the failed test cases and giving me the option to re-run them.

If my tests fail because of missing input data in an application, or a bad credential asset or expired password etc I dont want to be forced to do another commit to trigger a new build, instead being allowed to cancel or retry that build stage via the action center.

The most powerful parts, imo, are integration to the Action Center and running automated tests.
Thanks!

Hi Jon,
Thank you for taking the time to share your experience in detail.

We are aware of your feedback related to the output of Run Tests. We had some other things that needed to be addressed before that, but it was not forgotten.

You are welcome and thanks for the great improvement!! It is still really useful as is, if you and others can also see the value of my suggestions (hence me also sharing them here for others to comment) it would be great if they could be introduced in a later release. I hope I presented them in a way that means you could extend the functionality without breaking existing stuff.

Two new properties, one to ask if you want to throw an exception if a test case fails, defaulted to true to maintain vanilla behaviour, and then the second output object.

Amazinh feature!!!
Hopefully we can stay in 100% in UiPath Solution, skiping Azure or Jenkins.
It is way more sustainable in a long term, having full support from UiPath 100% beggining to end of the RPA Process.
Looking forward to October!!

Awesome feature!!! Finally alternate for Azure or Jenkins

I bump up this old thread with good news!
:loudspeaker: Azure Repos (Preview) is available for Automation Ops Pipelines.
Go and set the connection in Source Control so it becomes available to your Pipelines.

1 Like