Commit 1dffba3b authored by GitLab Bot's avatar GitLab Bot

Add latest changes from gitlab-org/gitlab@master

parent 396ad861
# Extra Sidekiq processes **(STARTER ONLY)** # Running multiple Sidekiq processes **(CORE ONLY)**
NOTE: **Note:** NOTE: **Note:**
The information in this page applies only to Omnibus GitLab. The information in this page applies only to Omnibus GitLab.
GitLab Starter allows one to start an extra set of Sidekiq processes GitLab allows you to start multiple Sidekiq processes.
besides the default one. These processes can be used to consume a dedicated set These processes can be used to consume a dedicated set
of queues. This can be used to ensure certain queues always have dedicated of queues. This can be used to ensure certain queues always have dedicated
workers, no matter the number of jobs that need to be processed. workers, no matter the number of jobs that need to be processed.
...@@ -15,12 +15,12 @@ For a list of the existing Sidekiq queues, check the following files: ...@@ -15,12 +15,12 @@ For a list of the existing Sidekiq queues, check the following files:
- [Queues for both GitLab Community and Enterprise Editions](https://gitlab.com/gitlab-org/gitlab/blob/master/app/workers/all_queues.yml) - [Queues for both GitLab Community and Enterprise Editions](https://gitlab.com/gitlab-org/gitlab/blob/master/app/workers/all_queues.yml)
- [Queues for GitLab Enterprise Editions only](https://gitlab.com/gitlab-org/gitlab/blob/master/ee/app/workers/all_queues.yml) - [Queues for GitLab Enterprise Editions only](https://gitlab.com/gitlab-org/gitlab/blob/master/ee/app/workers/all_queues.yml)
Each entry in the above files represents a queue on which extra Sidekiq processes Each entry in the above files represents a queue on which Sidekiq processes
can be started. can be started.
## Starting extra processes ## Starting multiple processes
To start extra Sidekiq processes, you must enable `sidekiq-cluster`: To start multiple Sidekiq processes, you must enable `sidekiq-cluster`:
1. Edit `/etc/gitlab/gitlab.rb` and add: 1. Edit `/etc/gitlab/gitlab.rb` and add:
...@@ -76,14 +76,14 @@ To start extra Sidekiq processes, you must enable `sidekiq-cluster`: ...@@ -76,14 +76,14 @@ To start extra Sidekiq processes, you must enable `sidekiq-cluster`:
Once the extra Sidekiq processes are added, you can visit the Once the extra Sidekiq processes are added, you can visit the
**Admin Area > Monitoring > Background Jobs** (`/admin/background_jobs`) in GitLab. **Admin Area > Monitoring > Background Jobs** (`/admin/background_jobs`) in GitLab.
![Extra Sidekiq processes](img/sidekiq-cluster.png) ![Multiple Sidekiq processes](img/sidekiq-cluster.png)
## Negating settings ## Negating settings
To have the additional Sidekiq processes work on every queue **except** the ones To have the additional Sidekiq processes work on every queue **except** the ones
you list: you list:
1. After you follow the steps for [starting extra processes](#starting-extra-processes), 1. After you follow the steps for [starting extra processes](#starting-multiple-processes),
edit `/etc/gitlab/gitlab.rb` and add: edit `/etc/gitlab/gitlab.rb` and add:
```ruby ```ruby
...@@ -189,6 +189,66 @@ sidekiq_cluster['queue_groups'] = [ ...@@ -189,6 +189,66 @@ sidekiq_cluster['queue_groups'] = [
] ]
``` ```
### Using Sidekiq cluster by default (experimental)
> [Introduced](https://gitlab.com/gitlab-org/omnibus-gitlab/-/merge_requests/4006) in GitLab 12.10.
CAUTION: **Warning:**
This feature is experimental.
We're moving [Sidekiq cluster to
core](https://gitlab.com/groups/gitlab-com/gl-infra/-/epics/181) and
plan to make it the default way of starting Sidekiq.
Set the following to start Sidekiq (cluster)
process for handling for all queues (`/etc/gitlab/gitlab.rb`):
```ruby
sidekiq['enable'] = true
sidekiq['cluster'] = true
```
All of the aforementioned configuration options for `sidekiq_cluster`
are also available. By default, they will be configured as follows:
```ruby
sidekiq['experimental_queue_selector'] = false
sidekiq['interval'] = nil
sidekiq['max_concurrency'] = nil
sidekiq['min_concurrency'] = nil
sidekiq['negate'] = false
sidekiq['queue_groups'] = ['*']
```
`sidekiq_cluster` must be disabled if you decide to configure the
cluster as above.
When disabling `sidekiq_cluster`, you must copy your configuration for
`sidekiq_cluster`over to `sidekiq`. Anything configured for
`sidekiq_cluster` will be overridden by the options for `sidekiq` when
setting `sidekiq['cluster'] = true`.
When using this feature, replace the `sidekiq` service with the
`sidekiq-cluster`service for `gitlab-ctl` commands.
For example, instead of:
```shell
sudo gitlab-ctl restart sidekiq
```
Use:
```shell
sudo gitlab-ctl restart sidekiq-cluster
```
The [concurrency](#managing-concurrency) and other options configured
for Sidekiq will be respected.
By default, logs for `sidekiq-cluster` go to `/var/log/gitlab/sidekiq`
like regular Sidekiq logs.
## Ignore all GitHub import queues ## Ignore all GitHub import queues
When [importing from GitHub](../../user/project/import/github.md), Sidekiq might When [importing from GitHub](../../user/project/import/github.md), Sidekiq might
......
...@@ -11,7 +11,7 @@ Keep your GitLab instance up and running smoothly. ...@@ -11,7 +11,7 @@ Keep your GitLab instance up and running smoothly.
by GitLab to another file system or another server. by GitLab to another file system or another server.
- [Sidekiq MemoryKiller](sidekiq_memory_killer.md): Configure Sidekiq MemoryKiller - [Sidekiq MemoryKiller](sidekiq_memory_killer.md): Configure Sidekiq MemoryKiller
to restart Sidekiq. to restart Sidekiq.
- [Extra Sidekiq operations](extra_sidekiq_processes.md): Configure an extra set of Sidekiq processes to ensure certain queues always have dedicated workers, no matter the amount of jobs that need to be processed. **(STARTER ONLY)** - [Multiple Sidekiq processes](extra_sidekiq_processes.md): Configure multiple Sidekiq processes to ensure certain queues always have dedicated workers, no matter the number of jobs that need to be processed. **(CORE ONLY)**
- [Unicorn](unicorn.md): Understand Unicorn and unicorn-worker-killer. - [Unicorn](unicorn.md): Understand Unicorn and unicorn-worker-killer.
- Speed up SSH operations by [Authorizing SSH users via a fast, - Speed up SSH operations by [Authorizing SSH users via a fast,
indexed lookup to the GitLab database](fast_ssh_key_lookup.md), and/or indexed lookup to the GitLab database](fast_ssh_key_lookup.md), and/or
......
...@@ -12,7 +12,7 @@ The [epic issues API](epic_issues.md) allows you to interact with issues associa ...@@ -12,7 +12,7 @@ The [epic issues API](epic_issues.md) allows you to interact with issues associa
## Milestone dates integration ## Milestone dates integration
> [Introduced][ee-6448] in GitLab 11.3. > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/6448) in GitLab 11.3.
Since start date and due date can be dynamically sourced from related issue milestones, when user has edit permission, Since start date and due date can be dynamically sourced from related issue milestones, when user has edit permission,
additional fields will be shown. These include two boolean fields `start_date_is_fixed` and `due_date_is_fixed`, additional fields will be shown. These include two boolean fields `start_date_is_fixed` and `due_date_is_fixed`,
...@@ -224,7 +224,7 @@ Example response: ...@@ -224,7 +224,7 @@ Example response:
Creates a new epic. Creates a new epic.
NOTE: **Note:** NOTE: **Note:**
Starting with GitLab [11.3][ee-6448], `start_date` and `end_date` should no longer be assigned Starting with GitLab [11.3](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/6448), `start_date` and `end_date` should no longer be assigned
directly, as they now represent composite values. You can configure it via the `*_is_fixed` and directly, as they now represent composite values. You can configure it via the `*_is_fixed` and
`*_fixed` fields instead. `*_fixed` fields instead.
...@@ -298,7 +298,7 @@ Example response: ...@@ -298,7 +298,7 @@ Example response:
Updates an epic. Updates an epic.
NOTE: **Note:** NOTE: **Note:**
Starting with GitLab [11.3][ee-6448], `start_date` and `end_date` should no longer be assigned Starting with GitLab [11.3](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/6448), `start_date` and `end_date` should no longer be assigned
directly, as they now represent composite values. You can configure it via the `*_is_fixed` and directly, as they now represent composite values. You can configure it via the `*_is_fixed` and
`*_fixed` fields instead. `*_fixed` fields instead.
...@@ -460,5 +460,3 @@ Example response: ...@@ -460,5 +460,3 @@ Example response:
"created_at": "2016-07-01T11:09:13.992Z" "created_at": "2016-07-01T11:09:13.992Z"
} }
``` ```
[ee-6448]: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/6448
# Group-level Variables API # Group-level Variables API
> [Introduced][ce-34519] in GitLab 9.5 > [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/issues/34519) in GitLab 9.5
## List group variables ## List group variables
...@@ -142,5 +142,3 @@ DELETE /groups/:id/variables/:key ...@@ -142,5 +142,3 @@ DELETE /groups/:id/variables/:key
```shell ```shell
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/1/variables/VARIABLE_1" curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/1/variables/VARIABLE_1"
``` ```
[ce-34519]: https://gitlab.com/gitlab-org/gitlab-foss/issues/34519
...@@ -749,6 +749,7 @@ GET /groups/:id/hooks/:hook_id ...@@ -749,6 +749,7 @@ GET /groups/:id/hooks/:hook_id
"merge_requests_events": true, "merge_requests_events": true,
"tag_push_events": true, "tag_push_events": true,
"note_events": true, "note_events": true,
"confidential_note_events": true,
"job_events": true, "job_events": true,
"pipeline_events": true, "pipeline_events": true,
"wiki_page_events": true, "wiki_page_events": true,
...@@ -775,6 +776,7 @@ POST /groups/:id/hooks ...@@ -775,6 +776,7 @@ POST /groups/:id/hooks
| `merge_requests_events` | boolean | no | Trigger hook on merge requests events | | `merge_requests_events` | boolean | no | Trigger hook on merge requests events |
| `tag_push_events` | boolean | no | Trigger hook on tag push events | | `tag_push_events` | boolean | no | Trigger hook on tag push events |
| `note_events` | boolean | no | Trigger hook on note events | | `note_events` | boolean | no | Trigger hook on note events |
| `confidential_note_events` | boolean | no | Trigger hook on confidential note events |
| `job_events` | boolean | no | Trigger hook on job events | | `job_events` | boolean | no | Trigger hook on job events |
| `pipeline_events` | boolean | no | Trigger hook on pipeline events | | `pipeline_events` | boolean | no | Trigger hook on pipeline events |
| `wiki_page_events` | boolean | no | Trigger hook on wiki events | | `wiki_page_events` | boolean | no | Trigger hook on wiki events |
...@@ -800,6 +802,7 @@ PUT /groups/:id/hooks/:hook_id ...@@ -800,6 +802,7 @@ PUT /groups/:id/hooks/:hook_id
| `merge_requests_events` | boolean | no | Trigger hook on merge requests events | | `merge_requests_events` | boolean | no | Trigger hook on merge requests events |
| `tag_push_events` | boolean | no | Trigger hook on tag push events | | `tag_push_events` | boolean | no | Trigger hook on tag push events |
| `note_events` | boolean | no | Trigger hook on note events | | `note_events` | boolean | no | Trigger hook on note events |
| `confidential_note_events` | boolean | no | Trigger hook on confidential note events |
| `job_events` | boolean | no | Trigger hook on job events | | `job_events` | boolean | no | Trigger hook on job events |
| `pipeline_events` | boolean | no | Trigger hook on pipeline events | | `pipeline_events` | boolean | no | Trigger hook on pipeline events |
| `wiki_events` | boolean | no | Trigger hook on wiki events | | `wiki_events` | boolean | no | Trigger hook on wiki events |
......
This diff is collapsed.
...@@ -183,7 +183,7 @@ curl https://gitlab.com/api/v4/projects/:id/snippets/:snippet_id/raw \ ...@@ -183,7 +183,7 @@ curl https://gitlab.com/api/v4/projects/:id/snippets/:snippet_id/raw \
## Get user agent details ## Get user agent details
> [Introduced][ce-29508] in GitLab 9.4. > [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/issues/29508) in GitLab 9.4.
Available only for admins. Available only for admins.
...@@ -211,5 +211,3 @@ Example response: ...@@ -211,5 +211,3 @@ Example response:
"akismet_submitted": false "akismet_submitted": false
} }
``` ```
[ce-29508]: https://gitlab.com/gitlab-org/gitlab-foss/issues/29508
# Todos API # Todos API
> [Introduced][ce-3188] in GitLab 8.10. > [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/3188) in GitLab 8.10.
## Get a list of todos ## Get a list of todos
...@@ -287,5 +287,3 @@ POST /todos/mark_as_done ...@@ -287,5 +287,3 @@ POST /todos/mark_as_done
```shell ```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/todos/mark_as_done curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/todos/mark_as_done
``` ```
[ce-3188]: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/3188
...@@ -90,7 +90,7 @@ project.actual_limits.exceeded?(:project_hooks, 10) ...@@ -90,7 +90,7 @@ project.actual_limits.exceeded?(:project_hooks, 10)
#### `Limitable` concern #### `Limitable` concern
The [`Limitable` concern](https://gitlab.com/gitlab-org/gitlab/blob/master/ee/app/models/concerns/ee/limitable.rb) The [`Limitable` concern](https://gitlab.com/gitlab-org/gitlab/blob/master/ee/app/models/concerns/limitable.rb)
can be used to validate that a model does not exceed the limits. It ensures can be used to validate that a model does not exceed the limits. It ensures
that the count of the records for the current model does not exceed the defined that the count of the records for the current model does not exceed the defined
limit. limit.
......
...@@ -15,14 +15,14 @@ There are standard comments, and you also have the option to create a comment ...@@ -15,14 +15,14 @@ There are standard comments, and you also have the option to create a 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) 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. when it receives a reply.
The comment area supports [Markdown] and [quick actions]. You can edit your own The comment area supports [Markdown](../markdown.md) and [quick actions](../project/quick_actions.md). You can edit your own
comment at any time, and anyone with [Maintainer access level][permissions] or comment at any time, and anyone with [Maintainer access level](../permissions.md) or
higher can also edit a comment made by someone else. 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 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 [Reply by email] is configured for your GitLab instance. Replying to a standard comment
creates another standard comment. Replying to a threaded comment creates a reply in the thread. Email replies support 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. [Markdown](../markdown.md) and [quick actions](../project/quick_actions.md), just as if you replied from the web.
NOTE: **Note:** NOTE: **Note:**
There is a limit of 5,000 comments for every object, for example: issue, epic, and merge request. There is a limit of 5,000 comments for every object, for example: issue, epic, and merge request.
...@@ -48,7 +48,7 @@ to address feedback and lets you hide threads that are no longer relevant. ...@@ -48,7 +48,7 @@ to address feedback and lets you hide threads that are no longer relevant.
### Commit threads in the context of a merge request ### Commit threads in the context of a merge request
> [Introduced][ce-31847] in GitLab 10.3. > [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/issues/31847) in GitLab 10.3.
For reviewers with commit-based workflow, it may be useful to add threads to 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 specific commit diffs in the context of a merge request. These threads will
...@@ -112,7 +112,7 @@ Alternatively, you can mark each comment as resolved individually. ...@@ -112,7 +112,7 @@ Alternatively, you can mark each comment as resolved individually.
### Move all unresolved threads 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 > [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/8266) in GitLab 9.1
To continue all open threads from a merge request in a new issue, click the To continue all open threads from a merge request in a new issue, click the
**Resolve all threads in new issue** button. **Resolve all threads in new issue** button.
...@@ -156,7 +156,7 @@ add a note to the merge request thread referencing the new issue. ...@@ -156,7 +156,7 @@ add a note to the merge request thread referencing the new issue.
### Only allow merge requests to be merged if all threads are resolved ### Only allow merge requests to be merged if all threads are resolved
> [Introduced][ce-7125] in GitLab 8.14. > [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/7125) in GitLab 8.14.
You can prevent merge requests from being merged until all threads are You can prevent merge requests from being merged until all threads are
resolved. resolved.
...@@ -174,7 +174,7 @@ are resolved. ...@@ -174,7 +174,7 @@ are resolved.
### Automatically resolve merge request diff threads when they become outdated ### Automatically resolve merge request diff threads when they become outdated
> [Introduced][ce-14053] in GitLab 10.0. > [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/14053) in GitLab 10.0.
You can automatically resolve merge request diff threads on lines modified You can automatically resolve merge request diff threads on lines modified
with a new push. with a new push.
...@@ -200,7 +200,7 @@ force push. ...@@ -200,7 +200,7 @@ force push.
## Threaded discussions ## Threaded discussions
> [Introduced][ce-7527] in GitLab 9.1. > [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/7527) in GitLab 9.1.
While resolvable threads are only available to merge request diffs, While resolvable threads are only available to merge request diffs,
threads can also be added without a diff. You can start a specific threads can also be added without a diff. You can start a specific
...@@ -220,7 +220,7 @@ comments in greater detail. ...@@ -220,7 +220,7 @@ comments in greater detail.
## Image threads ## Image threads
> [Introduced][ce-14061] in GitLab 10.1. > [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/14061) in GitLab 10.1.
Sometimes a thread is revolved around an image. With image threads, 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 you can easily target a specific coordinate of an image and start a thread
...@@ -257,7 +257,7 @@ load and will have a corresponding badge counter to match the counter on the ima ...@@ -257,7 +257,7 @@ load and will have a corresponding badge counter to match the counter on the ima
## Lock discussions ## Lock discussions
> [Introduced][ce-14531] in GitLab 10.1. > [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/14531) in GitLab 10.1.
For large projects with many contributors, it may be useful to stop threads For large projects with many contributors, it may be useful to stop threads
in issues or merge requests in these scenarios: in issues or merge requests in these scenarios:
...@@ -313,7 +313,7 @@ All comments that are part of a review show two buttons: ...@@ -313,7 +313,7 @@ All comments that are part of a review show two buttons:
![A comment that is part of a review](img/pending_review_comment.png) ![A comment that is part of a review](img/pending_review_comment.png)
You can use [quick actions] inside review comments. The comment will show the actions that will be performed once published. You can use [quick actions](../project/quick_actions.md) inside review comments. The comment will show the actions that will be performed once published.
![A review comment with quick actions](img/review_comment_quickactions.png) ![A review comment with quick actions](img/review_comment_quickactions.png)
...@@ -500,20 +500,3 @@ to the original comment, so a note about when it was last edited will appear und ...@@ -500,20 +500,3 @@ to the original comment, so a note about when it was last edited will appear und
This feature only exists for Issues, Merge requests, and Epics. Commits, Snippets and Merge request diff threads are This feature only exists for Issues, Merge requests, and Epics. Commits, Snippets and Merge request diff threads are
not supported yet. not supported yet.
[ce-7125]: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/7125
[ce-7527]: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/7527
[ce-7180]: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/7180
[ce-8266]: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/8266
[ce-14053]: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/14053
[ce-14061]: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/14061
[ce-14531]: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/14531
[ce-31847]: https://gitlab.com/gitlab-org/gitlab-foss/issues/31847
[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
[markdown]: ../markdown.md
[quick actions]: ../project/quick_actions.md
[permissions]: ../permissions.md
[Reply by email]: ../../administration/reply_by_email.md
...@@ -4,8 +4,9 @@ ...@@ -4,8 +4,9 @@
Badges are a unified way to present condensed pieces of information about your Badges are a unified way to present condensed pieces of information about your
projects. They consist of a small image and additionally a URL that the image projects. They consist of a small image and additionally a URL that the image
points to. Examples for badges can be the [pipeline status], [test coverage], points to. Examples for badges can be the [pipeline status](../../ci/pipelines/settings.md#pipeline-status-badge),
or ways to contact the project maintainers. [test coverage](../../ci/pipelines/settings.md#test-coverage-report-badge), or ways to contact the
project maintainers.
![Badges on Project overview page](img/project_overview_badges.png) ![Badges on Project overview page](img/project_overview_badges.png)
...@@ -73,6 +74,3 @@ using these placeholders if the information is sensitive. ...@@ -73,6 +74,3 @@ using these placeholders if the information is sensitive.
You can also configure badges via the GitLab API. As in the settings, there is You can also configure badges via the GitLab API. As in the settings, there is
a distinction between endpoints for badges on the a distinction between endpoints for badges on the
[project level](../../api/project_badges.md) and [group level](../../api/group_badges.md). [project level](../../api/project_badges.md) and [group level](../../api/group_badges.md).
[pipeline status]: ../../ci/pipelines/settings.md#pipeline-status-badge
[test coverage]: ../../ci/pipelines/settings.md#test-coverage-report-badge
# Description templates # Description templates
>[Introduced][ce-4981] in GitLab 8.11. >[Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/4981) in GitLab 8.11.
We all know that a properly submitted issue is more likely to be addressed in We all know that a properly submitted issue is more likely to be addressed in
a timely manner by the developers of a project. a timely manner by the developers of a project.
...@@ -27,12 +27,12 @@ templates of the default branch will be taken into account. ...@@ -27,12 +27,12 @@ templates of the default branch will be taken into account.
- Add a template to be used in every issue for a specific project, - Add a template to be used in every issue for a specific project,
giving instructions and guidelines, requiring for information specific to that subject. giving instructions and guidelines, requiring for information specific to that subject.
For example, if you have a project for tracking new blog posts, you can require the For example, if you have a project for tracking new blog posts, you can require the
title, outlines, author name, author social media information, etc. title, outlines, author name, author social media information, and so on.
- Following the previous example, you can make a template for every MR submitted - Following the previous example, you can make a template for every MR submitted
with a new blog post, requiring information about the post date, frontmatter data, with a new blog post, requiring information about the post date, frontmatter data,
images guidelines, link to the related issue, reviewer name, etc. images guidelines, link to the related issue, reviewer name, and so on.
- You can also create issues and merge request templates for different - You can also create issues and merge request templates for different
stages of your workflow, e.g., feature proposal, feature improvement, bug report, etc. stages of your workflow, for example, feature proposal, feature improvement, or a bug report.
## Creating issue templates ## Creating issue templates
...@@ -57,25 +57,25 @@ changes you made after picking the template and return it to its initial status. ...@@ -57,25 +57,25 @@ changes you made after picking the template and return it to its initial status.
## Setting a default template for merge requests and issues **(STARTER)** ## Setting a default template for merge requests and issues **(STARTER)**
> **Notes:** > - This feature was introduced before [description templates](#overview) and is available in [GitLab Starter](https://about.gitlab.com/pricing/). It can be enabled in the project's settings.
> > - Templates for issues were [introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28) in GitLab EE 8.1.
> - This feature was introduced before [description templates](#overview) and is > - Templates for merge requests were [introduced](https://gitlab.com/gitlab-org/gitlab/commit/7478ece8b48e80782b5465b96c79f85cc91d391b) in GitLab EE 6.9.
> available in [GitLab Starter][products]. It can be enabled
> in the project's settings.
> - Templates for issues were [introduced][ee-28] in GitLab EE 8.1.
> - Templates for merge requests were [introduced][ee-7478ece] in GitLab EE 6.9.
The visibility of issues and/or merge requests should be set to either "Everyone The visibility of issues and/or merge requests should be set to either "Everyone
with access" or "Only Project Members" in your project's **Settings / Visibility, project features, permissions** section, otherwise the with access" or "Only Project Members" in your project's **Settings / Visibility, project features, permissions** section, otherwise the
template text areas won't show. This is the default behavior so in most cases template text areas won't show. This is the default behavior so in most cases
you should be fine. you should be fine.
Go to your project's **Settings** and under the **Merge requests** header, click *Expand* and fill in the "Default description template 1. Go to your project's **Settings**.
for merge requests" text area. Under the **Default issue template**, click *Expand* and fill in "Default description template for issues" text area. Since GitLab merge request and issues 1. Click **Expand** under the **Merge requests** header.
support [Markdown](../markdown.md), you can use special markup like 1. Fill in the **Default description template for merge requests** text area.
headings, lists, etc. 1. Click **Expand** under **Default issue template**.
1. Fill in the **Default description template for issues** text area.
Since GitLab merge request and issues support [Markdown](../markdown.md), you can use it to format
headings, lists, and so on.
![Default merge request description templates](img/description_templates_merge_request_settings.png) ![Default merge request description templates](img/description_templates_merge_request_settings.png)
![Default issue description templates](img/description_templates_issue_settings.png) ![Default issue description templates](img/description_templates_issue_settings.png)
After you add the description, hit **Save changes** for the settings to take After you add the description, hit **Save changes** for the settings to take
...@@ -84,12 +84,16 @@ pre-filled with the text you entered in the template(s). ...@@ -84,12 +84,16 @@ pre-filled with the text you entered in the template(s).
## Description template example ## Description template example
We make use of Description Templates for Issues and Merge Requests within the GitLab Community Edition project. Please refer to the [`.gitlab` folder][gitlab-templates] for some examples. We make use of Description Templates for Issues and Merge Requests within the GitLab Community
Edition project. Please refer to the [`.gitlab` folder](https://gitlab.com/gitlab-org/gitlab/tree/master/.gitlab)
for some examples.
> **Tip:** TIP: **Tip:**
It is possible to use [quick actions](quick_actions.md) within description templates to quickly add labels, assignees, and milestones. The quick actions will only be executed if the user submitting the Issue or Merge Request has the permissions to perform the relevant actions. It's possible to use [quick actions](quick_actions.md) within description templates to quickly add
labels, assignees, and milestones. The quick actions will only be executed if the user submitting
the issue or merge request has the permissions to perform the relevant actions.
Here is an example for a Bug report template: Here is an example of a Bug report template:
```plaintext ```plaintext
Summary Summary
...@@ -133,9 +137,3 @@ Possible fixes ...@@ -133,9 +137,3 @@ Possible fixes
/cc @project-manager /cc @project-manager
/assign @qa-tester /assign @qa-tester
``` ```
[ce-4981]: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/4981
[gitlab-templates]: https://gitlab.com/gitlab-org/gitlab/tree/master/.gitlab
[ee-28]: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28 "Merge Request for adding issues template"
[ee-7478ece]: https://gitlab.com/gitlab-org/gitlab/commit/7478ece8b48e80782b5465b96c79f85cc91d391b "Commit that introduced merge requests templates"
[products]: https://about.gitlab.com/pricing/
# Issue Boards # Issue Boards
> [Introduced][ce-5554] in [GitLab 8.11](https://about.gitlab.com/releases/2016/08/22/gitlab-8-11-released/#issue-board). > [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/5554) in [GitLab 8.11](https://about.gitlab.com/releases/2016/08/22/gitlab-8-11-released/#issue-board).
## Overview ## Overview
The GitLab Issue Board is a software project management tool used to plan, The GitLab Issue Board is a software project management tool used to plan,
organize, and visualize a workflow for a feature or product release. organize, and visualize a workflow for a feature or product release.
It can be used as a [Kanban] or a [Scrum] board. It can be used as a [Kanban](https://en.wikipedia.org/wiki/Kanban_(development)) or a
[Scrum](https://en.wikipedia.org/wiki/Scrum_(software_development)) board.
It provides perfect pairing between issue tracking and project management, It provides perfect pairing between issue tracking and project management,
keeping everything in the same place, so that you don't need to jump keeping everything in the same place, so that you don't need to jump
...@@ -191,8 +192,10 @@ This allows you to create unique boards according to your team's need. ...@@ -191,8 +192,10 @@ This allows you to create unique boards according to your team's need.
![Create scoped board](img/issue_board_creation.png) ![Create scoped board](img/issue_board_creation.png)
You can define the scope of your board when creating it or by clicking on the "Edit board" button. Once a milestone, assignee or weight is assigned to an Issue Board, you will no longer be able to filter You can define the scope of your board when creating it or by clicking on the "Edit board" button.
through these in the search bar. In order to do that, you need to remove the desired scope (e.g. milestone, assignee or weight) from the Issue Board. Once a milestone, assignee or weight is assigned to an Issue Board, you will no longer be able to
filter through these in the search bar. In order to do that, you need to remove the desired scope
(for example, milestone, assignee, or weight) from the Issue Board.
![Edit board configuration](img/issue_board_edit_button.png) ![Edit board configuration](img/issue_board_edit_button.png)
...@@ -381,21 +384,21 @@ that order simply by dragging and dropping the issues. The changed order will be ...@@ -381,21 +384,21 @@ that order simply by dragging and dropping the issues. The changed order will be
to the system so that anybody who visits the same board later will see the reordering, to the system so that anybody who visits the same board later will see the reordering,
with some exceptions. with some exceptions.
The first time a given issue appears in any board (i.e. the first time a user The first time a given issue appears in any board (that is, the first time a user
loads a board containing that issue), it will be ordered with loads a board containing that issue), it is ordered with
respect to other issues in that list according to [Priority order](labels.md#label-priority). respect to other issues in that list according to [Priority order](labels.md#label-priority).
At that point, that issue will be assigned a relative order value by the system At that point, that issue is assigned a relative order value by the system
representing its relative order with respect to the other issues in the list. Any time representing its relative order with respect to the other issues in the list. Any time
you drag-and-drop reorder that issue, its relative order value will change accordingly. you drag-and-drop reorder that issue, its relative order value changes accordingly.
Also, any time that issue appears in any board when it is loaded by a user, Also, any time that issue appears in any board when it's loaded by a user,
the updated relative order value will be used for the ordering. (It's only the first the updated relative order value is used for the ordering. (It's only the first
time an issue appears that it takes from the Priority order mentioned above.) This means that time an issue appears that it takes from the Priority order mentioned above.) This means that
if issue `A` is drag-and-drop reordered to be above issue `B` by any user in if issue `A` is drag-and-drop reordered to be above issue `B` by any user in
a given board inside your GitLab instance, any time those two issues are subsequently a given board inside your GitLab instance, any time those two issues are subsequently
loaded in any board in the same instance (could be a different project board or a different group board, for example), loaded in any board in the same instance (could be a different project board or a different group
that ordering will be maintained. board, for example), that ordering is maintained.
This ordering also affects [issue lists](issues/sorting_issue_lists.md). This ordering also affects [issue lists](issues/sorting_issue_lists.md).
Changing the order in an issue board changes the ordering in an issue list, Changing the order in an issue board changes the ordering in an issue list,
...@@ -413,7 +416,7 @@ You can filter by author, assignee, milestone, and label. ...@@ -413,7 +416,7 @@ You can filter by author, assignee, milestone, and label.
By reordering your lists, you can create workflows. As lists in Issue Boards are By reordering your lists, you can create workflows. As lists in Issue Boards are
based on labels, it works out of the box with your existing issues. So if you've based on labels, it works out of the box with your existing issues. So if you've
already labeled things with 'Backend' and 'Frontend', the issue will appear in already labeled things with 'Backend' and 'Frontend', the issue appears in
the lists as you create them. In addition, this means you can easily move the lists as you create them. In addition, this means you can easily move
something between lists by changing a label. something between lists by changing a label.
...@@ -464,7 +467,7 @@ You can select multiple issue cards, then drag the group to another position wit ...@@ -464,7 +467,7 @@ You can select multiple issue cards, then drag the group to another position wit
To select and move multiple cards: To select and move multiple cards:
1. Select each card with <kbd>Ctrl</kbd>+`Click` on Windows or Linux, or <kbd>Cmd</kbd>+`Click` on MacOS. 1. Select each card with <kbd>Ctrl</kbd>+`Click` on Windows or Linux, or <kbd>Cmd</kbd>+`Click` on MacOS.
1. Drag one of the selected cards to another position or list and all selected cards will be moved. 1. Drag one of the selected cards to another position or list and all selected cards are moved.
![Multi-select Issue Cards](img/issue_boards_multi_select_v12_4.png) ![Multi-select Issue Cards](img/issue_boards_multi_select_v12_4.png)
...@@ -476,13 +479,9 @@ A few things to remember: ...@@ -476,13 +479,9 @@ A few things to remember:
and adds the label from the list it goes to. and adds the label from the list it goes to.
- An issue can exist in multiple lists if it has more than one label. - An issue can exist in multiple lists if it has more than one label.
- Lists are populated with issues automatically if the issues are labeled. - Lists are populated with issues automatically if the issues are labeled.
- Clicking on the issue title inside a card will take you to that issue. - Clicking on the issue title inside a card takes you to that issue.
- Clicking on a label inside a card will quickly filter the entire Issue Board - Clicking on a label inside a card quickly filters the entire Issue Board
and show only the issues from all lists that have that label. and show only the issues from all lists that have that label.
- For performance and visibility reasons, each list shows the first 20 issues - For performance and visibility reasons, each list shows the first 20 issues
by default. If you have more than 20 issues start scrolling down and the next by default. If you have more than 20 issues, start scrolling down and the next
20 will appear. 20 appears.
[ce-5554]: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/5554
[scrum]: https://en.wikipedia.org/wiki/Scrum_(software_development)
[kanban]: https://en.wikipedia.org/wiki/Kanban_(development)
...@@ -4,7 +4,7 @@ disqus_identifier: 'https://docs.gitlab.com/ee/workflow/todos.html' ...@@ -4,7 +4,7 @@ disqus_identifier: 'https://docs.gitlab.com/ee/workflow/todos.html'
# GitLab To-Do List # GitLab To-Do List
> [Introduced][ce-2817] in GitLab 8.5. > [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/2817) in GitLab 8.5.
When you log into GitLab, you normally want to see where you should spend your When you log into GitLab, you normally want to see where you should spend your
time, take some action, or know what you need to keep an eye on without time, take some action, or know what you need to keep an eye on without
...@@ -29,7 +29,7 @@ displays on the To-Do List. ...@@ -29,7 +29,7 @@ displays on the To-Do List.
## What triggers a To Do ## What triggers a To Do
A To Do displays on your To-Do List when: A To Do appears on your To-Do List when:
- An issue or merge request is assigned to you - An issue or merge request is assigned to you
- You are `@mentioned` in the description or comment of an: - You are `@mentioned` in the description or comment of an:
...@@ -46,11 +46,13 @@ A To Do displays on your To-Do List when: ...@@ -46,11 +46,13 @@ A To Do displays on your To-Do List when:
To-do triggers are not affected by [GitLab Notification Email settings](profile/notifications.md). To-do triggers are not affected by [GitLab Notification Email settings](profile/notifications.md).
NOTE: **Note:** NOTE: **Note:**
When a user no longer has access to a resource related to a To Do (like an issue, merge request, project, or group) the related To-Do items are deleted within the next hour for security reasons. The delete is delayed to prevent data loss, in case the user's access was revoked by mistake. When a user no longer has access to a resource related to a To Do (like an issue, merge request,
project, or group) the related To-Do items are deleted within the next hour for security reasons.
The delete is delayed to prevent data loss, in case the user's access was revoked by mistake.
### Directly addressing a To Do ### Directly addressing a To Do
> [Introduced][ce-7926] in GitLab 9.0. > [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/7926) in GitLab 9.0.
If you are mentioned at the start of a line, the To Do you receive will be listed If you are mentioned at the start of a line, the To Do you receive will be listed
as 'directly addressed'. For example, in this comment: as 'directly addressed'. For example, in this comment:
...@@ -136,7 +138,12 @@ There are four kinds of filters you can use on your To-Do List. ...@@ -136,7 +138,12 @@ There are four kinds of filters you can use on your To-Do List.
| Type | Filter by issue, merge request, or epic **(ULTIMATE)** | | Type | Filter by issue, merge request, or epic **(ULTIMATE)** |
| Action | Filter by the action that triggered the To Do | | Action | Filter by the action that triggered the To Do |
You can also filter by more than one of these at the same time. The possible Actions are `Any Action`, `Assigned`, `Mentioned`, `Added`, `Pipelines`, and `Directly Addressed`, [as described above](#what-triggers-a-to-do). You can also filter by more than one of these at the same time. The possible Actions are
[described above](#what-triggers-a-to-do) and include:
[ce-2817]: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/2817 - Any Action
[ce-7926]: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/7926 - Assigned
- Mentioned
- Added
- Pipelines
- Directly Addressed
...@@ -18,7 +18,7 @@ module QA ...@@ -18,7 +18,7 @@ module QA
end end
end end
it 'pushes to a project using a specific Praefect repository storage', :smoke, :requires_admin, :requires_praefect, quarantine: { issue: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/276', type: :new } do it 'pushes to a project using a specific Praefect repository storage', :smoke, :requires_admin, :requires_praefect do
Flow::Login.sign_in_as_admin Flow::Login.sign_in_as_admin
project = Resource::Project.fabricate_via_api! do |storage_project| project = Resource::Project.fabricate_via_api! do |storage_project|
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment