Integrating source control in UiPath
Are you tired of looking for the latest robot version or asking your colleagues for the latest version of theirs? Are you tired of digging through a ton of folders or filenames like Final_v1, NewFinal, Revison2_v3_final? Well then, maybe it is time to look for a proper source control system.
What is source control?
Whether you are building a simple RPA solution on your own or you're collaborating on a significant development project as part of a team, source control is a crucial aspect of any development phase. Source control, or sometimes referred to as version control, is the practice of tracking and managing changes to your code. Source control management systems allow their users to see a full revision history of their project, any changes are tracked, and the project can always be rolled back to a previous (working) version. In essence, it creates a central source for all the different versions of the project.
Benefits of source control systems:
👉🏼 A complete change history of every file: any file that is added, removed or edited is logged in the system, together with information on the author of the changes (name, date and any notes that were added). Having a full history of all the project changes allows for root-cause analyses of bugs and rollbacks to previous versions.
👉🏼 Branching & merging: a popular feature to allow concurrent work is branching, it's like creating a copy of some code or files that one or more people can work on without interfering with the code or files that you took a copy off. When you are done working on a branch (e.g. you have implemented and tested the feature that you have added on your branch), you can add (merge) your work back to the original file to add the work that you have just completed.
👉🏼 Traceability: source control is also handy to keep track of which version of the robot is currently in development, QA, and production.
👉🏼 Collaboration: source control facilitates code review and allows smooth cooperation with colleague developers. Furthermore, if a new developer joins the team, they can easily download the latest version of the project and start immediately.
While development without any source control is possible, it is not recommended since it opens you/the team up to extensive risk. So, the real question is not whether to implement source control in your development, but what kind of source control system fits best for your needs?
Integration with UiPath
There are many kinds of source control systems (centralized, distributed, etc.) which operate in a similar but slightly different way, but that is outside the scope of this article and would deserve its own blog post. Let's focus today on the three different systems that can be integrated into UiPath (version 2019.3 and up): GIT, SVN, and TFS.
After launching the UiPath studio, you navigate to the 'start menu' and click on the sub-item 'Team'. On this screen (picture 1), you'll see an overview of the supported source control systems.
When you open UiPath Studio and go to the start menu, and Team sub-menu left-hand side, you can see all the available options to integrate with a source control system (Picture 1).
As you can see, all three options have the same three basic functionalities: 1) Copy a project from an existing repository. 2) Add the project to an existing repository. 3) Disconnecting the current project from the repository.
Find some more information about connection and project setup with these three different VCS' here:
After following the instructions to connect[VT1] to one of these three source control systems, you can now see some extra icons appear in our project view. In the following example, we use a connection with git. The first thing to notice is that a "P" icon has appeared at the name of your project and when you modify files and save them, a pencil icon appears next to it, indicating that the file has been modified compared to the repository version. If you click at the right in the project view, you can also see more options appearing in the menu: push, pull, commit, etc. (image 2). These are all the options that you will need to use in order to work with the source control system properly.
Now that you have your source control system set up with just a few clicks you are ready to start developing RPA bots without the worries of organizing your files manually since everything will be saved to our repository.
For more information on all the available options in UiPath for source control, please reach out to us! 🤖🐸