Issue and Merge Request Suggestions System
Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.
Description
Allow suggestions to be posted to issuable resources via quick actions and the API.
Proposal
This proposal is for a suggestions feature that allows users to post suggestions for issues and merge requests to voice their opinion and allow follow up from a project maintainer/member.
There is a need to allow non-project members to suggest changes to issues There is a need to allow automated system to post suggestions to issues and merge requests
- Duplicate detection systems
- Label suggestions systems
Suggestions can be posted for the following changes to issuables:
- Add labels
- Remove labels
- Add milestone
- Remove milestone
- Add assignee
- Remove assignee(s)
- Change status
- Duplicate issue
- Weight
A number of identical suggestions could be posted. Should these be combined into similar suggestions or form a separately actionable suggestion?
Once these suggestions are posted, project maintainers will need to be notified to take action.
We could:
- Send a notification upon suggestion creation
- Create a project-level dashboard for actioning suggestions
Posting suggestions via the Web UI
Suggestions would be posted in the web interface using quick actions
/suggest add_labels ~bug ~"reproduced on GitLab.com"
/suggest remove_labels ~"feature proposal"
/suggest change_status closed
/suggest duplicate #issue_number
Posting suggestions via the API
Suggestions could be posted via the API opening up the opportunities to developed external automated suggestion systems
POST /projects/:id/issues/:issue_iid/suggestions
| Attribute | Type | Required | Description |
|---|---|---|---|
add_labels |
string | no | Comma separated list of labels to add |
remove_labels |
string | no | Comma separated list of labels to remove |
add_milestone |
integer | no | The ID of a milestone to assign |
remove_milestone |
integer | no | The ID of a milestone to remove |
assignee_ids |
Array[integer] | no | The IDs of a users to assign |
status_change |
string | no | Represent a status change suggestions |
weight |
integer | no | The weight to assign to the issue |
Notifications of suggestions
Who should be notified of suggestions?
- Subscribe to project suggestions notifications
- New notification level for suggestions
Suggestions dashboard
Something similar to StackOverflows review system but on a project level:
Suggestions dashboard will index all suggestions and whether they have been actioned
Links / references
Documentation blurb
Overview
What is it?
A new suggestions system for allowing users to post suggested actions that should be taken on individual issues and merge requests
Why should someone use this feature?
- To harness the power of their community and external users to suggest changes in their issue tracker
- To employ an external automated system that will help with project management
What is the underlying (business) problem?
Furthering Community involvement and streamlining the issue triage process
How do you use this feature?
Use cases
Who is this for? Provide one or more use cases.
- Project managers and maintainers
Feature checklist
Make sure these are completed before closing the issue, with a link to the relevant commit.
-
Feature assurance -
Documentation -
Added to features.yml