No-code Workflow Automation - Oct 31st, 2022 Update
Recording
Progress
Workflow automation based on GitLab Triage Gem as a MVC.
Why workflow automation?
As mentioned in the previous update (#22 (closed)), many teams use GitLab form their own business processes around the work items' status updates. For example, applying a backlog
label to an issue acknowledges the feature request.
At GitLab, we automate a total of ~130 rules, both reactive and scheduled, that drive our day-to-day operations. However, our customers find it hard to justify the overhead to setup Triage Ops and demand the equivalent capability out of the box, i.e. gitlab-org&636
@gweaver from Plan:Project Management
has put together an excellent summary of his vision here: #7 (comment 1134835591)
Some of the most upvoted issues:
How does it relate to low-code / no-code?
Popular tools such as Zapier and Workato have proven the value of visual workflow builder in simplifying business automation for both technical and non-technical people. I believe that a similar model can significantly benefit GitLab users and allow them to be in charge of their processes and drive efficiency.
The MVC approach
It requires significant effort to build a Zapier equivalent in GitLab, but we have to start from somewhere. One option is to build from the ground up by rolling out an event-driven architecture with an event bus, standardized event schemas, encoding protocols, routing strategy, transformation, rule languages and visual builder. Another option is to focus on the user value by introducing MVC that delivers customer value immediately while building up the confidence for investing in the foundation.
The question is, do we have a viable MVC to pursue? The answer is yes.
GitLab Triage has been in service for 5 years with a rich set of declarative rules (17 conditions, 11 actions) and the extensibility through Ruby expression and plugin systems. In my opinion, the gem is a great starting point to bring highly configurable workflow automation to the users' fingertips.
Demo
https://youtu.be/L_pvpjtYdLk?t=118
Limitations
Some gaps need to be closed during productionization:
- It would be nice if we could remove the manual token configuration as you see in the demo.
- We need to find a way to bring automation from the project level to the group level.
- The execution is currently based on polling, therefore, inefficient. We should modify the triage gem to process payload on-demand. That shouldn't be too hard tho.
- Another concern is the circular execution when one update triggers another indefinitely. We need to find a way to prevent that.
- We need to figure out how to enable users to monitor the workflow execution for debugging purposes.
- I'm reusing the CI template editor for editing workflows. We need to generalise that component.
- It would be nice to support validation and test run in the workflow editor.
This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.