Machine learning to predict and offer next label to apply
We've considered a few times of using machine learning (AI more generally) how to improve GitLab. It's not clear if there are clear benefits just yet. One example is gitlab-ce#19369.
This is a very specific proposal which I think one could implement using a very straightforward machine learning algorithm/library.
Background: Often times as a user, I am labeling an issue ~Plan and then I might label it ~"devops:plan" and then maybe label it issues in GitLab Community Edition. Sometimes I do it in the sidebar one by one. Sometimes all at once. Sometimes with quick actions.
Proposal: After I have applied a label (or labels) to an issue/mr/epic (and the page refreshes), GitLab asks if I want to apply another label (or maybe several labels). I get to choose quickly with a few clicks and submit. This is similar to how chat apps often have buttons to allow users to quickly tap and choose. (See screenshot below example of what I found online.) We can apply the same concept/user flow to applying labels (as a first iteration), and expand to more general use cases of adding/changing metadata on objects throughout GitLab.
As a first iteration, we could maybe find some cluster analysis algorithm and see which labels often appear together in a given issue. And then later on, it can be more specific to users, and even time-based.
Always show label suggestions in the sidebar itself. So if I have the issues in GitLab Community Edition label already applied, GitLab will make it super easy for me to immediately probably apply ~Plan and ~”devops:Plan”. This proposal is probably easier to design and build. But it won’t be as a streamlined experience as the first proposal.