Wanted to share some work related to managing quality control of workflows:
This provides the ability to write “linting” or validation rules in just a few lines of script.
You can then plug this into the modeler, ode, your deployment API, CI, and anywhere else you want to control the quality and design of the workflows.
When writing the scripts (kotlin script) you get the typed Classes of the Model API and can make broad to very targeted rules as you see fit.
As one of the most common linting rules I have found a need for with zeebe is alignment of headers and Service Task types. You can easily build a linting rule that targets service tasks that have a specific type configuration, and then set required, optional, no duplicates, and allow extra headers. You can extend this to any style of conditions you want to return.