diff options
author | Sean McGivern <sean@gitlab.com> | 2018-07-06 13:41:03 +0300 |
---|---|---|
committer | Sean McGivern <sean@gitlab.com> | 2018-07-06 13:41:03 +0300 |
commit | 827712e78ebb645bc7250f927de99c5f3395368f (patch) | |
tree | bb29b6bfc776ed5b99ab84918c33708e12df64ea /doc/user | |
parent | 0d9ef34a2541a2adf00677132eac3637de33b6d4 (diff) | |
parent | b0fa01fce3822da94aee6264829841996beb6df3 (diff) |
Merge branch 'master' into satishperala/gitlab-ce-20720_webhooks_full_image_url
Diffstat (limited to 'doc/user')
30 files changed, 245 insertions, 121 deletions
diff --git a/doc/user/admin_area/settings/sign_up_restrictions.md b/doc/user/admin_area/settings/sign_up_restrictions.md index 26329f20339..9801a0a14ed 100644 --- a/doc/user/admin_area/settings/sign_up_restrictions.md +++ b/doc/user/admin_area/settings/sign_up_restrictions.md @@ -38,3 +38,4 @@ semicolon, comma, or a new line. ![Domain Blacklist](img/domain_blacklist.png) [ce-5259]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/5259 +[ce-598]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/598 diff --git a/doc/user/index.md b/doc/user/index.md index edf50019c2f..90f0e2285c3 100644 --- a/doc/user/index.md +++ b/doc/user/index.md @@ -7,7 +7,7 @@ description: 'Read through the GitLab User documentation to learn how to use, co Welcome to GitLab! We're glad to have you here! As a GitLab user you'll have access to all the features -your [subscription](https://about.gitlab.com/products/) +your [subscription](https://about.gitlab.com/pricing/) includes, except [GitLab administrator](../README.md#administrator-documentation) settings, unless you have admin privileges to install, configure, and upgrade your GitLab instance. diff --git a/doc/user/permissions.md b/doc/user/permissions.md index a35bf48e62d..b6438397db8 100644 --- a/doc/user/permissions.md +++ b/doc/user/permissions.md @@ -313,4 +313,4 @@ Read through the documentation on [LDAP users permissions](https://docs.gitlab.c [ce-18994]: https://gitlab.com/gitlab-org/gitlab-ce/issues/18994 [new-mod]: project/new_ci_build_permissions_model.md [ee-998]: https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/998 -[eep]: https://about.gitlab.com/products/ +[eep]: https://about.gitlab.com/pricing/ diff --git a/doc/user/project/clusters/index.md b/doc/user/project/clusters/index.md index 58a483bb3b2..b25b09f7b1f 100644 --- a/doc/user/project/clusters/index.md +++ b/doc/user/project/clusters/index.md @@ -7,9 +7,10 @@ cluster in a few steps. ## Overview -With a Kubernetes cluster associated to your project, you can use +With one or more Kubernetes clusters associated to your project, you can use [Review Apps](../../../ci/review_apps/index.md), deploy your applications, run -your pipelines, and much more, in an easy way. +your pipelines, use it with [Auto DevOps](../../../topics/autodevops/index.md), +and much more, all from within GitLab. There are two options when adding a new cluster to your project; either associate your account with Google Kubernetes Engine (GKE) so that you can [create new @@ -18,59 +19,65 @@ or provide the credentials to an [existing Kubernetes cluster](#adding-an-existi ## Adding and creating a new GKE cluster via GitLab +TIP: **Tip:** +Every new Google Cloud Platform (GCP) account receives [$300 in credit upon sign up](https://console.cloud.google.com/freetrial), +and in partnership with Google, GitLab is able to offer an additional $200 for new GCP accounts to get started with GitLab's +Google Kubernetes Engine Integration. All you have to do is [follow this link](https://goo.gl/AaJzRW) and apply for credit. + NOTE: **Note:** -You need Maintainer [permissions] and above to access the Kubernetes page. - -Before proceeding, make sure the following requirements are met: - -- The [Google authentication integration](../../../integration/google.md) must - be enabled in GitLab at the instance level. If that's not the case, ask your - GitLab administrator to enable it. -- Your associated Google account must have the right privileges to manage - clusters on GKE. That would mean that a [billing - account](https://cloud.google.com/billing/docs/how-to/manage-billing-account) - must be set up and that you have to have permissions to access it. -- You must have Maintainer [permissions] in order to be able to access the - **Kubernetes** page. -- You must have [Cloud Billing API](https://cloud.google.com/billing/) enabled -- You must have [Resource Manager - API](https://cloud.google.com/resource-manager/) +The [Google authentication integration](../../../integration/google.md) must +be enabled in GitLab at the instance level. If that's not the case, ask your +GitLab administrator to enable it. On GitLab.com, this is enabled. + +### Requirements + +Before creating your first cluster on Google Kubernetes Engine with GitLab's +integration, make sure the following requirements are met: + +- A [billing account](https://cloud.google.com/billing/docs/how-to/manage-billing-account) + is set up and you have permissions to access it. +- The Kubernetes Engine API is enabled. Follow the steps as outlined in the + ["Before you begin" section of the Kubernetes Engine docs](https://cloud.google.com/kubernetes-engine/docs/quickstart#before-you-begin). + +### Creating the cluster If all of the above requirements are met, you can proceed to create and add a -new Kubernetes cluster that will be hosted on GKE to your project: +new Kubernetes cluster to your project: 1. Navigate to your project's **Operations > Kubernetes** page. + + NOTE: **Note:** + You need Maintainer [permissions] and above to access the Kubernetes page. + 1. Click on **Add Kubernetes cluster**. 1. Click on **Create with Google Kubernetes Engine**. 1. Connect your Google account if you haven't done already by clicking the **Sign in with Google** button. -1. Fill in the requested values: +1. From there on, choose your cluster's settings: - **Kubernetes cluster name** - The name you wish to give the cluster. - **Environment scope** - The [associated environment](#setting-the-environment-scope) to this cluster. - - **Google Cloud Platform project** - The project you created in your GCP - console that will host the Kubernetes cluster. This must **not** be confused - with the project ID. Learn more about [Google Cloud Platform projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects). - - **Zone** - The [zone](https://cloud.google.com/compute/docs/regions-zones/) + - **Google Cloud Platform project** - Choose the project you created in your GCP + console that will host the Kubernetes cluster. Learn more about + [Google Cloud Platform projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects). + - **Zone** - Choose the [region zone](https://cloud.google.com/compute/docs/regions-zones/) under which the cluster will be created. - - **Number of nodes** - The number of nodes you wish the cluster to have. + - **Number of nodes** - Enter the number of nodes you wish the cluster to have. - **Machine type** - The [machine type](https://cloud.google.com/compute/docs/machine-types) of the Virtual Machine instance that the cluster will be based on. 1. Finally, click the **Create Kubernetes cluster** button. -After a few moments, your cluster should be created. If something goes wrong, -you will be notified. - -You can now proceed to install some pre-defined applications and then -enable the Cluster integration. +After a couple of minutes, your cluster will be ready to go. You can now proceed +to install some [pre-defined applications](#installing-applications). ## Adding an existing Kubernetes cluster -NOTE: **Note:** -You need Maintainer [permissions] and above to access the Kubernetes page. - To add an existing Kubernetes cluster to your project: 1. Navigate to your project's **Operations > Kubernetes** page. + + NOTE: **Note:** + You need Maintainer [permissions] and above to access the Kubernetes page. + 1. Click on **Add Kubernetes cluster**. 1. Click on **Add an existing Kubernetes cluster** and fill in the details: - **Kubernetes cluster name** (required) - The name you wish to give the cluster. @@ -91,9 +98,8 @@ To add an existing Kubernetes cluster to your project: to create one. You can also view or create service tokens in the [Kubernetes dashboard](https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/#config) (under **Config > Secrets**). - - **Project namespace** (optional) - The following apply: - - By default you don't have to fill it in; by leaving it blank, GitLab will - create one for you. + - **Project namespace** (optional) - You don't have to fill it in; by leaving + it blank, GitLab will create one for you. Also: - Each project should have a unique namespace. - The project namespace is not necessarily the namespace of the secret, if you're using a secret with broader permissions, like the secret from `default`. @@ -103,11 +109,8 @@ To add an existing Kubernetes cluster to your project: be the same. 1. Finally, click the **Create Kubernetes cluster** button. -After a few moments, your cluster should be created. If something goes wrong, -you will be notified. - -You can now proceed to install some pre-defined applications and then -enable the Kubernetes cluster integration. +After a couple of minutes, your cluster will be ready to go. You can now proceed +to install some [pre-defined applications](#installing-applications). ## Security implications @@ -152,9 +155,9 @@ added directly to your configured cluster. Those applications are needed for | Application | GitLab version | Description | | ----------- | :------------: | ----------- | -| [Helm Tiller](https://docs.helm.sh/) | 10.2+ | Helm is a package manager for Kubernetes and is required to install all the other applications. It will be automatically installed as a dependency when you try to install a different app. It is installed in its own pod inside the cluster which can run the `helm` CLI in a safe environment. | +| [Helm Tiller](https://docs.helm.sh/) | 10.2+ | Helm is a package manager for Kubernetes and is required to install all the other applications. It is installed in its own pod inside the cluster which can run the `helm` CLI in a safe environment. | | [Ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/) | 10.2+ | Ingress can provide load balancing, SSL termination, and name-based virtual hosting. It acts as a web proxy for your applications and is useful if you want to use [Auto DevOps] or deploy your own web apps. | -| [Prometheus](https://prometheus.io/docs/introduction/overview/) | 10.4+ | Prometheus is an open-source monitoring and alerting system useful to supervise your deployed applications | +| [Prometheus](https://prometheus.io/docs/introduction/overview/) | 10.4+ | Prometheus is an open-source monitoring and alerting system useful to supervise your deployed applications. | | [GitLab Runner](https://docs.gitlab.com/runner/) | 10.6+ | GitLab Runner is the open source project that is used to run your jobs and send the results back to GitLab. It is used in conjunction with [GitLab CI/CD](https://about.gitlab.com/features/gitlab-ci-cd/), the open-source continuous integration service included with GitLab that coordinates the jobs. When installing the GitLab Runner via the applications, it will run in **privileged mode** by default. Make sure you read the [security implications](#security-implications) before doing so. | | [JupyterHub](http://jupyter.org/) | 11.0+ | [JupyterHub](https://jupyterhub.readthedocs.io/en/stable/) is a multi-user service for managing notebooks across a team. [Jupyter Notebooks](https://jupyter-notebook.readthedocs.io/en/latest/) provide a web-based interactive programming environment used for data analysis, visualization, and machine learning. **Note**: Authentication will be enabled for any user of the GitLab server via OAuth2. HTTPS will be supported in a future release. | @@ -403,5 +406,5 @@ the deployment variables above, ensuring any pods you create are labelled with - [Connecting and deploying to an Amazon EKS cluster](eks_and_gitlab/index.md) [permissions]: ../../permissions.md -[ee]: https://about.gitlab.com/products/ +[ee]: https://about.gitlab.com/pricing/ [Auto DevOps]: ../../../topics/autodevops/index.md diff --git a/doc/user/project/img/group_issue_board.png b/doc/user/project/img/group_issue_board.png Binary files differnew file mode 100644 index 00000000000..be360d18540 --- /dev/null +++ b/doc/user/project/img/group_issue_board.png diff --git a/doc/user/project/img/issue_board.png b/doc/user/project/img/issue_board.png Binary files differindex 5f6dc9e4e8b..50e051e25a0 100644 --- a/doc/user/project/img/issue_board.png +++ b/doc/user/project/img/issue_board.png diff --git a/doc/user/project/img/issue_board_add_list.png b/doc/user/project/img/issue_board_add_list.png Binary files differindex 973d9f7cde4..91098daa1d1 100644 --- a/doc/user/project/img/issue_board_add_list.png +++ b/doc/user/project/img/issue_board_add_list.png diff --git a/doc/user/project/img/issue_board_assignee_lists.png b/doc/user/project/img/issue_board_assignee_lists.png Binary files differnew file mode 100644 index 00000000000..1ec94d22e33 --- /dev/null +++ b/doc/user/project/img/issue_board_assignee_lists.png diff --git a/doc/user/project/img/issue_board_creation.png b/doc/user/project/img/issue_board_creation.png Binary files differnew file mode 100644 index 00000000000..9dc4925b0a5 --- /dev/null +++ b/doc/user/project/img/issue_board_creation.png diff --git a/doc/user/project/img/issue_board_edit_button.png b/doc/user/project/img/issue_board_edit_button.png Binary files differnew file mode 100644 index 00000000000..23883175344 --- /dev/null +++ b/doc/user/project/img/issue_board_edit_button.png diff --git a/doc/user/project/img/issue_board_focus_mode.gif b/doc/user/project/img/issue_board_focus_mode.gif Binary files differnew file mode 100644 index 00000000000..9565bdb0865 --- /dev/null +++ b/doc/user/project/img/issue_board_focus_mode.gif diff --git a/doc/user/project/img/issue_board_move_issue_card_list.png b/doc/user/project/img/issue_board_move_issue_card_list.png Binary files differindex 3666dbb87ab..cce252234c1 100644 --- a/doc/user/project/img/issue_board_move_issue_card_list.png +++ b/doc/user/project/img/issue_board_move_issue_card_list.png diff --git a/doc/user/project/img/issue_board_system_notes.png b/doc/user/project/img/issue_board_system_notes.png Binary files differindex bd0f5f54095..c6ecb498198 100644 --- a/doc/user/project/img/issue_board_system_notes.png +++ b/doc/user/project/img/issue_board_system_notes.png diff --git a/doc/user/project/img/issue_board_view_scope.png b/doc/user/project/img/issue_board_view_scope.png Binary files differnew file mode 100644 index 00000000000..4e03cecbc2d --- /dev/null +++ b/doc/user/project/img/issue_board_view_scope.png diff --git a/doc/user/project/img/issue_board_welcome_message.png b/doc/user/project/img/issue_board_welcome_message.png Binary files differindex 127b9b08cc7..357dff42488 100644 --- a/doc/user/project/img/issue_board_welcome_message.png +++ b/doc/user/project/img/issue_board_welcome_message.png diff --git a/doc/user/project/img/issue_boards_add_issues_modal.png b/doc/user/project/img/issue_boards_add_issues_modal.png Binary files differindex bedaf724a15..625a4304eaf 100644 --- a/doc/user/project/img/issue_boards_add_issues_modal.png +++ b/doc/user/project/img/issue_boards_add_issues_modal.png diff --git a/doc/user/project/img/issue_boards_multiple.png b/doc/user/project/img/issue_boards_multiple.png Binary files differnew file mode 100644 index 00000000000..4b2b8d457f1 --- /dev/null +++ b/doc/user/project/img/issue_boards_multiple.png diff --git a/doc/user/project/img/issue_boards_remove_issue.png b/doc/user/project/img/issue_boards_remove_issue.png Binary files differindex 8b3beca97cf..9a2fad2cc7f 100644 --- a/doc/user/project/img/issue_boards_remove_issue.png +++ b/doc/user/project/img/issue_boards_remove_issue.png diff --git a/doc/user/project/import/bitbucket.md b/doc/user/project/import/bitbucket.md index b22c7db0047..e3d625cc621 100644 --- a/doc/user/project/import/bitbucket.md +++ b/doc/user/project/import/bitbucket.md @@ -9,6 +9,10 @@ The [Bitbucket integration][bb-import] must be first enabled in order to be able to import your projects from Bitbucket. Ask your GitLab administrator to enable this if not already. +>**Note:** +The BitBucket importer currently only works with BitBucket's cloud offering +(bitbucket.org) and does not work with BitBucket Server (aka Stash). + - At its current state, the Bitbucket importer can import: - the repository description (GitLab 7.7+) - the Git repository data (GitLab 7.7+) diff --git a/doc/user/project/integrations/bamboo.md b/doc/user/project/integrations/bamboo.md index 1e28646bc97..9b18eb15599 100644 --- a/doc/user/project/integrations/bamboo.md +++ b/doc/user/project/integrations/bamboo.md @@ -41,8 +41,11 @@ service in GitLab. 1. Click 'Atlassian Bamboo CI' 1. Select the 'Active' checkbox. 1. Enter the base URL of your Bamboo server. 'https://bamboo.example.com' -1. Enter the build key from your Bamboo build plan. Build keys are a short, - all capital letter, identifier that is unique. It will be something like PR-BLD +1. Enter the build key from your Bamboo build plan. Build keys are typically made + up from the Project Key and Plan Key that are set on project/plan creation and + separated with a dash (`-`), for example **PROJ-PLAN**. This is a short, all + uppercase identifier that is unique. When viewing a plan within Bamboo, the + build key is also shown in the browser URL, for example `https://bamboo.example.com/browse/PROJ-PLAN`. 1. If necessary, enter username and password for a Bamboo user that has access to trigger the build plan. Leave these fields blank if you do not require authentication. diff --git a/doc/user/project/integrations/webhooks.md b/doc/user/project/integrations/webhooks.md index 5f33e0c1dc6..9bd4dbd7631 100644 --- a/doc/user/project/integrations/webhooks.md +++ b/doc/user/project/integrations/webhooks.md @@ -6,6 +6,10 @@ Starting from GitLab 8.5: - the `project.ssh_url` key is deprecated in favor of the `project.git_ssh_url` key - the `project.http_url` key is deprecated in favor of the `project.git_http_url` key +>**Note:** +Starting from GitLab 11.1, the logs of web hooks are automatically removed after +one month. + >**Note** Starting from GitLab 11.2: - The `description` field for issues, merge requests, comments, and wiki pages @@ -61,11 +65,11 @@ Below are described the supported events. Triggered when you push to the repository except when pushing tags. -> **Note:** When more than 20 commits are pushed at once, the `commits` web hook - attribute will only contain the first 20 for performance reasons. Loading - detailed commit data is expensive. Note that despite only 20 commits being +> **Note:** When more than 20 commits are pushed at once, the `commits` web hook + attribute will only contain the first 20 for performance reasons. Loading + detailed commit data is expensive. Note that despite only 20 commits being present in the `commits` attribute, the `total_commits_count` attribute will - contain the actual total. + contain the actual total. **Request header**: @@ -1177,11 +1181,11 @@ From this page, you can repeat delivery with the same data by clicking `Resend R When GitLab sends a webhook it expects a response in 10 seconds (set default value). If it does not receive one, it'll retry the webhook. If the endpoint doesn't send its HTTP response within those 10 seconds, GitLab may decide the hook failed and retry it. -If you are receiving multiple requests, you can try increasing the default value to wait for the HTTP response after sending the webhook +If you are receiving multiple requests, you can try increasing the default value to wait for the HTTP response after sending the webhook by uncommenting or adding the following setting to your `/etc/gitlab/gitlab.rb`: ``` -gitlab_rails['webhook_timeout'] = 10 +gitlab_rails['webhook_timeout'] = 10 ``` ## Example webhook receiver diff --git a/doc/user/project/issue_board.md b/doc/user/project/issue_board.md index 9ca1e6226c5..e97b5d05529 100644 --- a/doc/user/project/issue_board.md +++ b/doc/user/project/issue_board.md @@ -1,16 +1,10 @@ -# Issue Board +# Issue Boards ->**Note:** -[Introduced][ce-5554] in [GitLab 8.11](https://about.gitlab.com/2016/08/22/gitlab-8-11-released/#issue-board). +> [Introduced][ce-5554] in [GitLab 8.11](https://about.gitlab.com/2016/08/22/gitlab-8-11-released/#issue-board). The GitLab Issue Board is a software project management tool used to plan, organize, and visualize a workflow for a feature or product release. -It can be seen like a light version of a [Kanban] or a [Scrum] board. - -Other interesting links: - -- [GitLab Issue Board landing page on about.gitlab.com][landing] -- [YouTube video introduction to Issue Boards][youtube] +It can be used as a [Kanban] or a [Scrum] board. ![GitLab Issue Board](img/issue_board.png) @@ -18,7 +12,7 @@ Other interesting links: The Issue Board builds on GitLab's existing [issue tracking functionality](issues/index.md#issue-tracker) and -leverages the power of [labels] by utilizing them as lists of the scrum board. +leverages the power of [labels](labels.md) by utilizing them as lists of the scrum board. With the Issue Board you can have a different view of your issues while maintaining the same filtering and sorting abilities you see across the @@ -33,15 +27,23 @@ You create issues, host code, perform reviews, build, test, and deploy from one single platform. Issue Boards help you to visualize and manage the entire process _in_ GitLab. -With [Multiple Issue Boards](https://docs.gitlab.com/ee/user/project/issue_board.html#multiple-issue-boards), available -only in [GitLab Ultimate](https://about.gitlab.com/products/), +With [Multiple Issue Boards](#multiple-issue-boards), available +only in [GitLab Enterprise Edition](#features-per-tier), you go even further, as you can not only keep yourself and your project organized from a broader perspective with one Issue Board per project, but also allow your team members to organize their own workflow by creating multiple Issue Boards within the same project. +For a visual overview, see our [Issue Board feature page](https://about.gitlab.com/features/issueboard/) +on about.gitlab.com or our [video introduction to Issue Boards](https://www.youtube.com/watch?v=UWsJ8tkHAa8). + ## Use cases +There are many ways to use GitLab Issue Boards tailored to your own preferred workflow. +Here are some common use cases for Issue Boards. + +### Use cases for a single Issue Board + GitLab Workflow allows you to discuss proposals in issues, categorize them with labels, and from there organize and prioritize them with Issue Boards. @@ -65,33 +67,66 @@ beginning of the development lifecycle until deployed to production ![issue card moving](img/issue_board_move_issue_card_list.png) -> **Notes:** -> ->- For a broader use case, please check the blog post +### Use cases for Multiple Issue Boards + +With [Multiple Issue Boards](#multiple-issue-boards), available only in +[GitLab Enterprise Edition](https://about.gitlab.com/pricing/), +each team can have their own board to organize their workflow individually. + +#### Scrum team + +With multiple Issue Boards, each team has one board. Now you can move issues through each +part of the process. For instance: **To Do**, **Doing**, and **Done**. + +#### Organization of topics + +Create lists to order things by topic and quickly change them between topics or groups, +such as between **UX**, **Frontend**, and **Backend**. The changes will be reflected across boards, +as changing lists will update the label accordingly. + +#### Advanced team handover + +For example, suppose we have a UX team with an Issue Board that contains: + +- **To Do** +- **Doing** +- **Frontend** + +When done with something, they move the card to **Frontend**. The Frontend team's board looks like: + +- **Frontend** +- **Doing** +- **Done** + +Cards finished by the UX team will automatically appear in the **Frontend** column when they're ready for them. + +NOTE: **Note:** +For a broader use case, please see the blog post [GitLab Workflow, an Overview](https://about.gitlab.com/2016/10/25/gitlab-workflow-an-overview/#gitlab-workflow-use-case-scenario). -> ->- For a real use case, please check why +For a real use case example, you can read why [Codepen decided to adopt Issue Boards](https://about.gitlab.com/2017/01/27/codepen-welcome-to-gitlab/#project-management-everything-in-one-place) -to improve their workflow with [multiple boards](https://docs.gitlab.com/ee/user/project/issue_board.html#multiple-issue-boards). +to improve their workflow with multiple boards. -## Issue Board terminology +#### Quick assignments -Below is a table of the definitions used for GitLab's Issue Board. +Create lists for each of your team members and quickly drag-and-drop issues onto each team member. -| What we call it | What it means | -| -------------- | ------------- | -| **Issue Board** | It represents a different view for your issues. It can have multiple lists with each list consisting of issues represented by cards. | -| **List** | Each label that exists in the issue tracker can have its own dedicated list. Every list is named after the label it is based on and is represented by a column which contains all the issues associated with that label. You can think of a list like the results you get when you filter the issues by a label in your issue tracker. | -| **Card** | Every card represents an issue and it is shown under the list for which it has a label. The information you can see on a card consists of the issue number, the issue title, the assignee and the labels associated with it. You can drag cards around from one list to another. You can re-order cards within a list. | +## Permissions -There are two types of lists, the ones you create based on your labels, and -two defaults: +[Developers and up](../permissions.md) can use all the functionality of the +Issue Board, that is, create or delete lists and drag issues from one list to another. -- Label list: a list based on a label. It shows all opened issues with that label. -- **Backlog** (default): shows all open issues that does not belong to one of lists. Always appears on the very left. -- **Closed** (default): shows all closed issues. Always appears on the very right. +## Issue Board terminology + +- **Issue Board** - Each board represents a unique view for your issues. It can have multiple lists with each list consisting of issues represented by cards. +- **List** - A column on the issue board that displays issues matching certain attributes. In addition to the default lists of 'Backlog' and 'Closed' issue, each additional list will show issues matching your chosen label or assignee. + - **Label list**: a list based on a label. It shows all opened issues with that label. + - **Assignee list**: a list which includes all issues assigned to a user. + - **Backlog** (default): shows all open issues that do not belong to one of the other lists. Always appears as the leftmost list. + - **Closed** (default): shows all closed issues. Always appears as the rightmost list. +- **Card** - A box in the list that represents an individual issue. The information you can see on a card consists of the issue number, the issue title, the assignee, and the labels associated with the issue. You can drag cards from one list to another to change their label or assignee from that of the source list to that of the destination list. -In short, here's a list of actions you can take in an Issue Board: +## Actions you can take on an Issue Board - [Create a new list](#creating-a-new-list). - [Delete an existing list](#deleting-a-list). @@ -129,7 +164,7 @@ right corner of the Issue Board. ![Issue Board welcome message](img/issue_board_add_list.png) -Simply choose the label to create the list from. The new list will be inserted +Simply choose the label or user to create the list from. The new list will be inserted at the end of the lists, before **Done**. Moving and reordering lists is as easy as dragging them around. @@ -174,17 +209,19 @@ to the system so that anybody who visits the same board later will see the reord with some exceptions. The first time a given issue appears in any board (i.e. the first time a user -loads a board containing that issue), it will be ordered with -respect to other issues in that list according to [Priority order][label-priority]. +loads a board containing that issue), it will be ordered with +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 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. + Also, any time that issue appears in any board when it is loaded by a user, the updated relative order value will be 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 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 -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 board, for example), that ordering will be maintained. ## Filtering issues @@ -205,8 +242,8 @@ something between lists by changing a label. A typical workflow of using the Issue Board would be: -1. You have [created][create-labels] and [prioritized][label-priority] labels - so that you can easily categorize your issues. +1. You have [created](labels.md#creating-labels) and [prioritized](labels.md#label-priority) + labels so that you can easily categorize your issues. 1. You have a bunch of issues (ideally labeled). 1. You visit the Issue Board and start [creating lists](#creating-a-new-list) to create a workflow. @@ -230,21 +267,98 @@ to another list the label changes and a system not is recorded. ![Issue Board system notes](img/issue_board_system_notes.png) -## Permissions +## Multiple Issue Boards **[STARTER]** -[Developers and up](../permissions.md) can use all the functionality of the -Issue Board, that is create/delete lists and drag issues around. +> Introduced in [GitLab Enterprise Edition 8.13](https://about.gitlab.com/2016/10/22/gitlab-8-13-released/#multiple-issue-boards-ee). -## Group Issue Board +Multiple Issue Boards, as the name suggests, allow for more than one Issue Board +for a given project or group. This is great for large projects with more than one team +or in situations where a repository is used to host the code of multiple +products. -> Introduced in [GitLab 10.6](https://about.gitlab.com/2018/03/22/gitlab-10-6-released/#single-group-issue-board-in-core-and-free) +Clicking on the current board name in the upper left corner will reveal a +menu from where you can create another Issue Board and rename or delete the +existing one. -Group issue board is analogous to project-level issue board and it is accessible at the group -navigation level. A group-level issue board allows you to view all issues from all projects in that group or descendant subgroups. Similarly, you can only filter by group labels for these +NOTE: **Note:** +The Multiple Issue Boards feature is available for +**projects in GitLab Starter Edition** and for **groups in GitLab Premium Edition**. + +![Multiple Issue Boards](img/issue_boards_multiple.png) + +## Configurable Issue Boards **[STARTER]** + +> Introduced in [GitLab Starter Edition 10.2](https://about.gitlab.com/2017/11/22/gitlab-10-2-released/#issue-boards-configuration). + +An Issue Board can be associated with GitLab [Milestone](milestones/index.md#milestones), +[Labels](labels.md), Assignee and Weight +which will automatically filter the Board issues according to these fields. +This allows you to create unique boards according to your team's need. + +![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 +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. + +![Edit board configuration](img/issue_board_edit_button.png) + +If you don't have editing permission in a board, you're still able to see the configuration by clicking on "View scope". + +![Viewing board configuration](img/issue_board_view_scope.png) + +## Focus mode **[STARTER]** + +> Introduced in [GitLab Starter 9.1](https://about.gitlab.com/2017/04/22/gitlab-9-1-released/#issue-boards-focus-mode-ees-eep). + +Click the button at the top right to toggle focus mode on and off. In focus mode, the navigation UI is hidden, allowing you to focus on issues in the board. + +![Board focus mode](img/issue_board_focus_mode.gif) + +## Group Issue Boards **[PREMIUM]** + +> Introduced in [GitLab Premium 10.0](https://about.gitlab.com/2017/09/22/gitlab-10-0-released/#group-issue-boards). + +Accessible at the group navigation level, a group issue board offers the same features as a project-level board, +but it can display issues from all projects in that +group and its descendant subgroups. Similarly, you can only filter by group labels for these boards. When updating milestones and labels for an issue through the sidebar update mechanism, again only group-level objects are available. -One group issue board per group was made available in GitLab 10.6 Core after multiple group issue boards were originally introduced in [GitLab 10.0 Premium](https://about.gitlab.com/2017/09/22/gitlab-10-0-released/#group-issue-boards). +NOTE: **Note:** +Multiple group issue boards were originally introduced in [GitLab 10.0 Premium](https://about.gitlab.com/2017/09/22/gitlab-10-0-released/#group-issue-boards) and +one group issue board per group was made available in GitLab 10.6 Core. + +![Group issue board](img/group_issue_board.png) + +## Assignee lists **[PREMIUM]** + +> [Introduced](https://gitlab.com/gitlab-org/gitlab-ee/issues/5784) in GitLab 11.0 Premium. + +Like a regular list that shows all issues that have the list label, you can add +an assignee list that shows all issues assigned to the given user. +You can have a board with both label lists and assignee lists. To add an +assignee list: + +1. Click **Add list**. +1. Select the **Assignee list** tab. +1. Search and click on the user you want to add as an assignee. + +Now that the assignee list is added, you can assign or unassign issues to that user +by [dragging issues](#dragging-issues-between-lists) to and/or from an assignee list. +To remove an assignee list, just as with a label list, click the trash icon. + +![Assignee lists](img/issue_board_assignee_lists.png) + +## Dragging issues between lists + +When dragging issues between lists, different behavior occurs depending on the source list and the target list. + +| | To Backlog | To Closed | To label `B` list | To assignee `Bob` list | +| --- | --- | --- | --- | --- | +| From Backlog | - | Issue closed | `B` added | `Bob` assigned | +| From Closed | Issue reopened | - | Issue reopened<br/>`B` added | Issue reopened<br/>`Bob` assigned | +| From label `A` list | `A` removed | Issue closed | `A` removed<br/>`B` added | `Bob` assigned | +| From assignee `Alice` list | `Alice` unassigned | Issue closed | `B` added | `Alice` unassigned<br/>`Bob` assigned | ## Features per tier @@ -261,11 +375,8 @@ Different issue board features are available in different [GitLab tiers](https:/ A few things to remember: -- The label that corresponds to a list is hidden for issues under that list. - Moving an issue between lists removes the label from the list it came from and adds the label from the list it goes to. -- When moving a card to **Done**, the label of the list it came from is removed - and the issue gets closed. - 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. - Clicking on the issue title inside a card will take you to that issue. @@ -276,10 +387,5 @@ A few things to remember: 20 will appear. [ce-5554]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/5554 -[labels]: ./labels.md [scrum]: https://en.wikipedia.org/wiki/Scrum_(software_development) [kanban]: https://en.wikipedia.org/wiki/Kanban_(development) -[create-labels]: ./labels.md#create-new-labels -[label-priority]: ./labels.md#prioritize-labels -[landing]: https://about.gitlab.com/solutions/issueboard -[youtube]: https://www.youtube.com/watch?v=UWsJ8tkHAa8 diff --git a/doc/user/project/issues/deleting_issues.md b/doc/user/project/issues/deleting_issues.md index d7442104c53..536a0de8974 100644 --- a/doc/user/project/issues/deleting_issues.md +++ b/doc/user/project/issues/deleting_issues.md @@ -8,4 +8,6 @@ You can delete an issue by editing it and clicking on the delete button. ![delete issue - button](img/delete_issue.png) ->**Note:** Only [project owners](../../permissions.md) can delete issues.
\ No newline at end of file +>**Note:** Only [project owners](../../permissions.md) can delete issues. + +[ce-2982]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/2982
\ No newline at end of file diff --git a/doc/user/project/issues/index.md b/doc/user/project/issues/index.md index bf17731c523..d71273ba970 100644 --- a/doc/user/project/issues/index.md +++ b/doc/user/project/issues/index.md @@ -8,7 +8,7 @@ It allows you, your team, and your collaborators to share and discuss proposals before and while implementing them. GitLab Issues and the GitLab Issue Tracker are available in all -[GitLab Products](https://about.gitlab.com/products/) as +[GitLab Products](https://about.gitlab.com/pricing/) as part of the [GitLab Workflow](https://about.gitlab.com/2016/10/25/gitlab-workflow-an-overview/). ## Use cases @@ -35,7 +35,7 @@ your project public, open to collaboration. ### Streamline collaboration With [Multiple Assignees for Issues](https://docs.gitlab.com/ee/user/project/issues/multiple_assignees_for_issues.html), -available in [GitLab Starter](https://about.gitlab.com/products/) +available in [GitLab Starter](https://about.gitlab.com/pricing/) you can streamline collaboration and allow shared responsibilities to be clearly displayed. All assignees are shown across your workflows and receive notifications (as they would as single assignees), simplifying communication and ownership. @@ -139,7 +139,7 @@ Find GitLab Issue Boards by navigating to your **Project's Dashboard** > **Issue Read through the documentation for [Issue Boards](../issue_board.md) to find out more about this feature. -With [GitLab Starter](https://about.gitlab.com/products/), you can also +With [GitLab Starter](https://about.gitlab.com/pricing/), you can also create various boards per project with [Multiple Issue Boards](https://docs.gitlab.com/ee/user/project/issue_board.html#multiple-issue-boards). ### External Issue Tracker diff --git a/doc/user/project/issues/issues_functionalities.md b/doc/user/project/issues/issues_functionalities.md index e9903b01c82..46f25417fde 100644 --- a/doc/user/project/issues/issues_functionalities.md +++ b/doc/user/project/issues/issues_functionalities.md @@ -47,7 +47,7 @@ Often multiple people likely work on the same issue together, which can especially be difficult to track in large teams where there is shared ownership of an issue. -In [GitLab Starter](https://about.gitlab.com/products/), you can also +In [GitLab Starter](https://about.gitlab.com/pricing/), you can also select multiple assignees to an issue. Learn more on the [Multiple Assignees documentation](https://docs.gitlab.com/ee/user/project/issues/multiple_assignees_for_issues.html). diff --git a/doc/user/project/merge_requests/index.md b/doc/user/project/merge_requests/index.md index 5e2e0c3d171..483a54051d7 100644 --- a/doc/user/project/merge_requests/index.md +++ b/doc/user/project/merge_requests/index.md @@ -325,4 +325,4 @@ git checkout origin/merge-requests/1 ``` [protected branches]: ../protected_branches.md -[ee]: https://about.gitlab.com/products/ "GitLab Enterprise Edition" +[ee]: https://about.gitlab.com/pricing/ "GitLab Enterprise Edition" diff --git a/doc/user/project/merge_requests/squash_and_merge.md b/doc/user/project/merge_requests/squash_and_merge.md index a6efe893853..2ec423dcf70 100644 --- a/doc/user/project/merge_requests/squash_and_merge.md +++ b/doc/user/project/merge_requests/squash_and_merge.md @@ -1,6 +1,6 @@ # Squash and merge -> [Introduced][ee-1024] in [GitLab Starter][ee] 8.17, and in [GitLab CE][ce] [11.0][ce-18956]. +> [Introduced][ee-1024] in [GitLab Starter][ee] 8.17, and in [GitLab Core][ce] [11.0][ce-18956]. Combine all commits of your merge request into one and retain a clean history. @@ -75,6 +75,6 @@ squashing can itself be considered equivalent to rebasing. [squash-edit-form]: img/squash_edit_form.png [squash-mr-widget]: img/squash_mr_widget.png [ff-merge]: fast_forward_merge.md#enabling-fast-forward-merges -[ce]: https://about.gitlab.com/products/ -[ee]: https://about.gitlab.com/products/ +[ce]: https://about.gitlab.com/pricing/ +[ee]: https://about.gitlab.com/pricing/ [revert]: revert_changes.md diff --git a/doc/user/project/repository/index.md b/doc/user/project/repository/index.md index bda293bd00e..704c1777e62 100644 --- a/doc/user/project/repository/index.md +++ b/doc/user/project/repository/index.md @@ -82,7 +82,7 @@ your implementation with your team. You can live preview changes submitted to a new branch with [Review Apps](../../../ci/review_apps/index.md). -With [GitLab Starter](https://about.gitlab.com/products/), you can also request +With [GitLab Starter](https://about.gitlab.com/pricing/), you can also request [approval](https://docs.gitlab.com/ee/user/project/merge_requests/merge_request_approvals.html) from your managers. To create, delete, and [branches](branches/index.md) via GitLab's UI: @@ -165,12 +165,12 @@ Find it under your project's **Repository > Compare**. ## Locked files -> Available in [GitLab Premium](https://about.gitlab.com/products/). +> Available in [GitLab Premium](https://about.gitlab.com/pricing/). Lock your files to prevent any conflicting changes. [File Locking](https://docs.gitlab.com/ee/user/project/file_lock.html) is available only in -[GitLab Premium](https://about.gitlab.com/products/). +[GitLab Premium](https://about.gitlab.com/pricing/). ## Repository's API diff --git a/doc/user/project/settings/import_export.md b/doc/user/project/settings/import_export.md index 9034a9b5179..f94671fcf87 100644 --- a/doc/user/project/settings/import_export.md +++ b/doc/user/project/settings/import_export.md @@ -32,7 +32,8 @@ with all their related data and be moved into a new GitLab instance. | GitLab version | Import/Export version | | ---------------- | --------------------- | -| 10.8 to current | 0.2.3 | +| 11.1 to current | 0.2.4 | +| 10.8 | 0.2.3 | | 10.4 | 0.2.2 | | 10.3 | 0.2.1 | | 10.0 | 0.2.0 | diff --git a/doc/user/project/settings/index.md b/doc/user/project/settings/index.md index 212e271ce6f..084d1161633 100644 --- a/doc/user/project/settings/index.md +++ b/doc/user/project/settings/index.md @@ -42,7 +42,7 @@ Set up your project's merge request settings: ### Service Desk -Enable [Service Desk](https://docs.gitlab.com/ee/user/project/service_desk.html) for your project to offer customer support. Service Desk is available in [GitLab Premium](https://about.gitlab.com/products/). +Enable [Service Desk](https://docs.gitlab.com/ee/user/project/service_desk.html) for your project to offer customer support. Service Desk is available in [GitLab Premium](https://about.gitlab.com/pricing/). ### Export project |