2017-04-01 09:45:17 +00:00
# Discussions
2016-08-16 22:05:10 +00:00
2017-04-01 09:45:17 +00:00
The ability to contribute conversationally is offered throughout GitLab.
## Standard Comments
Standard comments can be added to issues, merge requests, snippets, commits and commit diffs.
## Resolvable Discussions
2016-08-16 22:05:10 +00:00
2017-04-01 09:45:17 +00:00
Resolvable discussions can be added to merge request diffs, merge requests, issues, commits and snippets.
Discussion resolution helps keep track of progress during planning or code review.
2016-08-16 22:05:10 +00:00
Resolving comments prevents you from forgetting to address feedback and lets you
hide discussions that are no longer relevant.
!["A discussion between two people on a piece of code"][discussion-view]
Comments and discussions can be resolved by anyone with at least Developer
2017-04-01 09:45:17 +00:00
access to the project or the author of the merge request.
2016-08-16 22:05:10 +00:00
2017-04-01 09:45:17 +00:00
### Marking a comment or discussion as resolved
2016-08-16 22:05:10 +00:00
You can mark a discussion as resolved by clicking the "Resolve discussion"
button at the bottom of the discussion.
!["Resolve discussion" button][resolve-discussion-button]
Alternatively, you can mark each comment as resolved individually.
!["Resolve comment" button][resolve-comment-button]
2017-04-01 09:45:17 +00:00
### Moving a single discussion to a new issue
> [Introduced][ce-8266] in GitLab 9.1
To create a new issue for a single discussion, you can use the **Resolve this
discussion in a new issue** button.
![Create issue for discussion ](img/new_issue_for_discussion.png )
This will direct you to a new issue prefilled with the content of the
discussion, similar to the issues created for delegating multiple
discussions at once.
![New issue for a single discussion ](img/preview_issue_for_discussion.png )
Saving the issue will mark the discussion as resolved and add a note
to the discussion referencing the new issue.
[ce-5022]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/5022
[ce-7125]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/7125
[ce-7180]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/7180
[ce-8266]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/8266
[resolve-discussion-button]: img/resolve_discussion_button.png
[resolve-comment-button]: img/resolve_comment_button.png
[discussion-view]: img/discussion_view.png
[discussions-resolved]: img/discussions_resolved.png
## Merge request diffs
> [Introduced][ce-5022] in GitLab 8.11.
Discussions can be started on merge request diffs to keep track of progress during code review.
!["A discussion between two people on a piece of code"][discussion-view]
### Jumping between unresolved discussions
2016-08-16 22:05:10 +00:00
When a merge request has a large number of comments it can be difficult to track
what remains unresolved. You can jump between unresolved discussions with the
Jump button next to the Reply field on a discussion.
You can also jump to the first unresolved discussion from the button next to the
resolved discussions tracker.
!["3/4 discussions resolved"][discussions-resolved]
2017-04-01 09:45:17 +00:00
### Only allow merge requests to be merged if all discussions are resolved
2016-10-31 15:00:42 +00:00
> [Introduced][ce-7125] in GitLab 8.14.
2016-10-26 21:21:50 +00:00
You can prevent merge requests from being merged until all discussions are
resolved.
2016-10-31 15:00:42 +00:00
Navigate to your project's settings page, select the
**Only allow merge requests to be merged if all discussions are resolved** check
box and hit **Save** for the changes to take effect.
![Only allow merge if all the discussions are resolved settings ](img/only_allow_merge_if_all_discussions_are_resolved.png )
From now on, you will not be able to merge from the UI until all discussions
are resolved.
![Only allow merge if all the discussions are resolved message ](img/only_allow_merge_if_all_discussions_are_resolved_msg.png )
2017-04-01 09:45:17 +00:00
### Move all unresolved discussions in a merge request to an issue
2016-10-26 21:21:50 +00:00
2017-04-01 09:45:17 +00:00
> [Introduced][ce-8266] in GitLab 9.1
2017-02-27 15:01:56 +00:00
To continue all open discussions in a merge request, click the button **Resolve
all discussions in new issue**
![Open new issue for all unresolved discussions ](img/btn_new_issue_for_all_discussions.png )
2016-10-26 21:21:50 +00:00
2017-02-27 15:01:56 +00:00
Alternatively, when your project only accepts merge requests when all discussions
are resolved, there will be an **open an issue to resolve them later** link in
the merge request-widget.
2016-10-26 21:21:50 +00:00
2017-02-27 15:01:56 +00:00
![Link in merge request widget ](img/resolve_discussion_open_issue.png )
2016-12-22 21:54:08 +00:00
2016-10-26 21:21:50 +00:00
This will prepare an issue with content referring to the merge request and
discussions.
![Issue mentioning discussions in a merge request ](img/preview_issue_for_discussions.png )
Hitting **Submit issue** will cause all discussions to be marked as resolved and
add a note referring to the newly created issue.
2016-12-22 21:54:08 +00:00
![Mark discussions as resolved notice ](img/resolve_discussion_issue_notice.png )
2016-10-26 21:21:50 +00:00
You can now proceed to merge the merge request from the UI.
2016-12-22 12:31:12 +00:00
2017-04-01 09:45:17 +00:00
## Issues, commits, snippets and merge requests
2016-12-22 12:31:12 +00:00
2017-04-01 09:45:17 +00:00
> [Introduced][ce-7527] in GitLab 9.1.
2016-12-22 12:31:12 +00:00
2017-04-01 09:45:17 +00:00
Discussions can be started on issues, commits, snippets and merge requests.
2016-12-22 12:31:12 +00:00
2017-04-07 15:44:02 +00:00
Resolvable discussions can be added to merge request diffs, but discussions can also be added without a diff.
2016-12-22 12:31:12 +00:00
2017-04-07 15:44:02 +00:00
To start a discussion, you can click on the "Comment" button toggle dropdown, select "Start discussion" and click "Start discussion" when you're ready to post the comment.
![Comment type toggle ](img/comment_type_toggle.gif )
This will post a comment with a single thread to allow you to discuss specific comments in greater detail.
![Discussion comment ](img/discussion_comment.png )