Suggested labels
Description including problem, use cases, benefits, and/or goals
Maintaining the labels of issues is super important to contributors as it helps define a workflow, which allows contributors to make less decisions regarding their workflow, which in turn allows them to become more productive.
To help speed up the process of managing issues and their labels, it would be awesome to receive 'suggested labels' whilst creating an issue or MR.
Proposal
This would use the data that the user has entered whilst creating the issue/MR and will return a subset of labels that seem most relevant to that data. The new endpoint /projects/:id/labels/suggested?params=...
(maybe?) would be hooked up to AJAX on the creation pages so that as the user edits the issue or MR it would update the suggested labels. This can also be added to the ruby hash that is rendered or persisted to a model so that users maintaining an issues tracker can quickly go through issues, click edit, view the suggested labels, select the most relevant and save.
Some key areas for the backend to determine suggested labels include:
- text tags in the title (
BUG: My Tanuki sleeps too much
would suggest gitlab-ce~2278648) - label markdown in the description (
~UX
would suggest gitlab-ce~2024184) - In the future: Rank crossreferences of substrings between a labels description and an issue/MRs description
Originally I thought this could be shown under the labels box where the 'Create new label` link is...
But then I realised it could be cool to put them in the new labels dropdown, at the top in a divided/titled section of the dropdown.