From 113da4577bfc4c8e7b71533fd1a657ba38e06c3e Mon Sep 17 00:00:00 2001 From: Marcel Amirault Date: Sun, 5 May 2019 13:07:20 +0000 Subject: [PATCH] =?UTF-8?q?Docs:=20Merge=20EE=20doc/=E2=80=8Buser=20to=20C?= =?UTF-8?q?E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/user/index.md | 16 ++-- doc/user/markdown.md | 3 + ...ndex_operations_dashboard_top_bar_icon.png | Bin 0 -> 3948 bytes ...dex_operations_dashboard_with_projects.png | Bin 0 -> 30837 bytes doc/user/operations_dashboard/index.md | 37 +++++++++ doc/user/permissions.md | 10 ++- doc/user/profile/preferences.md | 1 + doc/user/search/advanced_global_search.md | 75 ++++++++++++++++++ doc/user/search/advanced_search_syntax.md | 69 ++++++++++++++++ .../search/img/advanced_global_search.png | Bin 0 -> 15017 bytes doc/user/search/img/multiple_assignees.png | Bin 0 -> 18897 bytes doc/user/search/index.md | 21 +++++ 12 files changed, 223 insertions(+), 9 deletions(-) create mode 100644 doc/user/operations_dashboard/img/index_operations_dashboard_top_bar_icon.png create mode 100644 doc/user/operations_dashboard/img/index_operations_dashboard_with_projects.png create mode 100644 doc/user/operations_dashboard/index.md create mode 100644 doc/user/search/advanced_global_search.md create mode 100644 doc/user/search/advanced_search_syntax.md create mode 100644 doc/user/search/img/advanced_global_search.png create mode 100644 doc/user/search/img/multiple_assignees.png diff --git a/doc/user/index.md b/doc/user/index.md index 8164b31c37e..67d5cbf06ec 100644 --- a/doc/user/index.md +++ b/doc/user/index.md @@ -51,19 +51,20 @@ With GitLab Enterprise Edition, you can also: - Provide support with [Service Desk](https://docs.gitlab.com/ee/user/project/service_desk.html). - Improve collaboration with - [Merge Request Approvals](https://docs.gitlab.com/ee/user/project/merge_requests/index.html#merge-request-approvals), + [Merge Request Approvals](https://docs.gitlab.com/ee/user/project/merge_requests/index.html#merge-request-approvals-starter), [Multiple Assignees for Issues](https://docs.gitlab.com/ee/user/project/issues/multiple_assignees_for_issues.html), and [Multiple Issue Boards](project/issue_board.md#multiple-issue-boards-starter). - Create formal relationships between issues with [Related Issues](https://docs.gitlab.com/ee/user/project/issues/related_issues.html). - Use [Burndown Charts](https://docs.gitlab.com/ee/user/project/milestones/burndown_charts.html) to track progress during a sprint or while working on a new version of their software. -- Leverage [Elasticsearch](https://docs.gitlab.com/ee/integration/elasticsearch.html) with [Advanced Global Search](https://docs.gitlab.com/ee/user/search/advanced_global_search.html) and [Advanced Syntax Search](https://docs.gitlab.com/ee/user/search/advanced_search_syntax.html) for faster, more advanced code search across your entire GitLab instance. +- Leverage [Elasticsearch](https://docs.gitlab.com/ee/integration/elasticsearch.html) with [Advanced Global Search](search/advanced_global_search.md) and [Advanced Syntax Search](search/advanced_search_syntax.md) for faster, more advanced code search across your entire GitLab instance. - [Authenticate users with Kerberos](https://docs.gitlab.com/ee/integration/kerberos.html). -- [Mirror a repository](https://docs.gitlab.com/ee/workflow/repository_mirroring.html) from elsewhere on your local server. +- [Mirror a repository](../workflow/repository_mirroring.md) from elsewhere on your local server. - [Export issues as CSV](https://docs.gitlab.com/ee/user/project/issues/csv_export.html). - View your entire CI/CD pipeline involving more than one project with [Multiple-Project Pipelines](https://docs.gitlab.com/ee/ci/multi_project_pipeline_graphs.html). - [Lock files](https://docs.gitlab.com/ee/user/project/file_lock.html) to prevent conflicts. - View the current health and status of each CI environment running on Kubernetes with [Deploy Boards](https://docs.gitlab.com/ee/user/project/deploy_boards.html). - Leverage continuous delivery method with [Canary Deployments](https://docs.gitlab.com/ee/user/project/canary_deployments.html). +- Scan your code for vulnerabilities and [display them in merge requests](https://docs.gitlab.com/ee/user/application_security/sast/index.html). You can also [integrate](project/integrations/project_services.md) GitLab with numerous third-party applications, such as Mattermost, Microsoft Teams, HipChat, Trello, Slack, Bamboo CI, JIRA, and a lot more. @@ -106,8 +107,8 @@ to enjoy the best of GitLab. - [Permissions](permissions.md): Learn the different set of permissions levels for each user type (guest, reporter, developer, maintainer, owner). - [Feature highlight](feature_highlight.md): Learn more about the little blue dots - around the app that explain certain features -- [Abuse reports](abuse_reports.md): Report abuse from users to GitLab administrators + around the app that explain certain features. +- [Abuse reports](abuse_reports.md): Report abuse from users to GitLab administrators. ## Groups @@ -171,3 +172,8 @@ Learn what is [Git](../topics/git/index.md) and its best practices. ## Instance statistics See [various statistics](instance_statistics/index.md) of your GitLab instance. + +## Operations Dashboard **[PREMIUM]** + +See [Operations Dashboard](operations_dashboard/index.md) for a summary of each +project's operational health. diff --git a/doc/user/markdown.md b/doc/user/markdown.md index 9891a43aa61..c1c2c036bae 100644 --- a/doc/user/markdown.md +++ b/doc/user/markdown.md @@ -20,6 +20,7 @@ You can use GFM in the following areas: - Snippets (the snippet must be named with a `.md` extension) - Wiki pages - Markdown documents inside repositories +- Epics **[ULTIMATE]** You can also use other rich text files in GitLab. You might have to install a dependency to do so. Please see the [`github-markup` gem readme](https://github.com/gitlabhq/markup#markups) for more information. @@ -320,6 +321,7 @@ GFM will recognize the following: | `#12345` | issue | | `!123` | merge request | | `$123` | snippet | +| `&123` | epic **[ULTIMATE]** | | `~123` | label by ID | | `~bug` | one-word label by name | | `~"feature request"` | multi-word label by name | @@ -340,6 +342,7 @@ GFM also recognizes certain cross-project references: | `namespace/project%123` | project milestone | | `namespace/project$123` | snippet | | `namespace/project@9ba12248` | specific commit | +| `group1/subgroup&123` | epic **[ULTIMATE]** | | `namespace/project@9ba12248...b19a04f5` | commit range comparison | | `namespace/project~"Some label"` | issues with given label | diff --git a/doc/user/operations_dashboard/img/index_operations_dashboard_top_bar_icon.png b/doc/user/operations_dashboard/img/index_operations_dashboard_top_bar_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..9d6a509ea723d1beebc9df64b68e33cbcf53a620 GIT binary patch literal 3948 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 NEUzKgC}R=%e*i4cquT%g literal 0 HcmV?d00001 diff --git a/doc/user/operations_dashboard/index.md b/doc/user/operations_dashboard/index.md new file mode 100644 index 00000000000..66362f27299 --- /dev/null +++ b/doc/user/operations_dashboard/index.md @@ -0,0 +1,37 @@ +# Operations Dashboard **[PREMIUM]** + +> [Introduced](https://gitlab.com/gitlab-org/gitlab-ee/issues/5781) +in [GitLab Ultimate](https://about.gitlab.com/pricing/) 11.5. +[Moved](https://gitlab.com/gitlab-org/gitlab-ee/issues/9218) to +[GitLab Premium](https://about.gitlab.com/pricing/) in 11.10. + +The Operations Dashboard provides a summary of each project's operational health, +including pipeline and alert status. + +The dashboard can be accessed via the top bar, by clicking on the new +dashboard icon: + +![Operations Dashboard icon in top bar](img/index_operations_dashboard_top_bar_icon.png) + +## Adding a project to the dashboard + +NOTE: **Note:** +For GitLab.com, the Operations Dashboard is available for free for public projects. +If your project is private, the group it belongs to must have a +[Gold](https://about.gitlab.com/pricing/) plan. + +To add a project to the dashboard: + +1. Click the **Add projects** button in the homescreen of the dashboard. +1. Search and add one or more projects using the **Search your projects** field. +1. Click the **Add projects** button. + +Once added, the dashboard will display the project's number of active alerts, +last commit, pipeline status, and when it was last deployed. + +![Operations Dashboard with projects](img/index_operations_dashboard_with_projects.png) + +## Making it the default dashboard when you sign in + +The Operations Dashboard can also be made the default GitLab dashboard shown when +you sign in. To make it the default, visit your [profile preferences](../profile/preferences.md). diff --git a/doc/user/permissions.md b/doc/user/permissions.md index f03d2ca98ce..9b298e4eb30 100644 --- a/doc/user/permissions.md +++ b/doc/user/permissions.md @@ -42,8 +42,7 @@ The following table depicts the various user permission levels in a project. | Create confidential issue | ✓ [^1] | ✓ | ✓ | ✓ | ✓ | | View confidential issues | (✓) [^2] | ✓ | ✓ | ✓ | ✓ | | Leave comments | ✓ [^1] | ✓ | ✓ | ✓ | ✓ | -| Lock issue discussions | | ✓ | ✓ | ✓ | ✓ | -| Lock merge request discussions | | | ✓ | ✓ | ✓ | +| See related issues | ✓ | ✓ | ✓ | ✓ | ✓ | | See a list of jobs | ✓ [^3] | ✓ | ✓ | ✓ | ✓ | | See a job log | ✓ [^3] | ✓ | ✓ | ✓ | ✓ | | Download and browse job artifacts | ✓ [^3] | ✓ | ✓ | ✓ | ✓ | @@ -87,11 +86,12 @@ The following table depicts the various user permission levels in a project. | Update a container registry | | | ✓ | ✓ | ✓ | | Remove a container registry image | | | ✓ | ✓ | ✓ | | Create/edit/delete project milestones | | | ✓ | ✓ | ✓ | -| View approved/blacklisted licenses **[ULTIMATE]** | | | ✓ | ✓ | ✓ | +| View approved/blacklisted licenses **[ULTIMATE]** | ✓ | ✓ | ✓ | ✓ | ✓ | | Use security dashboard **[ULTIMATE]** | | | ✓ | ✓ | ✓ | | Dismiss vulnerability **[ULTIMATE]** | | | ✓ | ✓ | ✓ | | Apply code change suggestions | | | ✓ | ✓ | ✓ | | Use environment terminals | | | | ✓ | ✓ | +| Run Web IDE's Interactive Web Terminals **[ULTIMATE ONLY]** | | | | ✓ | ✓ | | Add new team members | | | | ✓ | ✓ | | Push to protected branches | | | | ✓ | ✓ | | Enable/disable branch protection | | | | ✓ | ✓ | @@ -120,6 +120,7 @@ The following table depicts the various user permission levels in a project. | Remove protected branches [^4] | | | | | | | View project Audit Events | | | | ✓ | ✓ | | View project statistics | | ✓ | ✓ | ✓ | ✓ | +| View Insights charts **[ULTIMATE]** | ✓ | ✓ | ✓ | ✓ | ✓ | ## Project features permissions @@ -204,6 +205,7 @@ group. | Create/edit group epic **[ULTIMATE]** | | ✓ | ✓ | ✓ | ✓ | | Delete group epic **[ULTIMATE]** | | | | | ✓ | | View group Audit Events | | | | | ✓ | +| View Insights charts **[ULTIMATE]** | ✓ | ✓ | ✓ | ✓ | ✓ | ### Subgroup permissions @@ -348,7 +350,7 @@ for details about the pipelines security model. ## LDAP users permissions Since GitLab 8.15, LDAP user permissions can now be manually overridden by an admin user. -Read through the documentation on [LDAP users permissions](https://docs.gitlab.com/ee/articles/how_to_configure_ldap_gitlab_ee/index.html#updating-user-permissions-new-feature) to learn more. +Read through the documentation on [LDAP users permissions](https://docs.gitlab.com/ee/administration/auth/how_to_configure_ldap_gitlab_ee/index.html) to learn more. [^1]: On public and internal projects, all users are able to perform this action [^2]: Guest users can only view the confidential issues they created themselves diff --git a/doc/user/profile/preferences.md b/doc/user/profile/preferences.md index f399dc40164..b61216b7b67 100644 --- a/doc/user/profile/preferences.md +++ b/doc/user/profile/preferences.md @@ -79,6 +79,7 @@ You have 8 options here that you can use for your default dashboard view: - Your [Todos](../../workflow/todos.md) - Assigned Issues - Assigned Merge Requests +- Operations Dashboard **[PREMIUM]** ### Project overview content diff --git a/doc/user/search/advanced_global_search.md b/doc/user/search/advanced_global_search.md new file mode 100644 index 00000000000..38b26f31417 --- /dev/null +++ b/doc/user/search/advanced_global_search.md @@ -0,0 +1,75 @@ +# Advanced Global Search **[STARTER ONLY]** + +> - [Introduced][ee-109] in GitLab [Starter][ee] 8.4. +> - This is the user documentation. To install and configure Elasticsearch, +> visit the [administrator documentation](https://docs.gitlab.com/ee/integration/elasticsearch.html). + +NOTE: **Note** +Advanced Global Search (powered by Elasticsearch) is not yet available on GitLab.com. We are working on adding it. [Follow this epic for the latest updates](https://gitlab.com/groups/gitlab-org/-/epics/153). + +Leverage Elasticsearch for faster, more advanced code search across your entire +GitLab instance. + +## Overview + +The Advanced Global Search in GitLab is a powerful search service that saves +you time. Instead of creating duplicate code and wasting time, you can +now search for code within other teams that can help your own project. + +GitLab leverages the search capabilities of [Elasticsearch] and enables it when +searching in: + +- GitLab application +- Projects +- Repositories +- Commits +- Issues +- Merge requests +- Milestones +- Notes (comments) +- Snippets +- Wiki + +## Use cases + +The Advanced Global Search can be useful in various scenarios. + +### Faster searches + +If you are dealing with huge amount of data and want to keep GitLab's search +fast, the Advanced Global Search will help you achieve that. + +### Promote innersourcing + +Your company may consist of many different developer teams each of which has +their own group where the various projects are hosted. Some of your applications +may be connected to each other, so your developers need to instantly search +throughout the GitLab instance and find the code they search for. + +## Searching globally + +Just use the search as before and GitLab will show you matching code from each +project you have access to. + +![Advanced Global Search](img/advanced_global_search.png) + +You can also use the [Advanced Syntax Search](advanced_search_syntax.md) which +provides some useful queries. + +>**Note:** +Elasticsearch has only data for the default branch. That means that if you go +to the repository tree and switch the branch from the default to something else, +then the "Code" tab in the search result page will be served by the regular +search even if Elasticsearch is enabled. + +[ee-1305]: https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/1305 +[aws-elastic]: http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-gsg.html +[aws-iam]: http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html +[aws-instance-profile]: http://docs.aws.amazon.com/codedeploy/latest/userguide/getting-started-create-iam-instance-profile.html#getting-started-create-iam-instance-profile-cli +[ee-109]: https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/109 "Elasticsearch Merge Request" +[elasticsearch]: https://www.elastic.co/products/elasticsearch "Elasticsearch website" +[install]: https://www.elastic.co/guide/en/elasticsearch/reference/current/_installation.html "Elasticsearch installation documentation" +[pkg]: https://about.gitlab.com/downloads/ "Download Omnibus GitLab" +[elastic-settings]: https://www.elastic.co/guide/en/elasticsearch/reference/current/setup-configuration.html#settings "Elasticsearch configuration settings" +[ee]: https://about.gitlab.com/pricing/ +[es]: https://www.elastic.co/products/elasticsearch diff --git a/doc/user/search/advanced_search_syntax.md b/doc/user/search/advanced_search_syntax.md new file mode 100644 index 00000000000..8d4aac5f502 --- /dev/null +++ b/doc/user/search/advanced_search_syntax.md @@ -0,0 +1,69 @@ +# Advanced Syntax Search **[STARTER ONLY]** + +> **Notes:** +> - Introduced in [GitLab Enterprise Starter][ee] 9.2 +> - This is the user documentation. To install and configure Elasticsearch, +> visit the [administrator documentation](https://docs.gitlab.com/ee/integration/elasticsearch.html). + +NOTE: **Note** +Advanced Global Search (powered by Elasticsearch) is not yet available on GitLab.com. We are working on adding it. [Follow this epic for the latest updates](https://gitlab.com/groups/gitlab-org/-/epics/153). + +Use advanced queries for more targeted search results. + +## Overview + +The Advanced Syntax Search is a subset of the +[Advanced Global Search](advanced_global_search.md), which you can use if you +want to have more specific search results. + +## Use cases + +Let's say for example that the product you develop relies on the code of another +product that's hosted under some other group. + +Since under your GitLab instance there are hosted hundreds of different projects, +you need the search results to be as efficient as possible. You have a feeling +of what you want to find (e.g., a function name), but at the same you're also +not so sure. + +In that case, using the advanced search syntax in your query will yield much +better results. + +## Using the Advanced Syntax Search + +The Advanced Syntax Search supports fuzzy or exact search queries with prefixes, +boolean operators, and much more. + +Full details can be found in the [Elasticsearch documentation][elastic], but +here's a quick guide: + +- Searches look for all the words in a query, in any order - e.g.: searching + issues for `display bug` will return all issues matching both those words, in any order. +- To find the exact phrase (stemming still applies), use double quotes: `"display bug"` +- To find bugs not mentioning display, use `-`: `bug -display` +- To find a bug in display or sound, use `|`: `bug display | sound` +- To group terms together, use parentheses: `bug | (display +sound)` +- To match a partial word, use `*`: `bug find_by_*` +- To find a term containing one of these symbols, use `\`: `argument \-last` + +### Syntax search filters + +The Advanced Syntax Search also supports the use of filters. The available filters are: + + - filename: Filters by filename. You can use the glob (`*`) operator for fuzzy matching. + - path: Filters by path. You can use the glob (`*`) operator for fuzzy matching. + - extension: Filters by extension in the filename. Please write the extension without a leading dot. Exact match only. + +To use them, simply add them to your query in the format `:` without + any spaces between the colon (`:`) and the value. + +Examples: + +- Finding a file with any content named `hello_world.rb`: `* filename:hello_world.rb` +- Finding a file named `hello_world` with the text `whatever` inside of it: `whatever filename:hello_world` +- Finding the text 'def create' inside files with the `.rb` extension: `def create extension:rb` +- Finding the text `sha` inside files in a folder called `encryption`: `sha path:encryption` +- Finding any file starting with `hello` containing `world` and with the `.js` extension: `world filename:hello* extension:js` + +[ee]: https://about.gitlab.com/pricing/ +[elastic]: https://www.elastic.co/guide/en/elasticsearch/reference/5.3/query-dsl-simple-query-string-query.html#_simple_query_string_syntax diff --git a/doc/user/search/img/advanced_global_search.png b/doc/user/search/img/advanced_global_search.png new file mode 100644 index 0000000000000000000000000000000000000000..4903bbb07e13f9730b2a6b4aec66e0d3f6902e3c GIT binary patch literal 15017 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 b003|kwAG{PO$u?l00000NkvXXu0mjf5y-`$ literal 0 HcmV?d00001 diff --git a/doc/user/search/index.md b/doc/user/search/index.md index 705983cce2a..bb6c48471c7 100644 --- a/doc/user/search/index.md +++ b/doc/user/search/index.md @@ -84,6 +84,12 @@ You can view recent searches by clicking on the little arrow-clock icon, which i Individual filters can be removed by clicking on the filter's (x) button or backspacing. The entire search filter can be cleared by clicking on the search box's (x) button. +## Filtering with multiple filters of the same type + +Some filters can be added multiple times. These include but are not limited to assignees and labels. When you filter with these multiple filters of the same type, the AND logic is applied. For example, if you were filtering `assignee:@sam assignee:@sarah`, your results will only include entries whereby the assignees are assigned to both Sam and Sarah are returned. + +![multiple assignees filtering](img/multiple_assignees.png) + ### Shortcut You'll also find a shortcut on the search field on the top-right of the project's dashboard to @@ -136,3 +142,18 @@ you'll be able to, besides filtering them by **Name**, **Author**, **Assignee**, and **Labels**, select multiple issues to add to a list of your choice: ![search and select issues to add to board](img/search_issues_board.png) + +## Advanced Global Search **[STARTER]** + +Leverage Elasticsearch for faster, more advanced code search across your entire +GitLab instance. + +[Learn how to use the Advanced Global Search.](advanced_global_search.md) + +## Advanced Syntax Search **[STARTER]** + +Use advanced queries for more targeted search results. + +[Learn how to use the Advanced Syntax Search.](advanced_search_syntax.md) + +[ee]: https://about.gitlab.com/pricing/