Software development (DevOps) pipelines for robotic process automation
In some embodiments, an RPA design interface exposes a set of DevOps activities for creating a DevOps pipeline. Exemplary DevOps activities include activities for pulling a target RPA workflow from a code repository, testing, building, and deploying the respective RPA workflow to a client's production environment. The pipeline may then be executed by conventional RPA robots, as any other RPA workflow. Endowing an RPA design tool with DevOps functionality substantially facilitates RPA development by enabling RPA developers to carry out DevOps without requiring specialized knowledge of DevOps software. Some embodiments further enable RPA developers to create complex DevOps pipelines combining DevOps activities with other robotic activities, such as interacting with GUIs, spreadsheets, and electronic communication applications, among others.
1 . A computer system comprising at least one hardware processor configured to execute a robotic process automation (RPA) design application configured to:
expose a first activity menu including RPA activities for constructing a target RPA workflow;
expose a second activity menu including software development operations (DevOps) activities including:
a code analysis activity for determining whether the target RPA workflow complies with a set of code writing rules,
a merge activity for merging multiple versions of the target RPA workflow,
a build activity for compiling the target RPA workflow into an executable package, and
a deployment activity for deploying the RPA workflow to a target computing environment; and
in response to a user input selecting an RPA activity from the first activity menu and a DevOps activity from the second activity menu, output a computer-readable specification of a pipeline workflow for carrying out software development operations on the target RPA workflow, the pipeline workflow comprising a sequence of activities including the RPA activity and the DevOps activity.
2 . The computer system of claim 1 , wherein the RPA activity comprises a robotic activity mimicking an interaction of a human user with a graphical user interface.
3 . The computer system of claim 1 , wherein the RPA activity comprises a robotic activity mimicking an interaction of a human user with a spreadsheet.
4 . The computer system of claim 1 , wherein the first and second activity menus are co-displayed within a window exposed by the RPA design application.
5 . The computer system of claim 1 , wherein user interface (UI) controls for exposing the first and second activity menus are co-displayed within a window exposed by the RPA design application.
6 . The computer system of claim 1 , wherein the at least one hardware processor is further configured to execute an RPA robot configured to carry out the pipeline workflow.
7 . The computer system of claim 1 , wherein the RPA design application is further configured to display a diagram of the pipeline workflow comprising a graphical symbol for the RPA activity and another graphical symbol for the DevOps activity.
8 . The computer system of claim 1 , wherein the at least one hardware processor is further configured to expose a DevOps management interface configured to display a progress of execution of the pipeline workflow.
9 . The computer system of claim 1 , wherein the at least one hardware processor is further configured to expose a DevOps management interface configured to expose a control for defining a trigger for executing the pipeline workflow.
10 . A method comprising employing at least one hardware processor configured to execute an RPA design application configured to:
expose a first activity menu including RPA activities for constructing a target RPA workflow;
expose a second activity menu including DevOps activities including:
a code analysis activity for determining whether the target RPA workflow complies with a set of code writing rules,
a merge activity for merging multiple versions of the target RPA workflow,
a build activity for compiling the target RPA workflow into an executable package, and
a deployment activity for deploying the RPA workflow to a target computing environment; and
in response to a user input selecting an RPA activity from the first activity menu and a DevOps activity from the second activity menu, output a computer-readable specification of a pipeline workflow for carrying out software development operations on the target RPA workflow, the pipeline workflow comprising a sequence of activities including the RPA activity and the DevOps activity.
11 . The method of claim 10 , wherein the RPA activity comprises a robotic activity mimicking an interaction of a human user with a graphical user interface.
12 . The method of claim 10 , wherein the RPA activity comprises a robotic activity mimicking an interaction of a human user with a spreadsheet.
13 . The method of claim 10 , wherein the first and second activity menus are co-displayed within a window exposed by the RPA design application.
14 . The method of claim 10 , wherein UI controls for exposing the first and second activity menus are co-displayed within a window exposed by the RPA design application.
15 . The method of claim 10 , further comprising employing the at least one hardware processor to execute an RPA robot configured to carry out the pipeline workflow.
16 . The method of claim 10 , wherein the RPA design application is further configured to display a diagram of the pipeline workflow comprising a graphical symbol for the RPA activity and another graphical symbol for the DevOps activity.
17 . The method of claim 10 , further comprising employing the at least one hardware processor to expose a DevOps management interface configured to display a progress of execution of the pipeline workflow.
18 . The method of claim 10 , further comprising employing the at least one hardware processor to expose a DevOps management interface configured to expose a control for defining a trigger for executing the pipeline workflow.
19 . A non-transitory computer-readable medium storing instructions which, when executed by at least one hardware processor of a computer system, cause the computer system to form an RPA design application configured to:
expose a first activity menu including RPA activities for constructing a target RPA workflow;
expose a second activity menu including DevOps activities including:
a code analysis activity for determining whether the target RPA workflow complies with a set of code writing rules,
a merge activity for merging multiple versions of the target RPA workflow,
a build activity for compiling the target RPA workflow into an executable package, and
a deployment activity for deploying the RPA workflow to a target computing environment; and
in response to a user input selecting an RPA activity from the first activity menu and a DevOps activity from the second activity menu, output a computer-readable specification of a pipeline workflow for carrying out software development operations on the target RPA workflow, the pipeline workflow comprising a sequence of activities including the RPA activity and the DevOps activity.