Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-07-20 12:55:51 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2021-07-20 12:55:51 +0300
commite8d2c2579383897a1dd7f9debd359abe8ae8373d (patch)
treec42be41678c2586d49a75cabce89322082698334 /doc/integration
parentfc845b37ec3a90aaa719975f607740c22ba6a113 (diff)
Add latest changes from gitlab-org/gitlab@14-1-stable-eev14.1.0-rc42
Diffstat (limited to 'doc/integration')
-rw-r--r--doc/integration/datadog.md32
-rw-r--r--doc/integration/elasticsearch.md45
-rw-r--r--doc/integration/github.md2
-rw-r--r--doc/integration/google_workspace_saml.md9
-rw-r--r--doc/integration/jenkins.md22
-rw-r--r--doc/integration/jira/connect-app.md19
-rw-r--r--doc/integration/jira/development_panel.md30
-rw-r--r--doc/integration/jira/dvcs.md15
-rw-r--r--doc/integration/jira/index.md42
-rw-r--r--doc/integration/jira/issues.md21
-rw-r--r--doc/integration/kerberos.md5
-rw-r--r--doc/integration/saml.md5
-rw-r--r--doc/integration/security_partners/index.md6
-rw-r--r--doc/integration/shibboleth.md152
14 files changed, 169 insertions, 236 deletions
diff --git a/doc/integration/datadog.md b/doc/integration/datadog.md
new file mode 100644
index 00000000000..38ff004a203
--- /dev/null
+++ b/doc/integration/datadog.md
@@ -0,0 +1,32 @@
+---
+stage: Create
+group: Ecosystem
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
+---
+
+# Datadog integration **(FREE)**
+
+> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/270123) in GitLab 14.1
+
+This integration allows sending CI/CD pipeline and job information to [Datadog](https://www.datadoghq.com/) for monitoring and troubleshooting of job failures and performance issues using the [CI Visibility](https://app.datadoghq.com/ci) product.
+
+You can find out more information on [Datadog's CI Visibility documentation site](https://docs.datadoghq.com/continuous_integration/).
+
+## How to configure it
+
+The integration is based on [Webhooks](../user/project/integrations/webhooks.md) and it only requires setup on GitLab.
+
+Configure the integration on a project or group by going to **Settings > Integrations > Datadog** for each project or group you want to instrument. You can also activate the integration for the entire GitLab instance.
+
+Fill in the integration configuration settings:
+
+- `Active` enables the integration.
+- `Datadog site` specifies which [Datadog site](https://docs.datadoghq.com/getting_started/site/) to send data to.
+- `API URL` (optional) allows overriding the API URL used for sending data directly, only used in advanced scenarios.
+- `API key` specifies which API key to use when sending data. You can generate one in the [APIs tab](https://app.datadoghq.com/account/settings#api) of the Integrations section on Datadog.
+- `Service` (optional) specifies which service name to attach to each span generated by the integration. Use this to differentiate between GitLab instances.
+- `Env` (optional) specifies which environment (`env` tag) to attach to each span generated by the integration. Use this to differentiate between groups of GitLab instances (i.e. staging vs production).
+
+You can test the integration with the `Test settings` button. After it’s successful, click `Save changes` to finish the integration set up.
+
+Data sent by the integration will be available in the [CI Visibility](https://app.datadoghq.com/ci) section of your Datadog account.
diff --git a/doc/integration/elasticsearch.md b/doc/integration/elasticsearch.md
index aa82e15f1b1..23ca57cb8b8 100644
--- a/doc/integration/elasticsearch.md
+++ b/doc/integration/elasticsearch.md
@@ -26,6 +26,11 @@ and the advantage of the [special searches](../user/search/advanced_search.md).
| GitLab Enterprise Edition 9.0 through 11.4 | Elasticsearch 5.1 through 5.5 |
| GitLab Enterprise Edition 8.4 through 8.17 | Elasticsearch 2.4 with [Delete By Query Plugin](https://www.elastic.co/guide/en/elasticsearch/plugins/2.4/plugins-delete-by-query.html) installed |
+The Elasticsearch Integration is designed to work with supported versions of
+Elasticsearch and follows Elasticsearch's [End of Life Policy](https://www.elastic.co/support/eol).
+When we change Elasticsearch supported versions in GitLab, we announce them in [deprecation notes](https://about.gitlab.com/handbook/marketing/blog/release-posts/#deprecations) in monthly release posts
+before the actual removal.
+
## System requirements
Elasticsearch requires additional resources in excess of those documented in the
@@ -186,7 +191,8 @@ instances](#indexing-large-instances) below.
To enable Advanced Search, you need to have admin access to GitLab:
-1. Navigate to **Admin Area**, then **Settings > Advanced Search**.
+1. On the top bar, select **Menu >** **{admin}** **Admin**.
+1. On the left sidebar, select **Settings > Advanced Search**.
NOTE:
To see the Advanced Search section, you need an active GitLab Premium
@@ -195,11 +201,10 @@ To enable Advanced Search, you need to have admin access to GitLab:
1. Configure the [Advanced Search settings](#advanced-search-configuration) for
your Elasticsearch cluster. Do not enable **Search with Elasticsearch enabled**
yet.
-1. Now enable **Elasticsearch indexing** in **Admin Area > Settings >
- Advanced Search** and click **Save changes**. This will create
+1. Enable **Elasticsearch indexing** and select **Save changes**. This creates
an empty index if one does not already exist.
-1. Click **Index all projects**.
-1. Click **Check progress** in the confirmation message to see the status of
+1. Select **Index all projects**.
+1. Select **Check progress** in the confirmation message to see the status of
the background jobs.
1. Personal snippets need to be indexed using another Rake task:
@@ -211,9 +216,7 @@ To enable Advanced Search, you need to have admin access to GitLab:
bundle exec rake gitlab:elastic:index_snippets RAILS_ENV=production
```
-1. After the indexing has completed, enable **Search with Elasticsearch enabled** in
- **Admin Area > Settings > Advanced Search** and click **Save
- changes**.
+1. After the indexing has completed, enable **Search with Elasticsearch enabled** and select **Save changes**.
NOTE:
When your Elasticsearch cluster is down while Elasticsearch is enabled,
@@ -283,7 +286,8 @@ You can improve the language support for Chinese and Japanese languages by utili
To enable language(s) support:
1. Install the desired plugin(s), please refer to [Elasticsearch documentation](https://www.elastic.co/guide/en/elasticsearch/plugins/7.9/installation.html) for plugins installation instructions. The plugin(s) must be installed on every node in the cluster, and each node must be restarted after installation. For a list of plugins, see the table later in this section.
-1. Navigate to the **Admin Area**, then **Settings > Advanced Search**..
+1. On the top bar, select **Menu >** **{admin}** **Admin**.
+1. On the left sidebar, select **Settings > Advanced Search**.
1. Locate **Custom analyzers: language support**.
1. Enable plugin(s) support for **Indexing**.
1. Click **Save changes** for the changes to take effect.
@@ -303,7 +307,8 @@ For guidance on what to install, see the following Elasticsearch language plugin
To disable the Elasticsearch integration:
-1. Navigate to the **Admin Area**, then **Settings > Advanced Search**.
+1. On the top bar, select **Menu >** **{admin}** **Admin**.
+1. On the left sidebar, select **Settings > Advanced Search**.
1. Uncheck **Elasticsearch indexing** and **Search with Elasticsearch enabled**.
1. Click **Save changes** for the changes to take effect.
1. (Optional) Delete the existing indexes:
@@ -334,7 +339,9 @@ index alias to it which becomes the new `primary` index. At the end, we resume t
To trigger the reindexing process:
1. Sign in to your GitLab instance as an administrator.
-1. Go to **Admin Area > Settings > Advanced Search > Elasticsearch zero-downtime reindexing**.
+1. On the top bar, select **Menu >** **{admin}** **Admin**.
+1. On the left sidebar, select **Settings > Advanced Search**.
+1. Expand **Elasticsearch zero-downtime reindexing**.
1. Select **Trigger cluster reindexing**.
Reindexing can be a lengthy process depending on the size of your Elasticsearch cluster.
@@ -349,7 +356,10 @@ While the reindexing is running, you will be able to follow its progress under t
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/55681) in GitLab 13.12.
-The following reindex settings are available in **Admin Area > Settings > Advanced Search > Elasticsearch zero-downtime reindexing**:
+1. On the top bar, select **Menu >** **{admin}** **Admin**.
+1. On the left sidebar, select **Settings > Advanced Search**.
+1. Expand **Elasticsearch zero-downtime reindexing**, and you'll
+ find the following options:
- [Slice multiplier](#slice-multiplier)
- [Maximum running slices](#maximum-running-slices)
@@ -394,7 +404,10 @@ Sometimes, you might want to abandon the unfinished reindex job and resume the i
bundle exec rake gitlab:elastic:mark_reindex_failed RAILS_ENV=production
```
-1. Uncheck the "Pause Elasticsearch indexing" checkbox in **Admin Area > Settings > Advanced Search**.
+1. On the top bar, select **Menu >** **{admin}** **Admin**.
+1. On the left sidebar, select **Settings > Advanced Search**.
+1. Expand **Elasticsearch zero-downtime reindexing**.
+1. Clear the **Pause Elasticsearch indexing** checkbox.
## Advanced Search migrations
@@ -545,7 +558,7 @@ For basic guidance on choosing a cluster configuration you may refer to [Elastic
- A good guideline is to ensure you keep the number of shards per node below 20 per GB heap it has configured. A node with a 30GB heap should therefore have a maximum of 600 shards, but the further below this limit you can keep it the better. This will generally help the cluster stay in good health.
- Number of Elasticsearch shards:
- Small shards result in small segments, which increases overhead. Aim to keep the average shard size between at least a few GB and a few tens of GB.
- - Another consideration is the number of documents. To determine the number of shards to use, sum the numbers in the **Admin Area > Dashboard > Statistics** pane (the number of documents to be indexed), divide by 5 million, and add 5. For example:
+ - Another consideration is the number of documents. To determine the number of shards to use, sum the numbers in the **Menu >** **{admin}** **Admin > Dashboard > Statistics** pane (the number of documents to be indexed), divide by 5 million, and add 5. For example:
- If you have fewer than about 2,000,000 documents, use the default of 5 shards
- 10,000,000 documents: `10000000/5000000 + 5` = 7 shards
- 100,000,000 documents: `100000000/5000000 + 5` = 25 shards
@@ -622,7 +635,7 @@ Sidekiq processes](../administration/operations/extra_sidekiq_processes.md).
```
This enqueues a Sidekiq job for each project that needs to be indexed.
- You can view the jobs in **Admin Area > Monitoring > Background Jobs > Queues Tab**
+ You can view the jobs in **Menu >** **{admin}** **Admin > Monitoring > Background Jobs > Queues Tab**
and click `elastic_commit_indexer`, or you can query indexing status using a Rake task:
```shell
@@ -725,7 +738,7 @@ Sidekiq processes](../administration/operations/extra_sidekiq_processes.md).
### Deleted documents
-Whenever a change or deletion is made to an indexed GitLab object (a merge request description is changed, a file is deleted from the master branch in a repository, a project is deleted, etc), a document in the index is deleted. However, since these are "soft" deletes, the overall number of "deleted documents", and therefore wasted space, increases. Elasticsearch does intelligent merging of segments in order to remove these deleted documents. However, depending on the amount and type of activity in your GitLab installation, it's possible to see as much as 50% wasted space in the index.
+Whenever a change or deletion is made to an indexed GitLab object (a merge request description is changed, a file is deleted from the default branch in a repository, a project is deleted, etc), a document in the index is deleted. However, since these are "soft" deletes, the overall number of "deleted documents", and therefore wasted space, increases. Elasticsearch does intelligent merging of segments in order to remove these deleted documents. However, depending on the amount and type of activity in your GitLab installation, it's possible to see as much as 50% wasted space in the index.
In general, we recommend letting Elasticsearch merge and reclaim space automatically, with the default settings. From [Lucene's Handling of Deleted Documents](https://www.elastic.co/blog/lucenes-handling-of-deleted-documents "Lucene's Handling of Deleted Documents"), _"Overall, besides perhaps decreasing the maximum segment size, it is best to leave Lucene's defaults as-is and not fret too much about when deletes are reclaimed."_
diff --git a/doc/integration/github.md b/doc/integration/github.md
index 4d8adfe42f1..7459691831c 100644
--- a/doc/integration/github.md
+++ b/doc/integration/github.md
@@ -22,7 +22,7 @@ your website could enable the covert redirect attack.
## Enabling GitHub OAuth
-To enable the GitHub OmniAuth provider, you need an OAuth 2 Client ID and Client Secret from GitHub. To get these credentials, sign into GitHub and follow their procedure for [Creating an OAuth App](https://docs.github.com/en/developers/apps/creating-an-oauth-app).
+To enable the GitHub OmniAuth provider, you need an OAuth 2 Client ID and Client Secret from GitHub. To get these credentials, sign into GitHub and follow their procedure for [Creating an OAuth App](https://docs.github.com/en/developers/apps/building-oauth-apps/creating-an-oauth-app).
When you create an OAuth 2 app in GitHub, you need the following information:
diff --git a/doc/integration/google_workspace_saml.md b/doc/integration/google_workspace_saml.md
deleted file mode 100644
index a02e88cc33f..00000000000
--- a/doc/integration/google_workspace_saml.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-redirect_to: 'saml.md'
-remove_date: '2021-06-15'
----
-
-This document was moved to [another location](saml.md).
-
-<!-- This redirect file can be deleted after 2021-06-15>. -->
-<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->
diff --git a/doc/integration/jenkins.md b/doc/integration/jenkins.md
index 60c9faf938d..b6d720d2714 100644
--- a/doc/integration/jenkins.md
+++ b/doc/integration/jenkins.md
@@ -18,7 +18,7 @@ To better understand the GitLab Jenkins integration, watch the following video:
Use the Jenkins integration with GitLab when:
-- You plan to migrate your CI from Jenkins to [GitLab CI/CD](../ci/README.md) in the future, but
+- You plan to migrate your CI from Jenkins to [GitLab CI/CD](../ci/index.md) in the future, but
need an interim solution.
- You're invested in [Jenkins Plugins](https://plugins.jenkins.io/) and choose to keep using Jenkins
to build your apps.
@@ -65,7 +65,7 @@ Grant a GitLab user access to the select GitLab projects.
1. Grant the user permission to the GitLab projects.
If you're integrating Jenkins with many GitLab projects, consider granting the user global
- Administrator permission. Otherwise, add the user to each project, and grant Developer permission.
+ Administrator permission. Otherwise, add the user to each project, and grant the Developer role.
## Configure GitLab API access
@@ -137,13 +137,16 @@ Set up the Jenkins project you intend to run your build on.
}
```
+ For more Jenkins Pipeline script examples, go to the [Jenkins GitLab plugin repository on GitHub](https://github.com/jenkinsci/gitlab-plugin#scripted-pipeline-jobs).
+
## Configure the GitLab project
Configure the GitLab integration with Jenkins in one of the following ways.
### Recommended Jenkins integration
-GitLab recommends this approach for Jenkins integrations.
+GitLab recommends this approach for Jenkins integrations because it is easier to configure
+than the [webhook integration](#webhook-integration).
1. Create a new GitLab project or choose an existing one.
1. Go to **Settings > Integrations**, then select **Jenkins CI**.
@@ -217,3 +220,16 @@ If you don't find the errors above, but do find *duplicate* entries like below (
2019-10-25_04:22:41.25630 2019-10-25T04:22:41.256Z 1584 TID-ovowh4tek WebHookWorker JID-941fb7f40b69dff3d833c99b INFO: start
2019-10-25_04:22:41.25630 2019-10-25T04:22:41.256Z 1584 TID-ovowh4tek WebHookWorker JID-941fb7f40b69dff3d833c99b INFO: start
```
+
+### Enable job logs in Jenkins
+
+When troubleshooting an integration issue, it is useful to enable job logs in Jenkins to see more details about what is happening under the hood.
+To enable job logs in Jenkins:
+
+1. Go to **Dashboard > Manage Jenkins > System Log**.
+1. Select **Add new log recorder**.
+1. Enter a name for the log recorder.
+1. On the next screen, select **Add** and enter `org.jenkinsci.plugins.workflow.job` in the text field.
+1. Make sure that the Log Level is **All** and select **Save**.
+
+Now, after you run a build, you can go to the loggers page (**Dashboard > Manage Jenkins > System Log**), select your logger, and check the logs.
diff --git a/doc/integration/jira/connect-app.md b/doc/integration/jira/connect-app.md
index a080d513afa..fcee3f7a637 100644
--- a/doc/integration/jira/connect-app.md
+++ b/doc/integration/jira/connect-app.md
@@ -4,21 +4,24 @@ group: Ecosystem
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
-# GitLab.com for Jira Cloud app **(FREE SAAS)**
+# GitLab.com for Jira Cloud app **(FREE)**
+
+## GitLab.com for Jira Cloud app **(FREE SAAS)**
You can integrate GitLab.com and Jira Cloud using the
[GitLab.com for Jira Cloud](https://marketplace.atlassian.com/apps/1221011/gitlab-com-for-jira-cloud)
-app in the Atlassian Marketplace. The user configuring GitLab.com for Jira Cloud must have
+app in the Atlassian Marketplace. The user configuring GitLab.com for Jira Cloud app must have
[Maintainer](../../user/permissions.md) permissions in the GitLab.com namespace.
This integration method supports [smart commits](dvcs.md#smart-commits).
This method is recommended when using GitLab.com and Jira Cloud because data is
synchronized in real-time. The DVCS connector updates data only once per hour.
-If you are not using both of these environments, use the [Jira DVCS Connector](dvcs.md) method.
+If you are not using both of these environments, use the [Jira DVCS Connector](dvcs.md) method or
+[steps to install GitLab.com for Jira Cloud app for self-managed instances](#install-the-gitlabcom-for-jira-cloud-app-for-self-managed-instances).
<i class="fa fa-youtube-play youtube" aria-hidden="true"></i>
-For a walkthrough of the integration with GitLab.com for Jira Cloud, watch
+For a walkthrough of the integration with GitLab.com for Jira Cloud app, watch
[Configure GitLab.com Jira Could Integration using Marketplace App](https://youtu.be/SwR-g1s1zTo) on YouTube.
1. Go to **Jira Settings > Apps > Find new apps**, then search for GitLab.
@@ -52,10 +55,10 @@ After a namespace is added:
Support for syncing past branch and commit data [is planned](https://gitlab.com/gitlab-org/gitlab/-/issues/263240).
-## Install the GitLab.com for Jira Cloud application for self-managed instances **(FREE SELF)**
+## Install the GitLab.com for Jira Cloud app for self-managed instances **(FREE SELF)**
If your GitLab instance is self-managed, you must follow some
-extra steps to install the GitLab.com for Jira Cloud application.
+extra steps to install the GitLab.com for Jira Cloud app.
Each Jira Cloud application must be installed from a single location. Jira fetches
a [manifest file](https://developer.atlassian.com/cloud/jira/platform/connect-app-descriptor/)
@@ -121,9 +124,9 @@ for details.
NOTE:
DVCS means distributed version control system.
-## Troubleshooting GitLab.com for Jira Cloud
+## Troubleshooting GitLab.com for Jira Cloud app
-The GitLab.com for Jira Cloud app uses an iframe to add namespaces on the settings page. Some browsers block cross-site cookies. This can lead to a message saying that the user needs to log in on GitLab.com even though the user is already logged in.
+The GitLab.com for Jira Cloud app uses an iframe to add namespaces on the settings page. Some browsers block cross-site cookies, which can lead to a message saying that the user needs to log in on GitLab.com even though the user is already logged in.
> "You need to sign in or sign up before continuing."
diff --git a/doc/integration/jira/development_panel.md b/doc/integration/jira/development_panel.md
index 3aba2e3b3a0..9057267d55e 100644
--- a/doc/integration/jira/development_panel.md
+++ b/doc/integration/jira/development_panel.md
@@ -31,11 +31,6 @@ This integration connects all GitLab projects to projects in the Jira instance i
including the projects in its subgroups.
- A personal namespace: Connects the projects in that personal namespace to Jira.
-This differs from the [Jira integration](index.md),
-where the mapping is between one GitLab project and the entire Jira instance.
-You can install both integrations to take advantage of both sets of features.
-A [feature comparison](index.md#direct-feature-comparison) is available.
-
## Use the integration
After the integration is [set up on GitLab and Jira](#configure-the-integration), you can:
@@ -44,7 +39,8 @@ After the integration is [set up on GitLab and Jira](#configure-the-integration)
commit messages, and merge request titles.
- See the linked branches, commits, and merge requests in Jira issues:
-Merge requests are called "pull requests" in Jira issues.
+At this time, merge requests are called "pull requests" in Jira issues.
+This name may change in a future Jira release.
Select the links to see your GitLab repository data.
@@ -72,13 +68,13 @@ To simplify administration, we recommend that a GitLab group maintainer or group
| Jira usage | GitLab.com customers need | GitLab self-managed customers need |
|------------|---------------------------|------------------------------------|
-| [Atlassian cloud](https://www.atlassian.com/cloud) | The [GitLab.com for Jira Cloud](https://marketplace.atlassian.com/apps/1221011/gitlab-com-for-jira-cloud?hosting=cloud&tab=overview) application installed from the [Atlassian Marketplace](https://marketplace.atlassian.com). This offers real-time sync between GitLab and Jira. | The [GitLab.com for Jira Cloud](https://marketplace.atlassian.com/apps/1221011/gitlab-com-for-jira-cloud?hosting=cloud&tab=overview), using a workaround process. See the documentation for [installing the GitLab Jira Cloud application for self-managed instances](connect-app.md#install-the-gitlabcom-for-jira-cloud-application-for-self-managed-instances) for more information. |
+| [Atlassian cloud](https://www.atlassian.com/cloud) | The [GitLab.com for Jira Cloud](https://marketplace.atlassian.com/apps/1221011/gitlab-com-for-jira-cloud?hosting=cloud&tab=overview) application installed from the [Atlassian Marketplace](https://marketplace.atlassian.com). This offers real-time sync between GitLab and Jira. | The [GitLab.com for Jira Cloud](https://marketplace.atlassian.com/apps/1221011/gitlab-com-for-jira-cloud?hosting=cloud&tab=overview), using a workaround process. See the documentation for [installing the GitLab Jira Cloud application for self-managed instances](connect-app.md#install-the-gitlabcom-for-jira-cloud-app-for-self-managed-instances) for more information. |
| Your own server | The Jira DVCS (distributed version control system) connector. This syncs data hourly. | The [Jira DVCS Connector](dvcs.md). |
Each GitLab project can be configured to connect to an entire Jira instance. That means after
configuration, one GitLab project can interact with all Jira projects in that instance. For:
-- The [view Jira issues](issues.md#view-jira-issues) feature, you must associate a GitLab project with a
+- The [view Jira issues](issues.md#view-jira-issues) feature **(PREMIUM)**, you must associate a GitLab project with a
specific Jira project.
- Other features, you do not have to explicitly associate a GitLab project with any single Jira
project.
@@ -86,16 +82,16 @@ configuration, one GitLab project can interact with all Jira projects in that in
If you have a single Jira instance, you can pre-fill the settings. For more information, read the
documentation for [central administration of project integrations](../../user/admin_area/settings/project_integration_management.md).
-To enable the Jira service in GitLab, you must:
+To enable the integration in GitLab, you must:
-1. [Configure the project in Jira](dvcs.md#configure-jira-for-dvcs).
+1. [Configure the project in Jira](index.md#jira-integration).
The supported Jira versions are `v6.x`, `v7.x`, and `v8.x`.
1. [Enter the correct values in GitLab](#configure-gitlab).
### Configure GitLab
To enable the integration in your GitLab project, after you
-[configure your Jira project](dvcs.md#configure-jira-for-dvcs):
+[configure your Jira project](index.md#jira-integration):
1. Ensure your GitLab installation does not use a relative URL, as described in
[Limitations](#limitations).
@@ -114,12 +110,14 @@ To enable the integration in your GitLab project, after you
this GitLab project, such as `https://jira.example.com`.
- **Jira API URL**: The base URL to the Jira instance API, such as `https://jira-api.example.com`.
Defaults to the **Web URL** value if not set. Leave blank if using **Jira on Atlassian cloud**.
- - **Username or Email**: Created when you [configured Jira](dvcs.md#configure-jira-for-dvcs).
+ - **Username or Email**:
For **Jira Server**, use `username`. For **Jira on Atlassian cloud**, use `email`.
- - **Password/API token**: Created when you [configured Jira](dvcs.md#configure-jira-for-dvcs).
+ See [authentication in Jira](index.md#authentication-in-jira).
+ - **Password/API token**:
Use `password` for **Jira Server** or `API token` for **Jira on Atlassian cloud**.
-1. To enable users to view Jira issues inside the GitLab project, select **Enable Jira issues** and
- enter a Jira project key. **(PREMIUM)**
+ See [authentication in Jira](index.md#authentication-in-jira).
+1. To enable users to view Jira issues inside the GitLab project **(PREMIUM)**, select **Enable Jira issues** and
+ enter a Jira project key.
You can display issues only from a single Jira project in a given GitLab project.
@@ -127,7 +125,7 @@ To enable the integration in your GitLab project, after you
If you enable Jira issues with this setting, all users with access to this GitLab project
can view all issues from the specified Jira project.
-1. To enable issue creation for vulnerabilities, select **Enable Jira issues creation from vulnerabilities**.
+1. To enable issue creation for vulnerabilities **(ULTIMATE)**, select **Enable Jira issues creation from vulnerabilities**.
1. Select the **Jira issue type**. If the dropdown is empty, select refresh (**{retry}**) and try again.
1. To verify the Jira connection is working, select **Test settings**.
1. Select **Save changes**.
diff --git a/doc/integration/jira/dvcs.md b/doc/integration/jira/dvcs.md
index dc23765337b..d69243e50a6 100644
--- a/doc/integration/jira/dvcs.md
+++ b/doc/integration/jira/dvcs.md
@@ -7,9 +7,9 @@ info: To determine the technical writer assigned to the Stage/Group associated w
# Jira DVCS connector **(FREE)**
Use the Jira DVCS (distributed version control system) connector if you self-host
-either your Jira instance or your GitLab instance, and you want to sync information
-between them. If you use Jira Cloud and GitLab.com, you should use the
-[GitLab for Jira app](connect-app.md) unless you specifically need the DVCS connector.
+your Jira instance, and you want to sync information
+between GitLab and Jira. If you use Jira Cloud and GitLab.com, you should use the
+[GitLab.com for Jira Cloud app](connect-app.md) unless you specifically need the DVCS connector.
When you configure the Jira DVCS connector, make sure your GitLab and Jira instances
are accessible.
@@ -67,8 +67,9 @@ your integration.
1. In GitLab, [create a user](../../user/profile/account/create_accounts.md) for Jira to
use to connect to GitLab. For Jira to access all projects,
- a user with [Administrator](../../user/permissions.md) permissions must
- create the user.
+ a user with [administrator](../../user/permissions.md) permissions must
+ create the user with administrator permissions.
+1. Sign in as the `jira` user.
1. In the top right corner, click the account's avatar, and select **Edit profile**.
1. In the left sidebar, select **Applications**.
1. In the **Name** field, enter a descriptive name for the integration, such as `Jira`.
@@ -77,6 +78,7 @@ your integration.
- *For GitLab versions 13.0 and later* **and** *Jira versions 8.14 and later,* use the
generated `Redirect URL` from
[Linking GitLab accounts with Jira](https://confluence.atlassian.com/adminjiraserver/linking-gitlab-accounts-1027142272.html).
+ - *For GitLab versions 13.0 and later* **and** *Jira Cloud,* use `https://<gitlab.example.com>/login/oauth/callback`.
- *For GitLab versions 11.3 and later,* use `https://<gitlab.example.com>/login/oauth/callback`.
If you use GitLab.com, the URL is `https://gitlab.com/login/oauth/callback`.
- *For GitLab versions 11.2 and earlier,* use
@@ -89,9 +91,6 @@ your integration.
## Configure Jira for DVCS
-If you use Jira Cloud and GitLab.com, use the [GitLab for Jira app](connect-app.md)
-unless you specifically need the DVCS Connector.
-
Configure this connection when you want to import all GitLab commits and branches,
for the groups you specify, into Jira. This import takes a few minutes and, after
it completes, refreshes every 60 minutes:
diff --git a/doc/integration/jira/index.md b/doc/integration/jira/index.md
index 2646a6c5e2e..a85ffdd1feb 100644
--- a/doc/integration/jira/index.md
+++ b/doc/integration/jira/index.md
@@ -7,28 +7,28 @@ info: To determine the technical writer assigned to the Stage/Group associated w
# Jira integrations **(FREE)**
If your organization uses [Jira](https://www.atlassian.com/software/jira) issues,
-you can [migrate](../../user/project/import/jira.md) your issues from Jira and work
+you can [migrate your issues from Jira](../../user/project/import/jira.md) **(PREMIUM)** and work
exclusively in GitLab. However, if you'd like to continue to use Jira, you can
integrate it with GitLab. GitLab offers two types of Jira integrations, and you
-can use one or both depending on the capabilities you need.
+can use one or both depending on the capabilities you need. It is recommended that you enable both.
-## Compare Jira integrations
+## Compare integrations
After you set up one or both of these integrations, you can cross-reference activity
in your GitLab project with any of your projects in Jira.
-<i class="fa fa-youtube-play youtube" aria-hidden="true"></i>
-For an overview, see [Agile Management - GitLab-Jira Basic Integration](https://www.youtube.com/watch?v=fWvwkx5_00E&feature=youtu.be).
+### Jira integration
-### Per-project Jira integration
+This integration connects one or more GitLab project to a Jira instance. The Jira instance
+can be hosted by you or in [Atlassian cloud](https://www.atlassian.com/cloud).
+The supported Jira versions are `v6.x`, `v7.x`, and `v8.x`.
-This integration connects a single GitLab project to a Jira instance. The Jira instance
-can be hosted by you or in [Atlassian cloud](https://www.atlassian.com/cloud):
+<i class="fa fa-youtube-play youtube" aria-hidden="true"></i>
+For an overview, see [Agile Management - GitLab-Jira Basic Integration](https://www.youtube.com/watch?v=fWvwkx5_00E&feature=youtu.be).
-- *If your installation uses Jira Cloud,* use the
- [GitLab for Jira app](connect-app.md).
-- *If either your Jira or GitLab installation is self-managed,* use the
- [Jira DVCS Connector](dvcs.md).
+To set up the integration, [configure the project settings](development_panel.md#configure-gitlab) in GitLab.
+You can also configure these settings at a [group level](../../user/admin_area/settings/project_integration_management.md#manage-group-level-default-settings-for-a-project-integration),
+and for self-managed GitLab, at an [instance level](../../user/admin_area/settings/project_integration_management.md#manage-instance-level-default-settings-for-a-project-integration).
### Jira development panel integration
@@ -37,6 +37,13 @@ connects all GitLab projects under a group or personal namespace. When configure
relevant GitLab information, including related branches, commits, and merge requests,
displays in the [development panel](https://support.atlassian.com/jira-software-cloud/docs/view-development-information-for-an-issue/).
+To set up the Jira development panel integration:
+
+- *If your installation uses Jira Cloud,* use the
+ [GitLab for Jira app](connect-app.md).
+- *If either your Jira or GitLab installation is self-managed,* use the
+ [Jira DVCS Connector](dvcs.md).
+
### Direct feature comparison
| Capability | Jira integration | Jira Development panel integration |
@@ -48,7 +55,7 @@ displays in the [development panel](https://support.atlassian.com/jira-software-
| Add Jira time tracking to an issue. | No. | Yes. Time can be specified using Jira Smart Commits. |
| Use a Git commit or merge request to transition or close a Jira issue. | Yes. Only a single transition type, typically configured to close the issue by setting it to Done. | Yes. Transition to any state using Jira Smart Commits. |
| Display a list of Jira issues. | Yes. **(PREMIUM)** | No. |
-| Create a Jira issue from a vulnerability or finding. **(ULTIMATE)** | Yes. | No. |
+| Create a Jira issue from a vulnerability or finding. | Yes. **(ULTIMATE)** | No. |
## Authentication in Jira
@@ -64,10 +71,10 @@ The process for configuring Jira depends on whether you host Jira on your own se
## Privacy considerations
-If you integrate a private GitLab project with Jira using the [**Per-project Jira integration**](#per-project-jira-integration),
+If you integrate a private GitLab project with Jira using the [**Jira integration**](#jira-integration),
actions in GitLab issues and merge requests linked to a Jira issue leak information
about the private project to non-administrator Jira users. If your installation uses Jira Cloud,
-you can use the [GitLab for Jira app](connect-app.md) to avoid this risk.
+you can use the [GitLab.com for Jira Cloud app](connect-app.md) to avoid this risk.
## Troubleshooting
@@ -96,3 +103,8 @@ which may lead to a `401 unauthorized` error when testing your Jira integration.
If CAPTCHA has been triggered, you can't use Jira's REST API to
authenticate with the Jira site. You need to log in to your Jira instance
and complete the CAPTCHA.
+
+## Third-party Jira integrations
+
+Developers have built several third-party Jira integrations for GitLab that are
+listed on the [Atlassian Marketplace](https://marketplace.atlassian.com/search?product=jira&query=gitlab).
diff --git a/doc/integration/jira/issues.md b/doc/integration/jira/issues.md
index 91311f85310..34ca5481b85 100644
--- a/doc/integration/jira/issues.md
+++ b/doc/integration/jira/issues.md
@@ -6,7 +6,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
# Jira integration issue management **(FREE)**
-Integrating issue management with Jira requires you to [configure Jira](development_panel.md#configure-the-integration)
+Integrating issue management with Jira requires you to [configure Jira](index.md#jira-integration)
and [enable the Jira service](development_panel.md#configure-gitlab) in GitLab.
After you configure and enable the integration, you can reference and close Jira
issues by mentioning the Jira ID in GitLab commits and merge requests.
@@ -49,13 +49,10 @@ You can [disable comments](#disable-comments-on-jira-issues) on issues.
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/280766) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 13.12 behind a feature flag, disabled by default.
> - [Deployed behind a feature flag](../../user/feature_flags.md), disabled by default.
-> - Disabled on GitLab.com.
-> - Not recommended for production use.
-> - To use in GitLab self-managed instances, ask a GitLab administrator to [enable it](#enable-or-disable-the-ability-to-require-an-associated-jira-issue-on-merge-requests). **(ULTIMATE SELF)**
-
-This in-development feature might not be available for your use. There can be
-[risks when enabling features still in development](../../user/application_security/index.md#security-approvals-in-merge-requests).
-Refer to this feature's version history for more details.
+> - [Enabled by default](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/61722) in GitLab 14.1.
+> - Enabled on GitLab.com.
+> - Recommended for production use.
+> - For GitLab self-managed instances, GitLab administrators can opt to [disable it](#enable-or-disable-the-ability-to-require-an-associated-jira-issue-on-merge-requests). **(ULTIMATE SELF)**
You can prevent merge requests from being merged if they do not refer to a Jira issue.
To enforce this:
@@ -125,7 +122,7 @@ Issues are grouped into tabs based on their
- **Closed** tab: All issues with a Jira status categorized as Done.
- **All** tab: All issues of any status.
-## Search and filter the issues list
+### Search and filter the issues list **(PREMIUM)**
To refine the list of issues, use the search bar to search for any text
contained in an issue summary (title) or description. Use any combination
@@ -188,9 +185,9 @@ adding a comment to the Jira issue:
## Enable or disable the ability to require an associated Jira issue on merge requests
The ability to require an associated Jira issue on merge requests is under development
-and not ready for production use. It is deployed behind a feature flag that is
-**disabled by default**.
-[GitLab administrators with access to the GitLab Rails console](../../administration/feature_flags.md) can enable it.
+but ready for production use. It is deployed behind a feature flag that is
+**enabled by default**.
+[GitLab administrators with access to the GitLab Rails console](../../administration/feature_flags.md) can opt to disable it.
To enable it:
diff --git a/doc/integration/kerberos.md b/doc/integration/kerberos.md
index efff31bec99..5b827d23772 100644
--- a/doc/integration/kerberos.md
+++ b/doc/integration/kerberos.md
@@ -331,6 +331,11 @@ remove the OmniAuth provider named `kerberos` from your `gitlab.yml` /
1. [Reconfigure GitLab](../administration/restart_gitlab.md#omnibus-gitlab-reconfigure) for the changes to take effect.
+NOTE:
+Removing the `kerberos` OmniAuth provider can also resolve a rare
+`Krb5Auth::Krb5::Exception (No credentials cache found)` error (`500` error in GitLab)
+when trying to clone via HTTPS.
+
## Support for Active Directory Kerberos environments
When using Kerberos ticket-based authentication in an Active Directory domain,
diff --git a/doc/integration/saml.md b/doc/integration/saml.md
index 927dd3cd714..8e34f115072 100644
--- a/doc/integration/saml.md
+++ b/doc/integration/saml.md
@@ -201,6 +201,9 @@ For example configurations, see the [notes on specific providers](#providers).
If a username is not specified, the email address is used to generate the GitLab username.
+See [`attribute_statements`](#attribute_statements) for examples on how the
+assertions are configured.
+
Please refer to [the OmniAuth SAML gem](https://github.com/omniauth/omniauth-saml/blob/master/lib/omniauth/strategies/saml.rb)
for a full list of supported assertions.
@@ -849,7 +852,7 @@ Another issue that can result in this error is when the correct information is b
These errors all come from a similar place, the SAML certificate. SAML requests
need to be validated using a fingerprint, a certificate or a validator.
-For this you need take the following into account:
+For this you need to take the following into account:
- If a fingerprint is used, it must be the SHA1 fingerprint
- If no certificate is provided in the settings, a fingerprint or fingerprint
diff --git a/doc/integration/security_partners/index.md b/doc/integration/security_partners/index.md
index 1cd14947e74..2b851b5f614 100644
--- a/doc/integration/security_partners/index.md
+++ b/doc/integration/security_partners/index.md
@@ -12,12 +12,18 @@ each security partner:
<!-- vale gitlab.Spelling = NO -->
+- [Accurics](https://readme.accurics.com/1409/)
- [Anchore](https://docs.anchore.com/current/docs/using/integration/ci_cd/gitlab/)
- [Bridgecrew](https://docs.bridgecrew.io/docs/integrate-with-gitlab-self-managed)
- [Checkmarx](https://checkmarx.atlassian.net/wiki/spaces/SD/pages/1929937052/GitLab+Integration)
+- [Deepfactor](https://docs.deepfactor.io/hc/en-us/articles/1500008981941)
+- [GrammaTech](https://www.grammatech.com/codesonar-gitlab-integration)
- [Indeni](https://indeni.com/doc-indeni-cloudrail/integrate-with-ci-cd/gitlab-instructions/)
- [JScrambler](https://docs.jscrambler.com/code-integrity/documentation/gitlab-ci-integration)
+- [Semgrep](https://semgrep.dev/for/gitlab)
- [StackHawk](https://docs.stackhawk.com/continuous-integration/gitlab.html)
+- [Venafi](https://marketplace.venafi.com/details/gitlab-ci-cd/)
+- [Veracode](https://community.veracode.com/s/knowledgeitem/gitlab-ci-MCEKSYPRWL35BRTGOVI55SK5RI4A)
- [WhiteSource](https://www.whitesourcesoftware.com/gitlab/)
<!-- vale gitlab.Spelling = YES -->
diff --git a/doc/integration/shibboleth.md b/doc/integration/shibboleth.md
index c4cf19747be..4a3aa6b3dc5 100644
--- a/doc/integration/shibboleth.md
+++ b/doc/integration/shibboleth.md
@@ -1,151 +1,9 @@
---
-stage: Create
-group: Ecosystem
-info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
+redirect_to: 'saml.md'
+remove_date: '2021-09-29'
---
-# Shibboleth OmniAuth Provider **(FREE)**
+This file was moved to [another location](saml.md).
-NOTE:
-The preferred approach for integrating a Shibboleth authentication system
-with GitLab 10 or newer is to use the [GitLab SAML integration](saml.md). This documentation is for Omnibus GitLab 9.x installs or older.
-
-To enable Shibboleth support in GitLab we need to use Apache instead of NGINX. (It may be possible to use NGINX, however this is difficult to configure using the bundled NGINX provided in the Omnibus GitLab package.) Apache uses `mod_shib2` module for Shibboleth authentication and can pass attributes as headers to OmniAuth Shibboleth provider.
-
-To enable the Shibboleth OmniAuth provider you must configure Apache Shibboleth module.
-The installation and configuration of the module itself is out of the scope of this document.
-Check [the Shibboleth documentation](https://wiki.shibboleth.net/confluence/display/SP3/Apache) for more information.
-
-You can find Apache configuration in [GitLab Recipes](https://gitlab.com/gitlab-org/gitlab-recipes/tree/master/web-server/apache).
-
-The following changes are needed to enable Shibboleth:
-
-1. Protect the OmniAuth Shibboleth callback URL:
-
- ```apache
- <Location /users/auth/shibboleth/callback>
- AuthType shibboleth
- ShibRequestSetting requireSession 1
- ShibUseHeaders On
- require valid-user
- </Location>
-
- Alias /shibboleth-sp /usr/share/shibboleth
- <Location /shibboleth-sp>
- Satisfy any
- </Location>
-
- <Location /Shibboleth.sso>
- SetHandler shib
- </Location>
- ```
-
-1. Exclude Shibboleth URLs from rewriting. Add `RewriteCond %{REQUEST_URI} !/Shibboleth.sso` and `RewriteCond %{REQUEST_URI} !/shibboleth-sp`. Configuration should look like this:
-
- ```apache
- # Apache equivalent of Nginx try files
- RewriteEngine on
- RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
- RewriteCond %{REQUEST_URI} !/Shibboleth.sso
- RewriteCond %{REQUEST_URI} !/shibboleth-sp
- RewriteRule .* http://127.0.0.1:8080%{REQUEST_URI} [P,QSA]
- RequestHeader set X_FORWARDED_PROTO 'https'
- ```
-
- NOTE:
- In GitLab versions 11.4 and later, OmniAuth is enabled by default. If you're using an
- earlier version, you must explicitly enable it in `/etc/gitlab/gitlab.rb`.
-
-1. In addition, add Shibboleth to `/etc/gitlab/gitlab.rb` as an OmniAuth provider.
- User attributes are sent from the
- Apache reverse proxy to GitLab as headers with the names from the Shibboleth
- attribute mapping. Therefore the values of the `args` hash
- should be in the form of `"HTTP_ATTRIBUTE"`. The keys in the hash are arguments
- to the [OmniAuth::Strategies::Shibboleth class](https://github.com/toyokazu/omniauth-shibboleth/blob/master/lib/omniauth/strategies/shibboleth.rb)
- and are documented by the [`omniauth-shibboleth` gem](https://github.com/toyokazu/omniauth-shibboleth)
- (take care to note the version of the gem packaged with GitLab). If some of
- your users appear to be authenticated by Shibboleth and Apache, but GitLab
- rejects their account with a URI that contains "e-mail is invalid" then your
- Shibboleth Identity Provider or Attribute Authority may be asserting multiple
- e-mail addresses. In this instance, you might consider setting the
- `multi_values` argument to `first`.
-
- The file should look like this:
-
- ```ruby
- external_url 'https://gitlab.example.com'
- gitlab_rails['internal_api_url'] = 'https://gitlab.example.com'
-
- # disable Nginx
- nginx['enable'] = false
-
- gitlab_rails['omniauth_allow_single_sign_on'] = true
- gitlab_rails['omniauth_block_auto_created_users'] = false
- gitlab_rails['omniauth_providers'] = [
- {
- "name" => "'shibboleth"',
- "label" => "Text for Login Button",
- "args" => {
- "shib_session_id_field" => "HTTP_SHIB_SESSION_ID",
- "shib_application_id_field" => "HTTP_SHIB_APPLICATION_ID",
- "uid_field" => 'HTTP_EPPN',
- "name_field" => 'HTTP_CN',
- "info_fields" => { "email" => 'HTTP_MAIL'}
- }
- }
- ]
-
- ```
-
-1. [Reconfigure](../administration/restart_gitlab.md#omnibus-gitlab-reconfigure) or [restart](../administration/restart_gitlab.md#installations-from-source) GitLab for the changes to take effect if you
- installed GitLab via Omnibus or from source respectively.
-
-On the sign in page, there should now be a **Sign in with: Shibboleth** icon below the regular sign in form. Click the icon to begin the authentication process. You are redirected to IdP server (depends on your Shibboleth module configuration). If everything goes well the user is returned to GitLab and is signed in.
-
-## Apache 2.4 / GitLab 8.6 update
-
-The order of the first 2 Location directives is important. If they are reversed,
-requesting a Shibboleth session fails!
-
-```plaintext
-<Location />
- Require all granted
- ProxyPassReverse http://127.0.0.1:8181
- ProxyPassReverse http://YOUR_SERVER_FQDN/
-</Location>
-
-<Location /users/auth/shibboleth/callback>
- AuthType shibboleth
- ShibRequestSetting requireSession 1
- ShibUseHeaders On
- Require shib-session
-</Location>
-
-Alias /shibboleth-sp /usr/share/shibboleth
-
-<Location /shibboleth-sp>
- Require all granted
-</Location>
-
-<Location /Shibboleth.sso>
- SetHandler shib
-</Location>
-
-RewriteEngine on
-
-#Don't escape encoded characters in api requests
-RewriteCond %{REQUEST_URI} ^/api/v4/.*
-RewriteCond %{REQUEST_URI} !/Shibboleth.sso
-RewriteCond %{REQUEST_URI} !/shibboleth-sp
-RewriteRule .* http://127.0.0.1:8181%{REQUEST_URI} [P,QSA,NE]
-
-#Forward all requests to gitlab-workhorse except existing files
-RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f [OR]
-RewriteCond %{REQUEST_URI} ^/uploads/.*
-RewriteCond %{REQUEST_URI} !/Shibboleth.sso
-RewriteCond %{REQUEST_URI} !/shibboleth-sp
-RewriteRule .* http://127.0.0.1:8181%{REQUEST_URI} [P,QSA]
-
-RequestHeader set X_FORWARDED_PROTO 'https'
-RequestHeader set X-Forwarded-Ssl on
-```
+<!-- This redirect file can be deleted after <2021-09-29>. -->
+<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->