Create workflow key-value labels
With https://gitlab.com/gitlab-org/gitlab-ee/issues/9175, we will have key-value labels, that are mutually exclusive. With https://gitlab.com/gitlab-org/gitlab-ee/issues/9364, we will have a way to display key-value labels in its own section in a sidebar.
With this approach, users can already use key-value labels to serve as custom workflow states.
This issue generates a set of key-value labels to help users jump start this approach.
There is a button in the issues list UI to generate a default set of workflow key-value labels, which will be:
workflow:ready
workflow:development
workflow:review
workflow:done
When you click the button, it will generate these four labels automatically, and make sure the toggle is set such that workflow:
is set to be in its own section, i.e. "on" for https://gitlab.com/gitlab-org/gitlab-ee/issues/9364 for workflow:
.
If one or more of these workflows already exist, GitLab will just simply ignore that part of the command. (I.e. the operation is idempotent per label.)
Additional background
This will help users have custom workflows using key-value labels. Because key-value labels are mutually exclusive per key, we can guarantee that the states are mutually exclusive per issue. An in particular, if an issue doesn't have one of those labels in that key set applied, that can be a "state" as well. It's simply the "none" state, which users can treat as the first state if they want. So from this perspective, there's no need for an explicit "required" label attribute.