Option to create issue with all unresolved discussions from an MR
Not all discussions on MR diffs need to be resolved right away, before the merge request can be merged. Some suggest changes about the code or functionality, that (after some discussion) are deemed more fit for a second iteration of the feature, allowing the original merge request to be merged sooner.
Currently, we create an issue with follow-up tasks, mark all discussions in the MR as resolved, and merge the merge request:
- https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/645 with follow-up in https://gitlab.com/gitlab-org/gitlab-ee/issues/1137
- https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/6425 with follow-up in https://gitlab.com/gitlab-org/gitlab-ce/issues/23586
I think it would be really useful if there was an option for the MR reviewer (and only the merge request reviewer, i.e. someone with push access to the target branch) to instantly create an issue with all of the unresolved discussions, and to automatically resolve these discussions, so that the merge request can be merged without that persisting "N/M discussions resolved" message (where N < M
), and without needing to remember to create follow-up issues for all of those unresolved discussions.
Clicking the button/link/whatever could send us to the "New issue page" pre-filled with text formatted similarly to https://gitlab.com/gitlab-org/gitlab-ce/issues/23586. I don't think it should just create that issue immediately, so that the text can be tweaked, with better descriptions, or reordered by priority.
If we had this, we could also enable the "Only allow merge requests to be merged if all discussions are resolved" feature that's being worked on in https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/6385, so that we can never forget to fix a problem, or at least create a new issue about it.
This is somewhat similar to https://gitlab.com/gitlab-org/gitlab-ce/issues/15370, but that requires you to know that the suggestion you're about to write is not going to make it into this MR at the moment you create the note, which is not always the case as MR scope gets decreased or as issues are deemed more work than initially imagined.
UX wise, I think this could be a link in the "Merge Widget" when the MR cannot be merged:
And/or a button by the "N/M discussions resolved" widget:
In line with that, it would be awesome to have a similar button with every individual discussion:
Obviously I'm not a UX designer, and the button is much too easy to accidentally hit instead of the much more frequently used "Jump to next unresolved discussion" button, but that's what I'm seeing in my head right now :)