Merge branch 'issue/55953-docs' into 'master'
Rename "discussions" to "threads" in docs See merge request gitlab-org/gitlab-ce!30037
|
@ -108,7 +108,7 @@ The following documentation relates to the DevOps **Plan** stage:
|
|||
| Plan Topics | Description |
|
||||
|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| [Burndown Charts](user/project/milestones/burndown_charts.md) **(STARTER)** | Watch your project's progress throughout a specific milestone. |
|
||||
| [Discussions](user/discussions/index.md) | Threads, comments, and resolvable discussions in issues, commits, and merge requests. |
|
||||
| [Discussions](user/discussions/index.md) | Threads, comments, and resolvable threads in issues, commits, and merge requests. |
|
||||
| [Due Dates](user/project/issues/due_dates.md) | Keep track of issue deadlines. |
|
||||
| [Epics](user/group/epics/index.md) **(ULTIMATE)** | Tracking groups of issues that share a theme. |
|
||||
| [Issues](user/project/issues/index.md), including [confidential issues](user/project/issues/confidential_issues.md),<br/>[issue and merge request templates](user/project/description_templates.md),<br/>and [moving issues](user/project/issues/managing_issues.md#moving-issues) | Project issues, restricting access to issues, create templates for submitting new issues and merge requests, and moving issues between projects. |
|
||||
|
@ -192,7 +192,7 @@ The following documentation relates to the DevOps **Create** stage:
|
|||
|:------------------------------------------------------------------------------------------------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| [Checking out merge requests locally](user/project/merge_requests/index.md#checkout-merge-requests-locally) | Tips for working with merge requests locally. |
|
||||
| [Cherry-picking](user/project/merge_requests/cherry_pick_changes.md) | Use GitLab for cherry-picking changes. |
|
||||
| [Merge request discussion resolution](user/discussions/index.md#moving-a-single-discussion-to-a-new-issue) | Resolve discussions, move discussions in a merge request to an issue, and only allow merge requests to be merged if all discussions are resolved. |
|
||||
| [Merge request thread resolution](user/discussions/index.md#moving-a-single-thread-to-a-new-issue) | Resolve threads, move threads in a merge request to an issue, and only allow merge requests to be merged if all threads are resolved. |
|
||||
| [Merge requests](user/project/merge_requests/index.md) | Merge request management. |
|
||||
| [Work In Progress "WIP" merge requests](user/project/merge_requests/work_in_progress_merge_requests.md) | Prevent merges of work-in-progress merge requests. |
|
||||
|
||||
|
|
|
@ -12,16 +12,15 @@ This includes system notes, which are notes about changes to the object (for exa
|
|||
|
||||
## Discussions pagination
|
||||
|
||||
By default, `GET` requests return 20 results at a time because the API results
|
||||
are paginated.
|
||||
By default, `GET` requests return 20 results at a time because the API results are paginated.
|
||||
|
||||
Read more on [pagination](README.md#pagination).
|
||||
|
||||
## Issues
|
||||
|
||||
### List project issue discussions
|
||||
### List project issue discussion items
|
||||
|
||||
Gets a list of all discussions for a single issue.
|
||||
Gets a list of all discussion items for a single issue.
|
||||
|
||||
```
|
||||
GET /projects/:id/issues/:issue_iid/discussions
|
||||
|
@ -115,9 +114,9 @@ GET /projects/:id/issues/:issue_iid/discussions
|
|||
curl --request GET --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/projects/5/issues/11/discussions
|
||||
```
|
||||
|
||||
### Get single issue discussion
|
||||
### Get single issue discussion item
|
||||
|
||||
Returns a single discussion for a specific project issue
|
||||
Returns a single discussion item for a specific project issue
|
||||
|
||||
```
|
||||
GET /projects/:id/issues/:issue_iid/discussions/:discussion_id
|
||||
|
@ -129,16 +128,15 @@ Parameters:
|
|||
| --------------- | -------------- | -------- | ----------- |
|
||||
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
|
||||
| `issue_iid` | integer | yes | The IID of an issue |
|
||||
| `discussion_id` | integer | yes | The ID of a discussion |
|
||||
| `discussion_id` | integer | yes | The ID of a discussion item |
|
||||
|
||||
```bash
|
||||
curl --request GET --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/projects/5/issues/11/discussions/6a9c1750b37d513a43987b574953fceb50b03ce7
|
||||
```
|
||||
|
||||
### Create new issue discussion
|
||||
### Create new issue thread
|
||||
|
||||
Creates a new discussion to a single project issue. This is similar to creating
|
||||
a note but other comments (replies) can be added to it later.
|
||||
Creates a new thread to a single project issue. This is similar to creating a note but other comments (replies) can be added to it later.
|
||||
|
||||
```
|
||||
POST /projects/:id/issues/:issue_iid/discussions
|
||||
|
@ -150,17 +148,19 @@ Parameters:
|
|||
| --------------- | -------------- | -------- | ----------- |
|
||||
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
|
||||
| `issue_iid` | integer | yes | The IID of an issue |
|
||||
| `body` | string | yes | The content of a discussion |
|
||||
| `body` | string | yes | The content of the thread |
|
||||
| `created_at` | string | no | Date time string, ISO 8601 formatted, e.g. 2016-03-11T03:45:40Z (requires admin or project/group owner rights) |
|
||||
|
||||
```bash
|
||||
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/projects/5/issues/11/discussions?body=comment
|
||||
```
|
||||
|
||||
### Add note to existing issue discussion
|
||||
### Add note to existing issue thread
|
||||
|
||||
Adds a new note to the discussion. This can also
|
||||
[create a discussion from a single comment](../user/discussions/#start-a-discussion-by-replying-to-a-standard-comment).
|
||||
Adds a new note to the thread. This can also [create a thread from a single comment](../user/discussions/#start-a-thread-by-replying-to-a-standard-comment).
|
||||
|
||||
**WARNING**
|
||||
Notes can be added to other items than comments (system notes, etc.) making them threads.
|
||||
|
||||
```
|
||||
POST /projects/:id/issues/:issue_iid/discussions/:discussion_id/notes
|
||||
|
@ -172,18 +172,18 @@ Parameters:
|
|||
| --------------- | -------------- | -------- | ----------- |
|
||||
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
|
||||
| `issue_iid` | integer | yes | The IID of an issue |
|
||||
| `discussion_id` | integer | yes | The ID of a discussion |
|
||||
| `note_id` | integer | yes | The ID of a discussion note |
|
||||
| `body` | string | yes | The content of a discussion |
|
||||
| `discussion_id` | integer | yes | The ID of a thread |
|
||||
| `note_id` | integer | yes | The ID of a thread note |
|
||||
| `body` | string | yes | The content of the note/reply |
|
||||
| `created_at` | string | no | Date time string, ISO 8601 formatted, e.g. 2016-03-11T03:45:40Z (requires admin or project/group owner rights) |
|
||||
|
||||
```bash
|
||||
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/projects/5/issues/11/discussions/6a9c1750b37d513a43987b574953fceb50b03ce7/notes?body=comment
|
||||
```
|
||||
|
||||
### Modify existing issue discussion note
|
||||
### Modify existing issue thread note
|
||||
|
||||
Modify existing discussion note of an issue.
|
||||
Modify existing thread note of an issue.
|
||||
|
||||
```
|
||||
PUT /projects/:id/issues/:issue_iid/discussions/:discussion_id/notes/:note_id
|
||||
|
@ -195,17 +195,17 @@ Parameters:
|
|||
| --------------- | -------------- | -------- | ----------- |
|
||||
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
|
||||
| `issue_iid` | integer | yes | The IID of an issue |
|
||||
| `discussion_id` | integer | yes | The ID of a discussion |
|
||||
| `note_id` | integer | yes | The ID of a discussion note |
|
||||
| `body` | string | yes | The content of a discussion |
|
||||
| `discussion_id` | integer | yes | The ID of a thread |
|
||||
| `note_id` | integer | yes | The ID of a thread note |
|
||||
| `body` | string | yes | The content of the note/reply |
|
||||
|
||||
```bash
|
||||
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/projects/5/issues/11/discussions/6a9c1750b37d513a43987b574953fceb50b03ce7/notes/1108?body=comment
|
||||
```
|
||||
|
||||
### Delete an issue discussion note
|
||||
### Delete an issue thread note
|
||||
|
||||
Deletes an existing discussion note of an issue.
|
||||
Deletes an existing thread note of an issue.
|
||||
|
||||
```
|
||||
DELETE /projects/:id/issues/:issue_iid/discussions/:discussion_id/notes/:note_id
|
||||
|
@ -226,9 +226,9 @@ curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" https://gitl
|
|||
|
||||
## Snippets
|
||||
|
||||
### List project snippet discussions
|
||||
### List project snippet discussion items
|
||||
|
||||
Gets a list of all discussions for a single snippet.
|
||||
Gets a list of all discussion items for a single snippet.
|
||||
|
||||
```
|
||||
GET /projects/:id/snippets/:snippet_id/discussions
|
||||
|
@ -322,9 +322,9 @@ GET /projects/:id/snippets/:snippet_id/discussions
|
|||
curl --request GET --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/projects/5/snippets/11/discussions
|
||||
```
|
||||
|
||||
### Get single snippet discussion
|
||||
### Get single snippet discussion item
|
||||
|
||||
Returns a single discussion for a specific project snippet
|
||||
Returns a single discussion item for a specific project snippet
|
||||
|
||||
```
|
||||
GET /projects/:id/snippets/:snippet_id/discussions/:discussion_id
|
||||
|
@ -336,15 +336,15 @@ Parameters:
|
|||
| --------------- | -------------- | -------- | ----------- |
|
||||
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
|
||||
| `snippet_id` | integer | yes | The ID of an snippet |
|
||||
| `discussion_id` | integer | yes | The ID of a discussion |
|
||||
| `discussion_id` | integer | yes | The ID of a discussion item |
|
||||
|
||||
```bash
|
||||
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/projects/5/snippets/11/discussions/6a9c1750b37d513a43987b574953fceb50b03ce7
|
||||
```
|
||||
|
||||
### Create new snippet discussion
|
||||
### Create new snippet thread
|
||||
|
||||
Creates a new discussion to a single project snippet. This is similar to creating
|
||||
Creates a new thread to a single project snippet. This is similar to creating
|
||||
a note but other comments (replies) can be added to it later.
|
||||
|
||||
```
|
||||
|
@ -364,9 +364,9 @@ Parameters:
|
|||
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/projects/5/snippets/11/discussions?body=comment
|
||||
```
|
||||
|
||||
### Add note to existing snippet discussion
|
||||
### Add note to existing snippet thread
|
||||
|
||||
Adds a new note to the discussion.
|
||||
Adds a new note to the thread.
|
||||
|
||||
```
|
||||
POST /projects/:id/snippets/:snippet_id/discussions/:discussion_id/notes
|
||||
|
@ -378,18 +378,18 @@ Parameters:
|
|||
| --------------- | -------------- | -------- | ----------- |
|
||||
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
|
||||
| `snippet_id` | integer | yes | The ID of an snippet |
|
||||
| `discussion_id` | integer | yes | The ID of a discussion |
|
||||
| `note_id` | integer | yes | The ID of a discussion note |
|
||||
| `body` | string | yes | The content of a discussion |
|
||||
| `discussion_id` | integer | yes | The ID of a thread |
|
||||
| `note_id` | integer | yes | The ID of a thread note |
|
||||
| `body` | string | yes | The content of the note/reply |
|
||||
| `created_at` | string | no | Date time string, ISO 8601 formatted, e.g. 2016-03-11T03:45:40Z (requires admin or project/group owner rights) |
|
||||
|
||||
```bash
|
||||
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/projects/5/snippets/11/discussions/6a9c1750b37d513a43987b574953fceb50b03ce7/notes?body=comment
|
||||
```
|
||||
|
||||
### Modify existing snippet discussion note
|
||||
### Modify existing snippet thread note
|
||||
|
||||
Modify existing discussion note of an snippet.
|
||||
Modify existing thread note of a snippet.
|
||||
|
||||
```
|
||||
PUT /projects/:id/snippets/:snippet_id/discussions/:discussion_id/notes/:note_id
|
||||
|
@ -401,17 +401,17 @@ Parameters:
|
|||
| --------------- | -------------- | -------- | ----------- |
|
||||
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
|
||||
| `snippet_id` | integer | yes | The ID of an snippet |
|
||||
| `discussion_id` | integer | yes | The ID of a discussion |
|
||||
| `note_id` | integer | yes | The ID of a discussion note |
|
||||
| `body` | string | yes | The content of a discussion |
|
||||
| `discussion_id` | integer | yes | The ID of a thread |
|
||||
| `note_id` | integer | yes | The ID of a thread note |
|
||||
| `body` | string | yes | The content of the note/reply |
|
||||
|
||||
```bash
|
||||
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/projects/5/snippets/11/discussions/6a9c1750b37d513a43987b574953fceb50b03ce7/notes/1108?body=comment
|
||||
```
|
||||
|
||||
### Delete an snippet discussion note
|
||||
### Delete a snippet thread note
|
||||
|
||||
Deletes an existing discussion note of an snippet.
|
||||
Deletes an existing thread note of a snippet.
|
||||
|
||||
```
|
||||
DELETE /projects/:id/snippets/:snippet_id/discussions/:discussion_id/notes/:note_id
|
||||
|
@ -432,9 +432,9 @@ curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" https://gitl
|
|||
|
||||
## Epics **(ULTIMATE)**
|
||||
|
||||
### List group epic discussions
|
||||
### List group epic discussion items
|
||||
|
||||
Gets a list of all discussions for a single epic.
|
||||
Gets a list of all discussion items for a single epic.
|
||||
|
||||
```
|
||||
GET /groups/:id/epics/:epic_id/discussions
|
||||
|
@ -529,9 +529,9 @@ GET /groups/:id/epics/:epic_id/discussions
|
|||
curl --request GET --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/groups/5/epics/11/discussions
|
||||
```
|
||||
|
||||
### Get single epic discussion
|
||||
### Get single epic discussion item
|
||||
|
||||
Returns a single discussion for a specific group epic
|
||||
Returns a single discussion item for a specific group epic
|
||||
|
||||
```
|
||||
GET /groups/:id/epics/:epic_id/discussions/:discussion_id
|
||||
|
@ -543,16 +543,16 @@ Parameters:
|
|||
| --------------- | -------------- | -------- | ----------- |
|
||||
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](README.md#namespaced-path-encoding) |
|
||||
| `epic_id` | integer | yes | The ID of an epic |
|
||||
| `discussion_id` | integer | yes | The ID of a discussion |
|
||||
| `discussion_id` | integer | yes | The ID of a discussion item |
|
||||
|
||||
```bash
|
||||
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/groups/5/epics/11/discussions/6a9c1750b37d513a43987b574953fceb50b03ce7
|
||||
```
|
||||
|
||||
### Create new epic discussion
|
||||
### Create new epic thread
|
||||
|
||||
Creates a new discussion to a single group epic. This is similar to creating
|
||||
a note but but another comments (replies) can be added to it later.
|
||||
Creates a new thread to a single group epic. This is similar to creating
|
||||
a note but but other comments (replies) can be added to it later.
|
||||
|
||||
```
|
||||
POST /groups/:id/epics/:epic_id/discussions
|
||||
|
@ -564,17 +564,17 @@ Parameters:
|
|||
| --------------- | -------------- | -------- | ----------- |
|
||||
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](README.md#namespaced-path-encoding) |
|
||||
| `epic_id` | integer | yes | The ID of an epic |
|
||||
| `body` | string | yes | The content of a discussion |
|
||||
| `body` | string | yes | The content of the thread |
|
||||
| `created_at` | string | no | Date time string, ISO 8601 formatted, e.g. 2016-03-11T03:45:40Z (requires admin or project/group owner rights) |
|
||||
|
||||
```bash
|
||||
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/groups/5/epics/11/discussions?body=comment
|
||||
```
|
||||
|
||||
### Add note to existing epic discussion
|
||||
### Add note to existing epic thread
|
||||
|
||||
Adds a new note to the discussion. This can also
|
||||
[create a discussion from a single comment](../user/discussions/#start-a-discussion-by-replying-to-a-standard-comment).
|
||||
Adds a new note to the thread. This can also
|
||||
[create a thread from a single comment](../user/discussions/#start-a-thread-by-replying-to-a-standard-comment).
|
||||
|
||||
```
|
||||
POST /groups/:id/epics/:epic_id/discussions/:discussion_id/notes
|
||||
|
@ -585,19 +585,19 @@ Parameters:
|
|||
| Attribute | Type | Required | Description |
|
||||
| --------------- | -------------- | -------- | ----------- |
|
||||
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](README.md#namespaced-path-encoding) |
|
||||
| `epic_id` | integer | yes | The ID of an epic |
|
||||
| `discussion_id` | integer | yes | The ID of a discussion |
|
||||
| `note_id` | integer | yes | The ID of a discussion note |
|
||||
| `body` | string | yes | The content of a discussion |
|
||||
| `epic_id` | integer | yes | The ID of an epic |
|
||||
| `discussion_id` | integer | yes | The ID of a thread |
|
||||
| `note_id` | integer | yes | The ID of a thread note |
|
||||
| `body` | string | yes | The content of the note/reply |
|
||||
| `created_at` | string | no | Date time string, ISO 8601 formatted, e.g. 2016-03-11T03:45:40Z (requires admin or project/group owner rights) |
|
||||
|
||||
```bash
|
||||
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/groups/5/epics/11/discussions/6a9c1750b37d513a43987b574953fceb50b03ce7/notes?body=comment
|
||||
```
|
||||
|
||||
### Modify existing epic discussion note
|
||||
### Modify existing epic thread note
|
||||
|
||||
Modify existing discussion note of an epic.
|
||||
Modify existing thread note of an epic.
|
||||
|
||||
```
|
||||
PUT /groups/:id/epics/:epic_id/discussions/:discussion_id/notes/:note_id
|
||||
|
@ -609,17 +609,17 @@ Parameters:
|
|||
| --------------- | -------------- | -------- | ----------- |
|
||||
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](README.md#namespaced-path-encoding) |
|
||||
| `epic_id` | integer | yes | The ID of an epic |
|
||||
| `discussion_id` | integer | yes | The ID of a discussion |
|
||||
| `note_id` | integer | yes | The ID of a discussion note |
|
||||
| `body` | string | yes | The content of a discussion |
|
||||
| `discussion_id` | integer | yes | The ID of a thread |
|
||||
| `note_id` | integer | yes | The ID of a thread note |
|
||||
| `body` | string | yes | The content of note/reply |
|
||||
|
||||
```bash
|
||||
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/groups/5/epics/11/discussions/6a9c1750b37d513a43987b574953fceb50b03ce7/notes/1108?body=comment
|
||||
```
|
||||
|
||||
### Delete an epic discussion note
|
||||
### Delete an epic thread note
|
||||
|
||||
Deletes an existing discussion note of an epic.
|
||||
Deletes an existing thread note of an epic.
|
||||
|
||||
```
|
||||
DELETE /groups/:id/epics/:epic_id/discussions/:discussion_id/notes/:note_id
|
||||
|
@ -631,8 +631,8 @@ Parameters:
|
|||
| --------------- | -------------- | -------- | ----------- |
|
||||
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](README.md#namespaced-path-encoding) |
|
||||
| `epic_id` | integer | yes | The ID of an epic |
|
||||
| `discussion_id` | integer | yes | The ID of a discussion |
|
||||
| `note_id` | integer | yes | The ID of a discussion note |
|
||||
| `discussion_id` | integer | yes | The ID of a thread |
|
||||
| `note_id` | integer | yes | The ID of a thread note |
|
||||
|
||||
```bash
|
||||
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/groups/5/epics/11/discussions/636
|
||||
|
@ -640,9 +640,9 @@ curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" https://gitl
|
|||
|
||||
## Merge requests
|
||||
|
||||
### List project merge request discussions
|
||||
### List project merge request discussion items
|
||||
|
||||
Gets a list of all discussions for a single merge request.
|
||||
Gets a list of all discussion items for a single merge request.
|
||||
|
||||
```
|
||||
GET /projects/:id/merge_requests/:merge_request_iid/discussions
|
||||
|
@ -789,9 +789,9 @@ Diff comments contain also position:
|
|||
curl --request GET --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/projects/5/merge_requests/11/discussions
|
||||
```
|
||||
|
||||
### Get single merge request discussion
|
||||
### Get single merge request discussion item
|
||||
|
||||
Returns a single discussion for a specific project merge request
|
||||
Returns a single discussion item for a specific project merge request
|
||||
|
||||
```
|
||||
GET /projects/:id/merge_requests/:merge_request_iid/discussions/:discussion_id
|
||||
|
@ -803,15 +803,15 @@ Parameters:
|
|||
| ------------------- | -------------- | -------- | ----------- |
|
||||
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
|
||||
| `merge_request_iid` | integer | yes | The IID of a merge request |
|
||||
| `discussion_id` | integer | yes | The ID of a discussion |
|
||||
| `discussion_id` | integer | yes | The ID of a discussion item |
|
||||
|
||||
```bash
|
||||
curl --request GET --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/projects/5/merge_requests/11/discussions/6a9c1750b37d513a43987b574953fceb50b03ce7
|
||||
```
|
||||
|
||||
### Create new merge request discussion
|
||||
### Create new merge request thread
|
||||
|
||||
Creates a new discussion to a single project merge request. This is similar to creating
|
||||
Creates a new thread to a single project merge request. This is similar to creating
|
||||
a note but other comments (replies) can be added to it later.
|
||||
|
||||
```
|
||||
|
@ -824,7 +824,7 @@ Parameters:
|
|||
| ------------------------- | -------------- | -------- | ----------- |
|
||||
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
|
||||
| `merge_request_iid` | integer | yes | The IID of a merge request |
|
||||
| `body` | string | yes | The content of a discussion |
|
||||
| `body` | string | yes | The content of the thread |
|
||||
| `created_at` | string | no | Date time string, ISO 8601 formatted, e.g. 2016-03-11T03:45:40Z (requires admin or project/group owner rights) |
|
||||
| `position` | hash | no | Position when creating a diff note |
|
||||
| `position[base_sha]` | string | yes | Base commit SHA in the source branch |
|
||||
|
@ -844,9 +844,9 @@ Parameters:
|
|||
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/projects/5/merge_requests/11/discussions?body=comment
|
||||
```
|
||||
|
||||
### Resolve a merge request discussion
|
||||
### Resolve a merge request thread
|
||||
|
||||
Resolve/unresolve whole discussion of a merge request.
|
||||
Resolve/unresolve whole thread of a merge request.
|
||||
|
||||
```
|
||||
PUT /projects/:id/merge_requests/:merge_request_iid/discussions/:discussion_id
|
||||
|
@ -858,17 +858,17 @@ Parameters:
|
|||
| ------------------- | -------------- | -------- | ----------- |
|
||||
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
|
||||
| `merge_request_iid` | integer | yes | The IID of a merge request |
|
||||
| `discussion_id` | integer | yes | The ID of a discussion |
|
||||
| `discussion_id` | integer | yes | The ID of a thread |
|
||||
| `resolved` | boolean | yes | Resolve/unresolve the discussion |
|
||||
|
||||
```bash
|
||||
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/projects/5/merge_requests/11/discussions/6a9c1750b37d513a43987b574953fceb50b03ce7?resolved=true
|
||||
```
|
||||
|
||||
### Add note to existing merge request discussion
|
||||
### Add note to existing merge request thread
|
||||
|
||||
Adds a new note to the discussion. This can also
|
||||
[create a discussion from a single comment](../user/discussions/#start-a-discussion-by-replying-to-a-standard-comment).
|
||||
Adds a new note to the thread. This can also
|
||||
[create a thread from a single comment](../user/discussions/#start-a-thread-by-replying-to-a-standard-comment).
|
||||
|
||||
```
|
||||
POST /projects/:id/merge_requests/:merge_request_iid/discussions/:discussion_id/notes
|
||||
|
@ -880,18 +880,18 @@ Parameters:
|
|||
| ------------------- | -------------- | -------- | ----------- |
|
||||
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
|
||||
| `merge_request_iid` | integer | yes | The IID of a merge request |
|
||||
| `discussion_id` | integer | yes | The ID of a discussion |
|
||||
| `note_id` | integer | yes | The ID of a discussion note |
|
||||
| `body` | string | yes | The content of a discussion |
|
||||
| `discussion_id` | integer | yes | The ID of a thread |
|
||||
| `note_id` | integer | yes | The ID of a thread note |
|
||||
| `body` | string | yes | The content of the note/reply |
|
||||
| `created_at` | string | no | Date time string, ISO 8601 formatted, e.g. 2016-03-11T03:45:40Z (requires admin or project/group owner rights) |
|
||||
|
||||
```bash
|
||||
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/projects/5/merge_requests/11/discussions/6a9c1750b37d513a43987b574953fceb50b03ce7/notes?body=comment
|
||||
```
|
||||
|
||||
### Modify an existing merge request discussion note
|
||||
### Modify an existing merge request thread note
|
||||
|
||||
Modify or resolve an existing discussion note of a merge request.
|
||||
Modify or resolve an existing thread note of a merge request.
|
||||
|
||||
```
|
||||
PUT /projects/:id/merge_requests/:merge_request_iid/discussions/:discussion_id/notes/:note_id
|
||||
|
@ -903,9 +903,9 @@ Parameters:
|
|||
| ------------------- | -------------- | -------- | ----------- |
|
||||
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
|
||||
| `merge_request_iid` | integer | yes | The IID of a merge request |
|
||||
| `discussion_id` | integer | yes | The ID of a discussion |
|
||||
| `note_id` | integer | yes | The ID of a discussion note |
|
||||
| `body` | string | no | The content of a discussion (exactly one of `body` or `resolved` must be set |
|
||||
| `discussion_id` | integer | yes | The ID of a thread |
|
||||
| `note_id` | integer | yes | The ID of a thread note |
|
||||
| `body` | string | no | The content of the note/reply (exactly one of `body` or `resolved` must be set |
|
||||
| `resolved` | boolean | no | Resolve/unresolve the note (exactly one of `body` or `resolved` must be set |
|
||||
|
||||
```bash
|
||||
|
@ -918,9 +918,9 @@ Resolving a note:
|
|||
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/projects/5/merge_requests/11/discussions/6a9c1750b37d513a43987b574953fceb50b03ce7/notes/1108?resolved=true
|
||||
```
|
||||
|
||||
### Delete a merge request discussion note
|
||||
### Delete a merge request thread note
|
||||
|
||||
Deletes an existing discussion note of a merge request.
|
||||
Deletes an existing thread note of a merge request.
|
||||
|
||||
```
|
||||
DELETE /projects/:id/merge_requests/:merge_request_iid/discussions/:discussion_id/notes/:note_id
|
||||
|
@ -932,8 +932,8 @@ Parameters:
|
|||
| ------------------- | -------------- | -------- | ----------- |
|
||||
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
|
||||
| `merge_request_iid` | integer | yes | The IID of a merge request |
|
||||
| `discussion_id` | integer | yes | The ID of a discussion |
|
||||
| `note_id` | integer | yes | The ID of a discussion note |
|
||||
| `discussion_id` | integer | yes | The ID of a thread |
|
||||
| `note_id` | integer | yes | The ID of a thread note |
|
||||
|
||||
```bash
|
||||
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/projects/5/merge_requests/11/discussions/636
|
||||
|
@ -941,9 +941,9 @@ curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" https://gitl
|
|||
|
||||
## Commits
|
||||
|
||||
### List project commit discussions
|
||||
### List project commit discussion items
|
||||
|
||||
Gets a list of all discussions for a single commit.
|
||||
Gets a list of all discussion items for a single commit.
|
||||
|
||||
```
|
||||
GET /projects/:id/commits/:commit_id/discussions
|
||||
|
@ -1082,9 +1082,9 @@ Diff comments contain also position:
|
|||
curl --request GET --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/projects/5/commits/11/discussions
|
||||
```
|
||||
|
||||
### Get single commit discussion
|
||||
### Get single commit discussion item
|
||||
|
||||
Returns a single discussion for a specific project commit
|
||||
Returns a single discussion item for a specific project commit
|
||||
|
||||
```
|
||||
GET /projects/:id/commits/:commit_id/discussions/:discussion_id
|
||||
|
@ -1096,15 +1096,15 @@ Parameters:
|
|||
| ------------------- | -------------- | -------- | ----------- |
|
||||
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
|
||||
| `commit_id` | integer | yes | The ID of a commit |
|
||||
| `discussion_id` | integer | yes | The ID of a discussion |
|
||||
| `discussion_id` | integer | yes | The ID of a discussion item |
|
||||
|
||||
```bash
|
||||
curl --request GET --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/projects/5/commits/11/discussions/6a9c1750b37d513a43987b574953fceb50b03ce7
|
||||
```
|
||||
|
||||
### Create new commit discussion
|
||||
### Create new commit thread
|
||||
|
||||
Creates a new discussion to a single project commit. This is similar to creating
|
||||
Creates a new thread to a single project commit. This is similar to creating
|
||||
a note but other comments (replies) can be added to it later.
|
||||
|
||||
```
|
||||
|
@ -1117,7 +1117,7 @@ Parameters:
|
|||
| ------------------------- | -------------- | -------- | ----------- |
|
||||
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
|
||||
| `commit_id` | integer | yes | The ID of a commit |
|
||||
| `body` | string | yes | The content of a discussion |
|
||||
| `body` | string | yes | The content of the thread |
|
||||
| `created_at` | string | no | Date time string, ISO 8601 formatted, e.g. 2016-03-11T03:45:40Z (requires admin or project/group owner rights) |
|
||||
| `position` | hash | no | Position when creating a diff note |
|
||||
| `position[base_sha]` | string | yes | Base commit SHA in the source branch |
|
||||
|
@ -1137,9 +1137,9 @@ Parameters:
|
|||
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/projects/5/commits/11/discussions?body=comment
|
||||
```
|
||||
|
||||
### Add note to existing commit discussion
|
||||
### Add note to existing commit thread
|
||||
|
||||
Adds a new note to the discussion.
|
||||
Adds a new note to the thread.
|
||||
|
||||
```
|
||||
POST /projects/:id/commits/:commit_id/discussions/:discussion_id/notes
|
||||
|
@ -1151,18 +1151,18 @@ Parameters:
|
|||
| ------------------- | -------------- | -------- | ----------- |
|
||||
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
|
||||
| `commit_id` | integer | yes | The ID of a commit |
|
||||
| `discussion_id` | integer | yes | The ID of a discussion |
|
||||
| `note_id` | integer | yes | The ID of a discussion note |
|
||||
| `body` | string | yes | The content of a discussion |
|
||||
| `discussion_id` | integer | yes | The ID of a thread |
|
||||
| `note_id` | integer | yes | The ID of a thread note |
|
||||
| `body` | string | yes | The content of the note/reply |
|
||||
| `created_at` | string | no | Date time string, ISO 8601 formatted, e.g. 2016-03-11T03:45:40Z (requires admin or project/group owner rights) |
|
||||
|
||||
```bash
|
||||
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/projects/5/commits/11/discussions/6a9c1750b37d513a43987b574953fceb50b03ce7/notes?body=comment
|
||||
```
|
||||
|
||||
### Modify an existing commit discussion note
|
||||
### Modify an existing commit thread note
|
||||
|
||||
Modify or resolve an existing discussion note of a commit.
|
||||
Modify or resolve an existing thread note of a commit.
|
||||
|
||||
```
|
||||
PUT /projects/:id/commits/:commit_id/discussions/:discussion_id/notes/:note_id
|
||||
|
@ -1174,8 +1174,8 @@ Parameters:
|
|||
| ------------------- | -------------- | -------- | ----------- |
|
||||
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
|
||||
| `commit_id` | integer | yes | The ID of a commit |
|
||||
| `discussion_id` | integer | yes | The ID of a discussion |
|
||||
| `note_id` | integer | yes | The ID of a discussion note |
|
||||
| `discussion_id` | integer | yes | The ID of a thread |
|
||||
| `note_id` | integer | yes | The ID of a thread note |
|
||||
| `body` | string | no | The content of a note |
|
||||
|
||||
```bash
|
||||
|
@ -1188,9 +1188,9 @@ Resolving a note:
|
|||
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/projects/5/commits/11/discussions/6a9c1750b37d513a43987b574953fceb50b03ce7/notes/1108?resolved=true
|
||||
```
|
||||
|
||||
### Delete a commit discussion note
|
||||
### Delete a commit thread note
|
||||
|
||||
Deletes an existing discussion note of a commit.
|
||||
Deletes an existing thread note of a commit.
|
||||
|
||||
```
|
||||
DELETE /projects/:id/commits/:commit_id/discussions/:discussion_id/notes/:note_id
|
||||
|
@ -1202,8 +1202,8 @@ Parameters:
|
|||
| ------------------- | -------------- | -------- | ----------- |
|
||||
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) |
|
||||
| `commit_id` | integer | yes | The ID of a commit |
|
||||
| `discussion_id` | integer | yes | The ID of a discussion |
|
||||
| `note_id` | integer | yes | The ID of a discussion note |
|
||||
| `discussion_id` | integer | yes | The ID of a thread |
|
||||
| `note_id` | integer | yes | The ID of a thread note |
|
||||
|
||||
```bash
|
||||
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/projects/5/commits/11/discussions/636
|
||||
|
|
|
@ -207,9 +207,9 @@ first time.
|
|||
- Extract unrelated changes and refactorings into future merge requests/issues.
|
||||
- Seek to understand the reviewer's perspective.
|
||||
- Try to respond to every comment.
|
||||
- The merge request author resolves only the discussions they have fully
|
||||
addressed. If there's an open reply, an open discussion, a suggestion,
|
||||
a question, or anything else, the discussion should be left to be resolved
|
||||
- The merge request author resolves only the threads they have fully
|
||||
addressed. If there's an open reply, an open thread, a suggestion,
|
||||
a question, or anything else, the thread should be left to be resolved
|
||||
by the reviewer.
|
||||
- Push commits based on earlier rounds of feedback as isolated commits to the
|
||||
branch. Do not squash until the branch is ready to merge. Reviewers should be
|
||||
|
|
|
@ -248,8 +248,8 @@ If a bug seems to fall between two severity labels, assign it to the higher-seve
|
|||
- Example(s) of ~S1
|
||||
- Data corruption/loss.
|
||||
- Security breach.
|
||||
- Unable to create an issue or merge request.
|
||||
- Unable to add a comment or discussion to the issue or merge request.
|
||||
- Unable to create an issue or merge request.
|
||||
- Unable to add a comment or thread to the issue or merge request.
|
||||
- Example(s) of ~S2
|
||||
- Cannot submit changes through the web IDE but the commandline works.
|
||||
- A status widget on the merge request page is not working but information can be seen in the test pipeline page.
|
||||
|
|
|
@ -74,10 +74,10 @@ request is as follows:
|
|||
can be found by running `grep css-class ./app -R`.
|
||||
1. Be prepared to answer questions and incorporate feedback into your MR with new
|
||||
commits. Once you have fully addressed a suggestion from a reviewer, click the
|
||||
"Resolve discussion" button beneath it to mark it resolved.
|
||||
1. The merge request author resolves only the discussions they have fully addressed.
|
||||
If there's an open reply or discussion, a suggestion, a question, or anything else,
|
||||
the discussion should be left to be resolved by the reviewer.
|
||||
"Resolve thread" button beneath it to mark it resolved.
|
||||
1. The merge request author resolves only the threads they have fully addressed.
|
||||
If there's an open reply or thread, a suggestion, a question, or anything else,
|
||||
the thread should be left to be resolved by the reviewer.
|
||||
1. If your MR touches code that executes shell commands, reads or opens files, or
|
||||
handles paths to files on disk, make sure it adheres to the
|
||||
[shell command guidelines](../shell_commands.md)
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
When you're collaborating online, you get fewer opportunities for high-fives
|
||||
and thumbs-ups. Emoji can be awarded to [issues](project/issues/index.md), [merge requests](project/merge_requests/index.md),
|
||||
[snippets](snippets.md), and anywhere you can have a discussion.
|
||||
[snippets](snippets.md), and anywhere you can have a thread.
|
||||
|
||||
![Award emoji](img/award_emoji_select.png)
|
||||
|
||||
|
|
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 56 KiB |
Before Width: | Height: | Size: 9.3 KiB |
BIN
doc/user/discussions/img/btn_new_issue_for_all_threads.png
Normal file
After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 357 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 270 KiB |
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 59 KiB |
Before Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 47 KiB After Width: | Height: | Size: 195 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 165 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 242 KiB |
Before Width: | Height: | Size: 9.2 KiB After Width: | Height: | Size: 227 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 179 KiB |
Before Width: | Height: | Size: 9.4 KiB After Width: | Height: | Size: 158 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 268 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 292 KiB |
BIN
doc/user/discussions/img/new_issue_for_thread.png
Normal file
After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 94 KiB |
After Width: | Height: | Size: 52 KiB |
Before Width: | Height: | Size: 8.6 KiB After Width: | Height: | Size: 242 KiB |
BIN
doc/user/discussions/img/preview_issue_for_thread.png
Normal file
After Width: | Height: | Size: 117 KiB |
BIN
doc/user/discussions/img/preview_issue_for_threads.png
Normal file
After Width: | Height: | Size: 128 KiB |
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 11 KiB |
BIN
doc/user/discussions/img/resolve_thread_button.png
Normal file
After Width: | Height: | Size: 34 KiB |
BIN
doc/user/discussions/img/resolve_thread_issue_notice.png
Normal file
After Width: | Height: | Size: 43 KiB |
BIN
doc/user/discussions/img/resolve_thread_open_issue.png
Normal file
After Width: | Height: | Size: 56 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 264 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 83 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 69 KiB |
BIN
doc/user/discussions/img/thread_view.png
Normal file
After Width: | Height: | Size: 543 KiB |
BIN
doc/user/discussions/img/threads_resolved.png
Normal file
After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 116 KiB |
|
@ -1,4 +1,4 @@
|
|||
# Discussions
|
||||
# Threads
|
||||
|
||||
The ability to contribute conversationally is offered throughout GitLab.
|
||||
|
||||
|
@ -12,7 +12,7 @@ You can leave a comment in the following places:
|
|||
- commit diffs
|
||||
|
||||
There are standard comments, and you also have the option to create a comment
|
||||
in the form of a threaded discussion. A comment can also be [turned into a discussion](#start-a-discussion-by-replying-to-a-standard-comment)
|
||||
in the form of a thread. A comment can also be [turned into a thread](#start-a-thread-by-replying-to-a-standard-comment)
|
||||
when it receives a reply.
|
||||
|
||||
The comment area supports [Markdown] and [quick actions]. You can edit your own
|
||||
|
@ -21,41 +21,39 @@ higher can also edit a comment made by someone else.
|
|||
|
||||
You can also reply to a comment notification email to reply to the comment if
|
||||
[Reply by email] is configured for your GitLab instance. Replying to a standard comment
|
||||
creates another standard comment. Replying to a discussion comment creates a reply in the
|
||||
discussion thread. Email replies support [Markdown] and [quick actions], just as if you replied from the web.
|
||||
creates another standard comment. Replying to a threaded comment creates a reply in the thread. Email replies support
|
||||
[Markdown] and [quick actions], just as if you replied from the web.
|
||||
|
||||
## Resolvable comments and discussions
|
||||
## Resolvable comments and threads
|
||||
|
||||
> **Notes:**
|
||||
>
|
||||
> - The main feature was [introduced][ce-5022] in GitLab 8.11.
|
||||
> - Resolvable discussions can be added only to merge request diffs.
|
||||
> - Resolvable threads can be added only to merge request diffs.
|
||||
|
||||
Discussion resolution helps keep track of progress during planning or code review.
|
||||
Thread resolution helps keep track of progress during planning or code review.
|
||||
|
||||
Every standard comment or discussion thread in merge requests, commits, commit diffs, and
|
||||
Every standard comment or thread in merge requests, commits, commit diffs, and
|
||||
snippets is initially displayed as unresolved. They can then be individually resolved by anyone
|
||||
with at least Developer access to the project or by the author of the change being reviewed.
|
||||
|
||||
The need to resolve all standard comments or discussions prevents you from forgetting
|
||||
to address feedback and lets you hide discussions that are no longer relevant.
|
||||
The need to resolve all standard comments or threads prevents you from forgetting
|
||||
to address feedback and lets you hide threads that are no longer relevant.
|
||||
|
||||
!["A discussion between two people on a piece of code"][discussion-view]
|
||||
!["A thread between two people on a piece of code"](img/thread_view.png)
|
||||
|
||||
### Commit discussions in the context of a merge request
|
||||
### Commit threads in the context of a merge request
|
||||
|
||||
> [Introduced][ce-31847] in GitLab 10.3.
|
||||
|
||||
For reviewers with commit-based workflow, it may be useful to add discussions to
|
||||
specific commit diffs in the context of a merge request. These discussions will
|
||||
For reviewers with commit-based workflow, it may be useful to add threads to
|
||||
specific commit diffs in the context of a merge request. These threads will
|
||||
persist through a commit ID change when:
|
||||
|
||||
- force-pushing after a rebase
|
||||
- amending a commit
|
||||
|
||||
This functionality is also demonstrated in the video [How to use Merge Request Commit Discussions](https://www.youtube.com/watch?v=TviJH6oRboo).
|
||||
|
||||
To create a commit diff discussion:
|
||||
To create a commit diff thread:
|
||||
|
||||
1. Navigate to the merge request **Commits** tab. A list of commits that
|
||||
constitute the merge request will be shown.
|
||||
|
@ -67,141 +65,141 @@ To create a commit diff discussion:
|
|||
|
||||
![Commit diff discussion in merge request context](img/commit_comment_mr_context.png)
|
||||
|
||||
1. Any discussions created this way will be shown in the merge request's
|
||||
1. Any threads created this way will be shown in the merge request's
|
||||
**Discussions** tab and are resolvable.
|
||||
|
||||
![Merge request Discussions tab](img/commit_comment_mr_discussions_tab.png)
|
||||
|
||||
Discussions created this way will only appear in the original merge request
|
||||
Threads created this way will only appear in the original merge request
|
||||
and not when navigating to that commit under your project's
|
||||
**Repository > Commits** page.
|
||||
|
||||
TIP: **Tip:**
|
||||
When a link of a commit reference is found in a discussion inside a merge
|
||||
When a link of a commit reference is found in a thread inside a merge
|
||||
request, it will be automatically converted to a link in the context of the
|
||||
current merge request.
|
||||
|
||||
### Jumping between unresolved discussions
|
||||
### Jumping between unresolved threads
|
||||
|
||||
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.
|
||||
what remains unresolved. You can jump between unresolved threads with the
|
||||
Jump button next to the Reply field on a thread.
|
||||
|
||||
You can also jump to the first unresolved discussion from the button next to the
|
||||
resolved discussions tracker.
|
||||
You can also jump to the first unresolved thread from the button next to the
|
||||
resolved threads tracker.
|
||||
|
||||
!["3/4 discussions resolved"][discussions-resolved]
|
||||
!["8/9 threads resolved"](img/threads_resolved.png)
|
||||
|
||||
### Marking a comment or discussion as resolved
|
||||
### Marking a comment or thread as resolved
|
||||
|
||||
You can mark a discussion as resolved by clicking the **Resolve discussion**
|
||||
button at the bottom of the discussion.
|
||||
You can mark a thread as resolved by clicking the **Resolve thread**
|
||||
button at the bottom of the thread.
|
||||
|
||||
!["Resolve discussion" button][resolve-discussion-button]
|
||||
!["Resolve thread" button](img/resolve_thread_button.png)
|
||||
|
||||
Alternatively, you can mark each comment as resolved individually.
|
||||
|
||||
!["Resolve comment" button][resolve-comment-button]
|
||||
!["Resolve comment" button](img/resolve_comment_button.png)
|
||||
|
||||
### Move all unresolved discussions in a merge request to an issue
|
||||
### Move all unresolved threads in a merge request to an issue
|
||||
|
||||
> [Introduced][ce-8266] in GitLab 9.1
|
||||
|
||||
To continue all open discussions from a merge request in a new issue, click the
|
||||
**Resolve all discussions in new issue** button.
|
||||
To continue all open threads from a merge request in a new issue, click the
|
||||
**Resolve all threads in new issue** button.
|
||||
|
||||
![Open new issue for all unresolved discussions](img/btn_new_issue_for_all_discussions.png)
|
||||
![Open new issue for all unresolved threads](img/btn_new_issue_for_all_threads.png)
|
||||
|
||||
Alternatively, when your project only accepts merge requests [when all discussions
|
||||
are resolved](#only-allow-merge-requests-to-be-merged-if-all-discussions-are-resolved),
|
||||
Alternatively, when your project only accepts merge requests [when all threads
|
||||
are resolved](#only-allow-merge-requests-to-be-merged-if-all-threads-are-resolved),
|
||||
there will be an **open an issue to resolve them later** link in the merge
|
||||
request widget.
|
||||
|
||||
![Link in merge request widget](img/resolve_discussion_open_issue.png)
|
||||
![Link in merge request widget](img/resolve_thread_open_issue.png)
|
||||
|
||||
This will prepare an issue with its content referring to the merge request and
|
||||
the unresolved discussions.
|
||||
the unresolved threads.
|
||||
|
||||
![Issue mentioning discussions in a merge request](img/preview_issue_for_discussions.png)
|
||||
![Issue mentioning threads in a merge request](img/preview_issue_for_threads.png)
|
||||
|
||||
Hitting **Submit issue** will cause all discussions to be marked as resolved and
|
||||
Hitting **Submit issue** will cause all threads to be marked as resolved and
|
||||
add a note referring to the newly created issue.
|
||||
|
||||
![Mark discussions as resolved notice](img/resolve_discussion_issue_notice.png)
|
||||
![Mark threads as resolved notice](img/resolve_thread_issue_notice.png)
|
||||
|
||||
You can now proceed to merge the merge request from the UI.
|
||||
|
||||
### Moving a single discussion to a new issue
|
||||
### Moving a single thread 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.
|
||||
To create a new issue for a single thread, you can use the **Resolve this
|
||||
thread in a new issue** button.
|
||||
|
||||
![Create issue for discussion](img/new_issue_for_discussion.png)
|
||||
![Create issue for thread](img/new_issue_for_thread.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. Saving the issue will mark the discussion as resolved and
|
||||
add a note to the merge request discussion referencing the new issue.
|
||||
thread, similar to the issues created for delegating multiple
|
||||
threads at once. Saving the issue will mark the thread as resolved and
|
||||
add a note to the merge request thread referencing the new issue.
|
||||
|
||||
![New issue for a single discussion](img/preview_issue_for_discussion.png)
|
||||
![New issue for a single thread](img/preview_issue_for_thread.png)
|
||||
|
||||
### Only allow merge requests to be merged if all discussions are resolved
|
||||
### Only allow merge requests to be merged if all threads are resolved
|
||||
|
||||
> [Introduced][ce-7125] in GitLab 8.14.
|
||||
|
||||
You can prevent merge requests from being merged until all discussions are
|
||||
You can prevent merge requests from being merged until all threads are
|
||||
resolved.
|
||||
|
||||
Navigate to your project's settings page, select the
|
||||
**Only allow merge requests to be merged if all discussions are resolved** check
|
||||
**Only allow merge requests to be merged if all threads 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)
|
||||
![Only allow merge if all the threads are resolved settings](img/only_allow_merge_if_all_threads_are_resolved.png)
|
||||
|
||||
From now on, you will not be able to merge from the UI until all discussions
|
||||
From now on, you will not be able to merge from the UI until all threads
|
||||
are resolved.
|
||||
|
||||
![Only allow merge if all the discussions are resolved message](img/only_allow_merge_if_all_discussions_are_resolved_msg.png)
|
||||
![Only allow merge if all the threads are resolved message](img/resolve_thread_open_issue.png)
|
||||
|
||||
### Automatically resolve merge request diff discussions when they become outdated
|
||||
### Automatically resolve merge request diff threads when they become outdated
|
||||
|
||||
> [Introduced][ce-14053] in GitLab 10.0.
|
||||
|
||||
You can automatically resolve merge request diff discussions on lines modified
|
||||
You can automatically resolve merge request diff threads on lines modified
|
||||
with a new push.
|
||||
|
||||
Navigate to your project's settings page, select the **Automatically resolve
|
||||
merge request diffs discussions on lines changed with a push** check box and hit
|
||||
merge request diffs threads on lines changed with a push** check box and hit
|
||||
**Save** for the changes to take effect.
|
||||
|
||||
![Automatically resolve merge request diff discussions when they become outdated](img/automatically_resolve_outdated_discussions.png)
|
||||
![Automatically resolve merge request diff threads when they become outdated](img/automatically_resolve_outdated_discussions.png)
|
||||
|
||||
From now on, any discussions on a diff will be resolved by default if a push
|
||||
makes that diff section outdated. Discussions on lines that don't change and
|
||||
top-level resolvable discussions are not automatically resolved.
|
||||
From now on, any threads on a diff will be resolved by default if a push
|
||||
makes that diff section outdated. Threads on lines that don't change and
|
||||
top-level resolvable threads are not automatically resolved.
|
||||
|
||||
## Commit discussions
|
||||
## Commit threads
|
||||
|
||||
You can add comments and discussion threads to a particular commit under your
|
||||
You can add comments and threads to a particular commit under your
|
||||
project's **Repository > Commits**.
|
||||
|
||||
CAUTION: **Attention:**
|
||||
Discussions created this way will be lost if the commit ID changes after a
|
||||
Threads created this way will be lost if the commit ID changes after a
|
||||
force push.
|
||||
|
||||
## Threaded discussions
|
||||
|
||||
> [Introduced][ce-7527] in GitLab 9.1.
|
||||
|
||||
While resolvable discussions are only available to merge request diffs,
|
||||
discussions can also be added without a diff. You can start a specific
|
||||
discussion which will look like a thread, on issues, commits, snippets, and
|
||||
While resolvable threads are only available to merge request diffs,
|
||||
threads can also be added without a diff. You can start a specific
|
||||
thread which will look like a thread, on issues, commits, snippets, and
|
||||
merge requests.
|
||||
|
||||
To start a threaded discussion, click on the **Comment** button toggle dropdown,
|
||||
select **Start discussion** and click **Start discussion** when you're ready to
|
||||
select **Start thread** and click **Start thread** when you're ready to
|
||||
post the comment.
|
||||
|
||||
![Comment type toggle](img/comment_type_toggle.gif)
|
||||
|
@ -209,56 +207,57 @@ post the comment.
|
|||
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)
|
||||
![Thread comment](img/discussion_comment.png)
|
||||
|
||||
## Image discussions
|
||||
## Image threads
|
||||
|
||||
> [Introduced][ce-14061] in GitLab 10.1.
|
||||
|
||||
Sometimes a discussion is revolved around an image. With image discussions,
|
||||
you can easily target a specific coordinate of an image and start a discussion
|
||||
around it. Image discussions are available in merge requests and commit detail views.
|
||||
Sometimes a thread is revolved around an image. With image threads,
|
||||
you can easily target a specific coordinate of an image and start a thread
|
||||
around it. Image threads are available in merge requests and commit detail views.
|
||||
|
||||
To start an image discussion, hover your mouse over the image. Your mouse pointer
|
||||
To start an image thread, hover your mouse over the image. Your mouse pointer
|
||||
should convert into an icon, indicating that the image is available for commenting.
|
||||
Simply click anywhere on the image to create a new discussion.
|
||||
Simply click anywhere on the image to create a new thread.
|
||||
|
||||
![Start image discussion](img/start_image_discussion.gif)
|
||||
![Start image thread](img/start_image_discussion.gif)
|
||||
|
||||
After you click on the image, a comment form will be displayed that would be the start
|
||||
of your discussion. Once you save your comment, you will see a new badge displayed on
|
||||
top of your image. This badge represents your discussion.
|
||||
of your thread. Once you save your comment, you will see a new badge displayed on
|
||||
top of your image. This badge represents your thread.
|
||||
|
||||
>**Note:**
|
||||
This discussion badge is typically associated with a number that is only used as a visual
|
||||
reference for each discussion. In the merge request discussion tab,
|
||||
this badge will be indicated with a comment icon since each discussion will render a new
|
||||
This thread badge is typically associated with a number that is only used as a visual
|
||||
reference for each thread. In the merge request thread tab,
|
||||
this badge will be indicated with a comment icon since each thread will render a new
|
||||
image section.
|
||||
|
||||
Image discussions also work on diffs that replace an existing image. In this diff view
|
||||
mode, you can toggle the different view modes and still see the discussion point badges.
|
||||
Image threads also work on diffs that replace an existing image. In this diff view
|
||||
mode, you can toggle the different view modes and still see the thread point badges.
|
||||
|
||||
| 2-up | Swipe | Onion Skin |
|
||||
| :-----------: | :----------: | :----------: |
|
||||
| ![2-up view](img/two_up_view.png) | ![swipe view](img/swipe_view.png) | ![onion skin view](img/onion_skin_view.png) |
|
||||
|
||||
Image discussions also work well with resolvable discussions. Resolved discussions
|
||||
Image threads also work well with resolvable threads. Resolved threads
|
||||
on diffs (not on the merge request discussion tab) will appear collapsed on page
|
||||
load and will have a corresponding badge counter to match the counter on the image.
|
||||
|
||||
![Image resolved discussion](img/image_resolved_discussion.png)
|
||||
![Image resolved thread](img/image_resolved_discussion.png)
|
||||
|
||||
## Lock discussions
|
||||
|
||||
> [Introduced][ce-14531] in GitLab 10.1.
|
||||
|
||||
For large projects with many contributors, it may be useful to stop discussions
|
||||
For large projects with many contributors, it may be useful to stop threads
|
||||
in issues or merge requests in these scenarios:
|
||||
|
||||
- The project maintainer has already resolved the discussion and it is not helpful
|
||||
for continued feedback. The project maintainer has already directed new conversation
|
||||
- The project maintainer has already resolved the thread and it is not helpful
|
||||
for continued feedback.
|
||||
- The project maintainer has already directed new conversation
|
||||
to newer issues or merge requests.
|
||||
- The people participating in the discussion are trolling, abusive, or otherwise
|
||||
- The people participating in the thread are trolling, abusive, or otherwise
|
||||
being unproductive.
|
||||
|
||||
In these cases, a user with Developer permissions or higher in the project can lock (and unlock)
|
||||
|
@ -300,7 +299,7 @@ in an MR and click on the **Start a review** button.
|
|||
Once a review is started, you will see any comments that are part of this review marked `Pending`.
|
||||
All comments that are part of a review show two buttons:
|
||||
|
||||
- **Submit review**: Submits all comments that are part of the review, making them visible to other users.
|
||||
- **Finish review**: Submits all comments that are part of the review, making them visible to other users.
|
||||
- **Add comment now**: Submits the specific comment as a regular comment instead of as part of the review.
|
||||
|
||||
![A comment that is part of a review](img/pending_review_comment.png)
|
||||
|
@ -317,20 +316,20 @@ This will add the comment to the review.
|
|||
|
||||
![Second review comment](img/mr_review_second_comment_added.png)
|
||||
|
||||
### Resolving/Unresolving discussions
|
||||
### Resolving/Unresolving threads
|
||||
|
||||
Review comments can also resolve/unresolve [resolvable discussions](#resolvable-comments-and-discussions).
|
||||
Review comments can also resolve/unresolve [resolvable threads](#resolvable-comments-and-threads).
|
||||
When replying to a comment, you will see a checkbox that you can click in order to resolve or unresolve
|
||||
the discussion once published.
|
||||
the thread once published.
|
||||
|
||||
![Resolve checkbox](img/mr_review_resolve.png)
|
||||
![Unresolve checkbox](img/mr_review_unresolve.png)
|
||||
|
||||
If a particular pending comment will resolve or unresolve the discussion, this will be shown on the pending
|
||||
If a particular pending comment will resolve or unresolve the thread, this will be shown on the pending
|
||||
comment itself.
|
||||
|
||||
![Resolve status](img/mr_review_resolve2.png)
|
||||
![Unresolve status](img/mr_review_unresolve2.png)
|
||||
|
||||
![Unresolve status](img/mr_review_unresolve.png)
|
||||
|
||||
### Submitting a review
|
||||
|
||||
|
@ -356,7 +355,7 @@ Replying to this email will, consequentially, create a new comment on the associ
|
|||
> [Introduced](https://gitlab.com/gitlab-org/gitlab-ce/issues/26723) in GitLab 11.5.
|
||||
|
||||
For issues with many comments like activity notes and user comments, sometimes
|
||||
finding useful information can be hard. There is a way to filter comments from single notes and discussions for merge requests and issues.
|
||||
finding useful information can be hard. There is a way to filter comments from single notes and threads for merge requests and issues.
|
||||
|
||||
From a merge request's **Discussion** tab, or from an epic/issue overview, find the filter's dropdown menu on the right side of the page, from which you can choose one of the following options:
|
||||
|
||||
|
@ -376,7 +375,7 @@ from any device you're logged into.
|
|||
> [Introduced](https://gitlab.com/gitlab-org/gitlab-ce/issues/18008) in GitLab 11.6.
|
||||
|
||||
As a reviewer, you're able to suggest code changes with a simple
|
||||
markdown syntax in Merge Request Diff discussions. Then, the
|
||||
markdown syntax in Merge Request Diff threads. Then, the
|
||||
Merge Request author (or other users with appropriate
|
||||
[permission](../permissions.md)) is able to apply these
|
||||
suggestions with a click, which will generate a commit in
|
||||
|
@ -399,7 +398,7 @@ the Merge Request authored by the user that applied them.
|
|||
![Apply suggestions](img/suggestion.png)
|
||||
|
||||
Once the author applies a suggestion, it will be marked with the **Applied** label,
|
||||
the discussion will be automatically resolved, and GitLab will create a new commit
|
||||
the thread will be automatically resolved, and GitLab will create a new commit
|
||||
with the message `Apply suggestion to <file-name>` and push the suggested change
|
||||
directly into the codebase in the merge request's branch.
|
||||
[Developer permission](../permissions.md) is required to do so.
|
||||
|
@ -413,8 +412,8 @@ Custom commit messages will be introduced by
|
|||
> [Introduced](https://gitlab.com/gitlab-org/gitlab-ce/issues/53310) in GitLab 11.10.
|
||||
|
||||
Reviewers can also suggest changes to multiple lines with a single suggestion
|
||||
within Merge Request diff discussions by adjusting the range offsets. The
|
||||
offsets are relative to the position of the diff discussion, and specify the
|
||||
within Merge Request diff threads by adjusting the range offsets. The
|
||||
offsets are relative to the position of the diff thread, and specify the
|
||||
range to be replaced by the suggestion when it is applied.
|
||||
|
||||
![Multi-line suggestion syntax](img/multi-line-suggestion-syntax.png)
|
||||
|
@ -430,25 +429,26 @@ Suggestions covering multiple lines are limited to 100 lines _above_ and 100
|
|||
lines _below_ the commented diff line, allowing up to 200 changed lines per
|
||||
suggestion.
|
||||
|
||||
## Start a discussion by replying to a standard comment
|
||||
## Start a thread by replying to a standard comment
|
||||
|
||||
> [Introduced](https://gitlab.com/gitlab-org/gitlab-ce/issues/30299) in GitLab 11.9
|
||||
|
||||
To reply to a standard (non-discussion) comment, you can use the **Reply to comment** button.
|
||||
To reply to a standard (non-thread) comment, you can use the **Reply to comment** button.
|
||||
|
||||
![Reply to comment button](img/reply_to_comment_button.png)
|
||||
|
||||
The **Reply to comment** button is only displayed if you have permissions to reply to an existing discussion, or start a discussion from a standard comment.
|
||||
The **Reply to comment** button is only displayed if you have permissions to reply to an existing thread, or start a thread from a standard comment.
|
||||
|
||||
Clicking on the **Reply to comment** button will bring the reply area into focus and you can type your reply.
|
||||
|
||||
![Reply to comment feature](img/reply_to_comment.gif)
|
||||
|
||||
Replying to a non-discussion comment will convert the non-discussion comment to a
|
||||
threaded discussion once the reply is submitted. This conversion is considered an edit
|
||||
Replying to a non-thread comment will convert the non-thread comment to a
|
||||
thread once the reply is submitted. This conversion is considered an edit
|
||||
to the original comment, so a note about when it was last edited will appear underneath it.
|
||||
|
||||
This feature only exists for Issues, Merge requests, and Epics. Commits, Snippets and Merge request diff discussions are not supported yet.
|
||||
This feature only exists for Issues, Merge requests, and Epics. Commits, Snippets and Merge request diff threads are
|
||||
not supported yet.
|
||||
|
||||
[ce-5022]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/5022
|
||||
[ce-7125]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/7125
|
||||
|
|
|
@ -205,12 +205,12 @@ You may also consult the [group permissions table][permissions].
|
|||
These text fields also fully support
|
||||
[GitLab Flavored Markdown](../../markdown.md#gitlab-flavored-markdown-gfm).
|
||||
|
||||
## Comment, or start a discussion
|
||||
## Comment, or start a thread
|
||||
|
||||
Once you wrote your comment, you can either:
|
||||
|
||||
- Click "Comment" and your comment will be published.
|
||||
- Click "Start discussion": start a thread within that epic's thread to discuss specific points.
|
||||
- Click "Start thread": start a thread within that epic's discussion to discuss specific points.
|
||||
|
||||
## Award emoji
|
||||
|
||||
|
|
|
@ -124,12 +124,12 @@ merge requests, code snippets, and commits.
|
|||
|
||||
When performing inline reviews to implementations
|
||||
to your codebase through merge requests you can
|
||||
gather feedback through [resolvable discussions](discussions/index.md#resolvable-comments-and-discussions).
|
||||
gather feedback through [resolvable threads](discussions/index.md#resolvable-comments-and-threads).
|
||||
|
||||
### GitLab Flavored Markdown (GFM)
|
||||
|
||||
Read through the [GFM documentation](markdown.md) to learn how to apply
|
||||
the best of GitLab Flavored Markdown in your discussions, comments,
|
||||
the best of GitLab Flavored Markdown in your threads, comments,
|
||||
issues and merge requests descriptions, and everywhere else GMF is
|
||||
supported.
|
||||
|
||||
|
@ -148,7 +148,7 @@ requests you're assigned to.
|
|||
|
||||
[Snippets](snippets.md) are code blocks that you want to store in GitLab, from which
|
||||
you have quick access to. You can also gather feedback on them through
|
||||
[discussions](#discussions).
|
||||
[Discussions](#Discussions).
|
||||
|
||||
## Integrations
|
||||
|
||||
|
|
|
@ -60,7 +60,7 @@ The following table depicts the various user permission levels in a project.
|
|||
| View confidential issues | (*2*) | ✓ | ✓ | ✓ | ✓ |
|
||||
| Assign issues | | ✓ | ✓ | ✓ | ✓ |
|
||||
| Label issues | | ✓ | ✓ | ✓ | ✓ |
|
||||
| Lock issue discussions | | ✓ | ✓ | ✓ | ✓ |
|
||||
| Lock issue threads | | ✓ | ✓ | ✓ | ✓ |
|
||||
| Manage issue tracker | | ✓ | ✓ | ✓ | ✓ |
|
||||
| Manage related issues **(STARTER)** | | ✓ | ✓ | ✓ | ✓ |
|
||||
| Create issue from vulnerability **(ULTIMATE)** | | ✓ | ✓ | ✓ | ✓ |
|
||||
|
@ -81,7 +81,7 @@ The following table depicts the various user permission levels in a project.
|
|||
| Create new merge request | | | ✓ | ✓ | ✓ |
|
||||
| Assign merge requests | | | ✓ | ✓ | ✓ |
|
||||
| Label merge requests | | | ✓ | ✓ | ✓ |
|
||||
| Lock merge request discussions | | | ✓ | ✓ | ✓ |
|
||||
| Lock merge request threads | | | ✓ | ✓ | ✓ |
|
||||
| Manage/Accept merge requests | | | ✓ | ✓ | ✓ |
|
||||
| Create new environments | | | ✓ | ✓ | ✓ |
|
||||
| Stop environments | | | ✓ | ✓ | ✓ |
|
||||
|
|
|
@ -24,9 +24,8 @@ Import your projects from Bitbucket Server to GitLab with minimal effort.
|
|||
1. Currently GitLab doesn't allow comments on arbitrary lines of code, so any
|
||||
Bitbucket comments out of bounds will be inserted as comments in the merge
|
||||
request.
|
||||
1. Bitbucket Server allows multiple levels of threading. GitLab
|
||||
import will collapse this into one discussion and quote part of the original
|
||||
comment.
|
||||
1. Bitbucket Server allows multiple levels of threading. GitLab import
|
||||
will collapse this into one thread and quote part of the original comment.
|
||||
1. Declined pull requests have unreachable commits, which prevents the GitLab
|
||||
importer from generating a proper diff. These pull requests will show up as
|
||||
empty changes.
|
||||
|
|
|
@ -221,7 +221,7 @@ There are numerous [APIs](../../api/README.md) to use with your projects:
|
|||
|
||||
- [Badges](../../api/project_badges.md)
|
||||
- [Clusters](../../api/project_clusters.md)
|
||||
- [Discussions](../../api/discussions.md)
|
||||
- [Threads](../../api/discussions.md)
|
||||
- [General](../../api/projects.md)
|
||||
- [Import/export](../../api/project_import_export.md)
|
||||
- [Issue Board](../../api/boards.md)
|
||||
|
|
|
@ -116,13 +116,13 @@ issue boards or the issue list.
|
|||
|
||||
#### 11. Lock issue
|
||||
|
||||
You can [lock the discussions](../../discussions/index.md#lock-discussions) in the issue,
|
||||
You can [lock the threads](../../discussions/index.md#lock-discussions) in the issue,
|
||||
to prevent further comments from being added.
|
||||
|
||||
#### 12. Participants
|
||||
|
||||
All the users involved in that issue. Either they participated in the [discussion](../../discussions/index.md),
|
||||
or were mentioned in the description or discussions.
|
||||
All the users involved in that issue. Either they participated in the [thread](../../discussions/index.md),
|
||||
or were mentioned in the description or threads.
|
||||
|
||||
#### 13. Notifications
|
||||
|
||||
|
@ -187,8 +187,8 @@ You can also click the `+` to add more related issues.
|
|||
|
||||
#### 19. Related Merge Requests
|
||||
|
||||
Merge requests that were mentioned in that issue's description or in the issue discussion
|
||||
thread are listed as [related merge requests](crosslinking_issues.md#from-merge-requests) here.
|
||||
Merge requests that were mentioned in that issue's description or in the issue thread
|
||||
are listed as [related merge requests](crosslinking_issues.md#from-merge-requests) here.
|
||||
Also, if the current issue was mentioned as related in another merge request, that
|
||||
merge request will be listed here.
|
||||
|
||||
|
@ -200,14 +200,14 @@ dropdown list of available [GitLab Flavored Markdown Emoji](../../markdown.md#em
|
|||
|
||||
TIP: **Tip:**
|
||||
Posting "+1" as a comment in a thread spams all subscribed participants of that issue,
|
||||
clutters the discussion threads, and is not recommended. Awarding an emoji is a way
|
||||
clutters the threads, and is not recommended. Awarding an emoji is a way
|
||||
to let them know your reaction without spamming them.
|
||||
|
||||
#### 21. Show all activity
|
||||
|
||||
You can filter what is displayed in the issue history by clicking on **Show all activity**
|
||||
and selecting either **Show comments only**, which only shows discussions and hides
|
||||
updates to the issue, or **Show history only**, which hides discussions and only shows updates.
|
||||
and selecting either **Show comments only**, which only shows threads and hides
|
||||
updates to the issue, or **Show history only**, which hides threads and only shows updates.
|
||||
|
||||
- You can mention a user or a group present in your GitLab instance with
|
||||
`@username` or `@groupname` and they will be notified via To-Do items
|
||||
|
@ -242,15 +242,15 @@ filtered, as shown above.
|
|||
Collaborate in the issue by posting comments in its thread. This text field also fully
|
||||
supports [GitLab Flavored Markdown](../../markdown.md#gitlab-flavored-markdown-gfm).
|
||||
|
||||
#### 25. Submit Comment, start a discussion, or comment and close
|
||||
#### 25. Submit Comment, start a thread, or comment and close
|
||||
|
||||
Once you write a comment, you can:
|
||||
|
||||
- Click **Comment** and your comment will be published.
|
||||
- Choose **Start discussion** from the dropdown list and start a new [discussion thread](../../discussions/index.md#threaded-discussions)
|
||||
- Choose **Start thread** from the dropdown list and start a new [thread](../../discussions/index.md#threaded-discussions)
|
||||
within that issue's main thread to discuss specific points. This invites other participants
|
||||
to reply directly to your discussion, keeping related comments grouped together.
|
||||
to reply directly to your thread, keeping related comments grouped together.
|
||||
|
||||
![Comment or discussion](img/comment-or-discussion.png)
|
||||
![Comment or thread](img/comment-or-discussion.png)
|
||||
|
||||
You can also close the issue from here, so you don't need to scroll to the top of the issue page.
|
||||
|
|
|
@ -18,7 +18,7 @@ It is as simple as the name implies: a _request_ to _merge_ one branch into anot
|
|||
With GitLab merge requests, you can:
|
||||
|
||||
- Compare the changes between two [branches](https://git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell#_git_branching)
|
||||
- [Review and discuss](../../discussions/index.md#discussions) the proposed modifications inline
|
||||
- [Review and discuss](../../discussions/index.md#threads) the proposed modifications inline
|
||||
- Live preview the changes when [Review Apps](../../../ci/review_apps/index.md) is configured for your project
|
||||
- Build, test, and deploy your code in a per-branch basis with built-in [GitLab CI/CD](../../../ci/README.md)
|
||||
- Prevent the merge request from being merged before it's ready with [WIP MRs](#work-in-progress-merge-requests)
|
||||
|
@ -155,13 +155,13 @@ and remember to merge the request manually.
|
|||
|
||||
[Learn more about merging when pipeline succeeds.](merge_when_pipeline_succeeds.md)
|
||||
|
||||
## Resolve discussion comments in merge requests reviews
|
||||
## Resolve threads in merge requests reviews
|
||||
|
||||
Keep track of the progress during a code review with resolving comments.
|
||||
Resolving comments prevents you from forgetting to address feedback and lets
|
||||
you hide discussions that are no longer relevant.
|
||||
you hide threads that are no longer relevant.
|
||||
|
||||
[Read more about resolving discussion comments in merge requests reviews.](../../discussions/index.md)
|
||||
[Read more about resolving threads in merge requests reviews.](../../discussions/index.md)
|
||||
|
||||
## Commenting on any file line in merge requests
|
||||
|
||||
|
@ -192,7 +192,7 @@ commit when merging, to allow for a neater commit history.
|
|||
> [Introduced](https://gitlab.com/gitlab-org/gitlab-ce/issues/18008) in GitLab 11.6.
|
||||
|
||||
As a reviewer, you can add suggestions to change the content in
|
||||
merge request discussions, and users with appropriate [permission](../../permissions.md)
|
||||
merge request threads, and users with appropriate [permission](../../permissions.md)
|
||||
can easily apply them to the codebase directly from the UI. Read
|
||||
through the documentation on [Suggest changes](../../discussions/index.md#suggest-changes)
|
||||
to learn more.
|
||||
|
|
|
@ -162,7 +162,7 @@ the merge request is unblocked and can be merged.
|
|||
Note, that meeting the required number of approvals is a necessary, but not
|
||||
sufficient condition for unblocking a merge request from being merged. There
|
||||
are other conditions that may block it, such as merge conflicts,
|
||||
[pending discussions](../../discussions/index.md#only-allow-merge-requests-to-be-merged-if-all-discussions-are-resolved)
|
||||
[pending discussions](../../discussions/index.md#only-allow-merge-requests-to-be-merged-if-all-threads-are-resolved)
|
||||
or a [failed CI/CD pipeline](merge_when_pipeline_succeeds.md).
|
||||
|
||||
## Code Owners approvals **(PREMIUM)**
|
||||
|
|
|
@ -36,7 +36,7 @@ changes to be reviewed.
|
|||
## Only allow merge requests to be merged if the pipeline succeeds
|
||||
|
||||
You can prevent merge requests from being merged if their pipeline did not succeed
|
||||
or if there are discussions to be resolved.
|
||||
or if there are threads to be resolved.
|
||||
|
||||
Navigate to your project's settings page and expand the **Merge requests** section.
|
||||
In the **Merge checks** subsection, select the **Pipelines must succeed** check
|
||||
|
|
|
@ -5,7 +5,7 @@ type: reference, concepts
|
|||
# "Work In Progress" merge requests
|
||||
|
||||
If a merge request is not yet ready to be merged, perhaps due to continued development
|
||||
or open discussions, you can prevent it from being accepted before it's ready by flagging
|
||||
or open threads, you can prevent it from being accepted before it's ready by flagging
|
||||
it as a **Work In Progress**. This will disable the "Merge" button, preventing it from
|
||||
being merged, and it will stay disabled until the "WIP" flag has been removed.
|
||||
|
||||
|
@ -19,7 +19,7 @@ There are several ways to flag a merge request as a Work In Progress:
|
|||
**Start the title with WIP:**, under the title box, when editing the merge request's
|
||||
description will have the same effect.
|
||||
- Add the `/wip` [quick action](../quick_actions.md#quick-actions-for-issues-and-merge-requests)
|
||||
in a discussion comment in the merge request. This is a toggle, and can be repeated
|
||||
in a comment in the merge request. This is a toggle, and can be repeated
|
||||
to change the status back. Note that any other text in the comment will be discarded.
|
||||
- Add "wip" or "WIP" to the start of a commit message targeting the merge request's
|
||||
source branch. This is not a toggle, and doing it again in another commit will have
|
||||
|
@ -34,7 +34,7 @@ Similar to above, when a Merge Request is ready to be merged, you can remove the
|
|||
**Remove the WIP: prefix from the title**, under the title box, when editing the merge
|
||||
request's description, will have the same effect.
|
||||
- Add the `/wip` [quick action](../quick_actions.md#quick-actions-for-issues-and-merge-requests)
|
||||
in a discussion comment in the merge request. This is a toggle, and can be repeated
|
||||
in a comment in the merge request. This is a toggle, and can be repeated
|
||||
to change the status back. Note that any other text in the comment will be discarded.
|
||||
- Click on the **Resolve WIP status** button near the bottom of the merge request description,
|
||||
next to the "Merge" button (see [image above](#work-in-progress-merge-requests)).
|
||||
|
|
|
@ -40,8 +40,8 @@ discussions, and descriptions:
|
|||
| `/remove_estimate` | Remove time estimate | ✓ | ✓ |
|
||||
| <code>/spend <time(1h 30m | -1h 5m)> <date(YYYY-MM-DD)></code> | Add or subtract spent time; optionally, specify the date that time was spent on | ✓ | ✓ |
|
||||
| `/remove_time_spent` | Remove time spent | ✓ | ✓ |
|
||||
| `/lock` | Lock the discussion | ✓ | ✓ |
|
||||
| `/unlock` | Unlock the discussion | ✓ | ✓ |
|
||||
| `/lock` | Lock the thread | ✓ | ✓ |
|
||||
| `/unlock` | Unlock the thread | ✓ | ✓ |
|
||||
| <code>/due <in 2 days | this Friday | December 31st></code>| Set due date | ✓ | |
|
||||
| `/remove_due_date` | Remove due date | ✓ | |
|
||||
| <code>/weight <0 | 1 | 2 | ...></code> | Set weight **(STARTER)** | ✓ | |
|
||||
|
|
|
@ -44,7 +44,7 @@ Set up your project's merge request settings:
|
|||
- Merge request [description templates](../description_templates.md#description-templates).
|
||||
- Enable [merge request approvals](../merge_requests/merge_request_approvals.md). **(STARTER)**
|
||||
- Enable [merge only of pipeline succeeds](../merge_requests/merge_when_pipeline_succeeds.md).
|
||||
- Enable [merge only when all discussions are resolved](../../discussions/index.md#only-allow-merge-requests-to-be-merged-if-all-discussions-are-resolved).
|
||||
- Enable [merge only when all discussions are resolved](../../discussions/index.md#only-allow-merge-requests-to-be-merged-if-all-threads-are-resolved).
|
||||
|
||||
![project's merge request settings](img/merge_requests_settings.png)
|
||||
|
||||
|
|
|
@ -38,7 +38,7 @@ comments: false
|
|||
- [Authorization for merge requests](../user/project/merge_requests/authorization_for_merge_requests.md)
|
||||
- [Cherry-pick changes](../user/project/merge_requests/cherry_pick_changes.md)
|
||||
- [Merge when pipeline succeeds](../user/project/merge_requests/merge_when_pipeline_succeeds.md)
|
||||
- [Resolve discussion comments in merge requests reviews](../user/discussions/index.md)
|
||||
- [Resolve threads in merge requests reviews](../user/discussions/index.md)
|
||||
- [Resolve merge conflicts in the UI](../user/project/merge_requests/resolve_conflicts.md)
|
||||
- [Revert changes in the UI](../user/project/merge_requests/revert_changes.md)
|
||||
- [Merge requests versions](../user/project/merge_requests/versions.md)
|
||||
|
|
|
@ -138,7 +138,7 @@ Notification emails include headers that provide extra content about the notific
|
|||
| X-GitLab-Project-Id | The ID of the project |
|
||||
| X-GitLab-Project-Path | The path of the project |
|
||||
| X-GitLab-(Resource)-ID | The ID of the resource the notification is for, where resource is `Issue`, `MergeRequest`, `Commit`, etc|
|
||||
| X-GitLab-Discussion-ID | Only in comment emails, the ID of the discussion the comment is from |
|
||||
| X-GitLab-Discussion-ID | Only in comment emails, the ID of the thread the comment is from |
|
||||
| X-GitLab-Pipeline-Id | Only in pipeline emails, the ID of the pipeline the notification is for |
|
||||
| X-GitLab-Reply-Key | A unique token to support reply by email |
|
||||
| X-GitLab-NotificationReason | The reason for being notified. "mentioned", "assigned", etc |
|
||||
|
|