Automating process deployments when you have one single repository

We have a single repository as in the image and inside processes folder we have one folder for each process.
Now we want to build a deployment pipeline which should be triggered when a pull request for master branch is approved and merged. Basically any update in the master branch should trigger the pipeline.

UiPath Pack, Build and Deploy are the things we use which needs 2 variables

  1. ProcessName (name of the folder where new process is created or changes were merged using pull request)
  2. Folder name (orchestratior folder where the process will be created)

Questions:

  1. I am looking for a way so we can detect the process folder in repo where changes were made.
  2. How do we know at all which folder it need to go?

Hi @Snehajit_Das

You can use Git to detect which process folder was changed by comparing the changes in the pull request to the master branch. You can then pass the modified folder name (process name) as a variable to the UiPath pipeline for deployment.

@Snehajit_Das

We had a similar situation where we leveraged the description field of pull request where we mentioned the processes that are being updated with a keyword before it and later in the build pipeline we used a .net code to get the description and the names and then created the required processes…you cantry the same…this was long back so I dont have the scripts handy

Cheers

How did that approach turn out finally? Was there issues related to wrong updates by developers in the desc field?

And how are you managing deployments today?

@Snehajit_Das

There were issue…but we had rules for them to use the process name properly…we had approvals so we had extra checks to wnsure names are populated

We moved to setting up one repo per process and created separate pipelines which turned out to be better

Cheers

@Anil_G - With one repo per process, what is the best way to switch between repos easily assuming one person would need to work on one new process and one change in parallel?
I am assuming you connect the repo to UiPath Studio and Commit and Push are directly done from studio.

And does this also mean every time you have a new process you need to create new repo and have a rule created for pull requests so the pipeline.yml can be triggered? Is there a possibility to have this step automated as well?

Thank you for reading.

@SnehajitDas @Snehajit_Das

for each process anyways you would open a new project and each project is connected to its own repo..so that any process you want open studio connect repo and as the local git files are stored from next time when you open process corresponding repo would be connected

whenever new repo is there we are maintaining the yml and pipeline files in code itself so we create our own framework in which they are included only thign they need to change is the variable values at top of file for folders they need to be deployed in dev and prod…and yea to schedule a trigger we need to do one time setup whenever a new repo or process is created..but remaining pipeline level details would be picked up automatically as the files wqould not change and we use relative paths in them

if you want to automate go with using power automate to create new repo and rule for process based on details you provide..the same can be tried is UiPath integrations service azure activities

cheers