Add latest changes from gitlab-org/gitlab@master

This commit is contained in:
GitLab Bot 2023-12-06 18:16:45 +00:00
parent 26e466d81e
commit bf03e90e02
34 changed files with 180 additions and 112 deletions

View File

@ -54,7 +54,7 @@ feature for all reviews. Reviewers will then approve the MR and remove themselve
- [ ] (Recommended) PMM
- [ ] (Optional) Product Designer
- [ ] (Optional) Group Manager or Director
- [ ] Required review and approval: [Technical Writer designated to the corresponding DevOps stage/group](https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments).
- [ ] Required review and approval: [Technical Writer designated to the corresponding DevOps stage/group](https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments).
### Tech writer review

View File

@ -16,7 +16,7 @@
- [ ] If you're adding or changing the main heading of the page (H1), ensure that the [product tier badge](https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#product-tier-badges) is added.
- [ ] If you are a GitLab team member, [request a review](https://docs.gitlab.com/ee/development/code_review.html#dogfooding-the-reviewers-feature) based on:
- The documentation page's [metadata](https://docs.gitlab.com/ee/development/documentation/#metadata).
- The [associated Technical Writer](https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments).
- The [associated Technical Writer](https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments).
If you are a GitLab team member and only adding documentation, do not add any of the following labels:

View File

@ -1,4 +1,4 @@
import emptySvg from '@gitlab/svgs/dist/illustrations/security-dashboard-empty-state.svg?raw';
import emptySvg from '@gitlab/svgs/dist/illustrations/empty-state/empty-dashboard-md.svg?raw';
import { GlEmptyState } from '@gitlab/ui';
import * as Sentry from '~/sentry/sentry_browser_wrapper';
import { __ } from '~/locale';

View File

@ -59,13 +59,13 @@ The following files require a review from a technical writer:
The review does not need to block merging this merge request. See the:
- [Metadata for the `*.md` files](https://docs.gitlab.com/ee/development/documentation/#metadata) that you've changed. The first few lines of each `*.md` file identify the stage and group most closely associated with your docs change.
- The [Technical Writer assigned](https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments) for that stage and group.
- The [Technical Writer assigned](https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments) for that stage and group.
- [Documentation workflows](https://docs.gitlab.com/ee/development/documentation/workflow.html) for information on when to assign a merge request for review.
MSG
# Documentation should be updated for feature::addition and feature::enhancement
DOCUMENTATION_UPDATE_MISSING = <<~MSG
~"feature::addition" and ~"feature::enhancement" merge requests normally have a documentation change. Consider adding a documentation update or confirming the documentation plan with the [Technical Writer counterpart](https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments).
~"feature::addition" and ~"feature::enhancement" merge requests normally have a documentation change. Consider adding a documentation update or confirming the documentation plan with the [Technical Writer counterpart](https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments).
For more information, see:

View File

@ -1,7 +1,7 @@
---
stage: none
group: none
info: "See the Technical Writers assigned to Development Guidelines: https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments-to-development-guidelines"
info: "See the Technical Writers assigned to Development Guidelines: https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments-to-development-guidelines"
toc: false
---

View File

@ -6,4 +6,3 @@ feature_category: vulnerability_management
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/123518
queued_migration_version: 20230612232000
milestone: '16.1'
finalized_by: '20231201144826'

View File

@ -5,41 +5,11 @@ class RemoveRequirementsIgnoredColumns < Gitlab::Database::Migration[2.2]
disable_ddl_transaction!
CONSTRAINT_NAME = 'check_785ae25b9d'
NAME_INDEX = 'index_requirements_on_title_trigram'
FOREIGN_KEY = 'fk_rails_33fed8aa4e'
def up
remove_column(:requirements, :created_at, if_exists: true)
remove_column(:requirements, :updated_at, if_exists: true)
remove_column(:requirements, :author_id, if_exists: true)
remove_column(:requirements, :cached_markdown_version, if_exists: true)
remove_column(:requirements, :state, if_exists: true)
remove_column(:requirements, :title, if_exists: true)
remove_column(:requirements, :title_html, if_exists: true)
remove_column(:requirements, :description, if_exists: true)
remove_column(:requirements, :description_html, if_exists: true)
# no-op to mitigate https://gitlab.com/gitlab-com/gl-infra/production/-/issues/17224
end
def down
add_column(:requirements, :created_at, :datetime_with_timezone, if_not_exists: true)
add_column(:requirements, :updated_at, :datetime_with_timezone, if_not_exists: true)
add_column(:requirements, :author_id, :integer, if_not_exists: true)
add_column(:requirements, :cached_markdown_version, :integer, if_not_exists: true)
add_column(:requirements, :state, :smallint, default: 1, if_not_exists: true)
add_column(:requirements, :title, :string, limit: 255, if_not_exists: true)
add_column(:requirements, :title_html, :text, if_not_exists: true)
add_column(:requirements, :description, :text, if_not_exists: true)
add_column(:requirements, :description_html, :text, if_not_exists: true)
add_check_constraint(:requirements, "char_length(description) <= 10000", CONSTRAINT_NAME)
add_concurrent_foreign_key(:requirements, :users, column: :author_id, name: FOREIGN_KEY, on_delete: :nullify)
add_concurrent_index(:requirements, :created_at)
add_concurrent_index(:requirements, :updated_at)
add_concurrent_index(:requirements, :author_id)
add_concurrent_index(:requirements, :state)
add_concurrent_index(:requirements, :title, name: NAME_INDEX, using: :gin, opclass: { name: :gin_trgm_ops })
# no-op to mitigate https://gitlab.com/gitlab-com/gl-infra/production/-/issues/17224
end
end

View File

@ -8,13 +8,7 @@ class FinalizeBackfillDismissalReasonInVulnerabilityReads < Gitlab::Database::Mi
restrict_gitlab_migration gitlab_schema: :gitlab_main
def up
ensure_batched_background_migration_is_finished(
job_class_name: 'BackfillDismissalReasonInVulnerabilityReads',
table_name: :vulnerability_reads,
column_name: :id,
job_arguments: [],
finalize: true
)
# no-op to fix to mitigate https://gitlab.com/gitlab-com/gl-infra/production/-/issues/17224
end
def down; end

View File

@ -22805,9 +22805,19 @@ ALTER SEQUENCE required_code_owners_sections_id_seq OWNED BY required_code_owner
CREATE TABLE requirements (
id bigint NOT NULL,
created_at timestamp with time zone,
updated_at timestamp with time zone,
project_id integer NOT NULL,
author_id integer,
iid integer NOT NULL,
cached_markdown_version integer,
state smallint DEFAULT 1,
title character varying(255),
title_html text,
description text,
description_html text,
issue_id bigint,
CONSTRAINT check_785ae25b9d CHECK ((char_length(description) <= 10000)),
CONSTRAINT check_requirement_issue_not_null CHECK ((issue_id IS NOT NULL))
);
@ -34357,12 +34367,22 @@ CREATE INDEX index_requirements_management_test_reports_on_build_id ON requireme
CREATE INDEX index_requirements_management_test_reports_on_issue_id ON requirements_management_test_reports USING btree (issue_id);
CREATE INDEX index_requirements_on_author_id ON requirements USING btree (author_id);
CREATE INDEX index_requirements_on_created_at ON requirements USING btree (created_at);
CREATE UNIQUE INDEX index_requirements_on_issue_id ON requirements USING btree (issue_id);
CREATE INDEX index_requirements_on_project_id ON requirements USING btree (project_id);
CREATE UNIQUE INDEX index_requirements_on_project_id_and_iid ON requirements USING btree (project_id, iid) WHERE (project_id IS NOT NULL);
CREATE INDEX index_requirements_on_state ON requirements USING btree (state);
CREATE INDEX index_requirements_on_title_trigram ON requirements USING gin (title gin_trgm_ops);
CREATE INDEX index_requirements_on_updated_at ON requirements USING btree (updated_at);
CREATE INDEX index_requirements_project_id_user_id_id_and_target_type ON todos USING btree (project_id, user_id, id, target_type);
CREATE INDEX index_requirements_user_id_and_target_type ON todos USING btree (user_id, target_type);
@ -38644,6 +38664,9 @@ ALTER TABLE ONLY alert_management_alert_metric_images
ALTER TABLE ONLY suggestions
ADD CONSTRAINT fk_rails_33b03a535c FOREIGN KEY (note_id) REFERENCES notes(id) ON DELETE CASCADE;
ALTER TABLE ONLY requirements
ADD CONSTRAINT fk_rails_33fed8aa4e FOREIGN KEY (author_id) REFERENCES users(id) ON DELETE SET NULL;
ALTER TABLE ONLY metrics_dashboard_annotations
ADD CONSTRAINT fk_rails_345ab51043 FOREIGN KEY (cluster_id) REFERENCES clusters(id) ON DELETE CASCADE;

View File

@ -1,7 +1,7 @@
---
stage: Govern
group: Compliance
info: "See the Technical Writers assigned to Development Guidelines: https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments-to-development-guidelines"
info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments"
---
<!---
@ -56,6 +56,7 @@ Audit event types belong to the following product categories.
| [`google_cloud_logging_configuration_deleted`](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/122025) | Triggered when Google Cloud Logging configuration is deleted| **{check-circle}** Yes | **{check-circle}** Yes | GitLab [16.1](https://gitlab.com/gitlab-org/gitlab/-/issues/409422) |
| [`google_cloud_logging_configuration_updated`](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/122025) | Triggered when Google Cloud Logging configuration is updated| **{check-circle}** Yes | **{check-circle}** Yes | GitLab [16.1](https://gitlab.com/gitlab-org/gitlab/-/issues/409422) |
| [`instance_amazon_s3_configuration_created`](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/137651) | Triggered when instance Amazon S3 configuration for audit events streaming is created| **{check-circle}** Yes | **{check-circle}** Yes | GitLab [16.7](https://gitlab.com/gitlab-org/gitlab/-/issues/423235) |
| [`instance_amazon_s3_configuration_updated`](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/138310) | Triggered when instance-level Amazon S3 configuration for audit events streaming is updated| **{check-circle}** Yes | **{check-circle}** Yes | GitLab [16.7](https://gitlab.com/gitlab-org/gitlab/-/issues/423235) |
| [`instance_google_cloud_logging_configuration_created`](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/130663) | Triggered when Instance level Google Cloud Logging configuration is created| **{check-circle}** Yes | **{check-circle}** Yes | GitLab [16.4](https://gitlab.com/gitlab-org/gitlab/-/issues/423038) |
| [`instance_google_cloud_logging_configuration_deleted`](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/131752) | Triggered when instance level Google Cloud Logging configuration is deleted.| **{check-circle}** Yes | **{check-circle}** Yes | GitLab [16.5](https://gitlab.com/gitlab-org/gitlab/-/issues/423040) |
| [`instance_google_cloud_logging_configuration_updated`](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/131790) | Triggered when instance level Google Cloud Logging configuration is updated.| **{check-circle}** Yes | **{check-circle}** Yes | GitLab [16.5](https://gitlab.com/gitlab-org/gitlab/-/issues/423039) |

View File

@ -319,7 +319,9 @@ GitLab Dedicated limits the number of reverse PrivateLink connections to 10.
### IP allowlist
GitLab Dedicated allows you to control which IP addresses can access your instance through an IP allowlist.
GitLab Dedicated allows you to control which IP addresses can access your instance through an IP allowlist. Once the IP allowlist has been enabled, when an IP not on the allowlist tries to access your instance an `HTTP 403 Forbidden` response is returned.
IP addresses that have been added to your IP allowlist can be viewed on the Configuration page in Switchboard. You can add or remove IP addresses from your allowlist with Switchboard or a support request.
#### Add an IP to the allowlist with Switchboard
@ -330,11 +332,11 @@ GitLab Dedicated allows you to control which IP addresses can access your instan
1. Select **Add Item**.
1. Enter the IP address and description. To add another IP address, repeat steps 5 and 6.
1. Select **Save**.
1. Scroll up to the top of the page and select whether to apply the changes immediately or during the next maintenance window.
1. Scroll up to the top of the page and select whether to apply the changes immediately or during the next maintenance window. After the changes are applied, the IP addresses are added to the IP allowlist for your instance.
#### Add an IP to the allowlist with a Support Request
Specify a comma separated list of IP addresses that can access your GitLab Dedicated instance in your [support ticket](https://support.gitlab.com/hc/en-us/requests/new?ticket_form_id=4414917877650). After the configuration has been applied, when an IP not on the allowlist tries to access your instance, the connection is refused.
Specify a comma separated list of IP addresses that can access your GitLab Dedicated instance in your [support ticket](https://support.gitlab.com/hc/en-us/requests/new?ticket_form_id=4414917877650). The IP addresses are then added to the IP allowlist for your instance.
### SAML

View File

@ -1,7 +1,7 @@
---
stage: Manage
group: Import and Integrate
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
---
<!---
@ -1508,6 +1508,30 @@ Input type: `AuditEventsInstanceAmazonS3ConfigurationCreateInput`
| <a id="mutationauditeventsinstanceamazons3configurationcreateerrors"></a>`errors` | [`[String!]!`](#string) | Errors encountered during execution of the mutation. |
| <a id="mutationauditeventsinstanceamazons3configurationcreateinstanceamazons3configuration"></a>`instanceAmazonS3Configuration` | [`InstanceAmazonS3ConfigurationType`](#instanceamazons3configurationtype) | Created instance Amazon S3 configuration. |
### `Mutation.auditEventsInstanceAmazonS3ConfigurationUpdate`
Input type: `AuditEventsInstanceAmazonS3ConfigurationUpdateInput`
#### Arguments
| Name | Type | Description |
| ---- | ---- | ----------- |
| <a id="mutationauditeventsinstanceamazons3configurationupdateaccesskeyxid"></a>`accessKeyXid` | [`String`](#string) | Access key ID of the Amazon S3 account. |
| <a id="mutationauditeventsinstanceamazons3configurationupdateawsregion"></a>`awsRegion` | [`String`](#string) | AWS region where the bucket is created. |
| <a id="mutationauditeventsinstanceamazons3configurationupdatebucketname"></a>`bucketName` | [`String`](#string) | Name of the bucket where the audit events would be logged. |
| <a id="mutationauditeventsinstanceamazons3configurationupdateclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
| <a id="mutationauditeventsinstanceamazons3configurationupdateid"></a>`id` | [`AuditEventsInstanceAmazonS3ConfigurationID!`](#auditeventsinstanceamazons3configurationid) | ID of the instance-level Amazon S3 configuration to update. |
| <a id="mutationauditeventsinstanceamazons3configurationupdatename"></a>`name` | [`String`](#string) | Destination name. |
| <a id="mutationauditeventsinstanceamazons3configurationupdatesecretaccesskey"></a>`secretAccessKey` | [`String`](#string) | Secret access key of the Amazon S3 account. |
#### Fields
| Name | Type | Description |
| ---- | ---- | ----------- |
| <a id="mutationauditeventsinstanceamazons3configurationupdateclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
| <a id="mutationauditeventsinstanceamazons3configurationupdateerrors"></a>`errors` | [`[String!]!`](#string) | Errors encountered during execution of the mutation. |
| <a id="mutationauditeventsinstanceamazons3configurationupdateinstanceamazons3configuration"></a>`instanceAmazonS3Configuration` | [`InstanceAmazonS3ConfigurationType`](#instanceamazons3configurationtype) | Updated instance-level Amazon S3 configuration. |
### `Mutation.auditEventsStreamingDestinationEventsAdd`
Input type: `AuditEventsStreamingDestinationEventsAddInput`
@ -31779,6 +31803,12 @@ A `AuditEventsGoogleCloudLoggingConfigurationID` is a global ID. It is encoded a
An example `AuditEventsGoogleCloudLoggingConfigurationID` is: `"gid://gitlab/AuditEvents::GoogleCloudLoggingConfiguration/1"`.
### `AuditEventsInstanceAmazonS3ConfigurationID`
A `AuditEventsInstanceAmazonS3ConfigurationID` is a global ID. It is encoded as a string.
An example `AuditEventsInstanceAmazonS3ConfigurationID` is: `"gid://gitlab/AuditEvents::Instance::AmazonS3Configuration/1"`.
### `AuditEventsInstanceExternalAuditEventDestinationID`
A `AuditEventsInstanceExternalAuditEventDestinationID` is a global ID. It is encoded as a string.

View File

@ -109,7 +109,7 @@ To measure our success, we need to set meaningful metrics. These metrics should
1. Meets or exceeds [ATAG 2.0 AA](https://www.w3.org/TR/ATAG20/).
1. The new Diffs app loads less than or equal to 300 KiB of JavaScript (compressed / "across-the-wire")<sup>1</sup>.
1. The new Diffs app loads less than or equal to 150 KiB of markup, images, styles, fonts, etc. (compressed / "across-the-wire")<sup>1</sup>.
1. The new Diffs app can load and execute in total isolation from the rest of the GitLab product:
1. The new Diffs app can execute in total isolation from the rest of the GitLab product:
1. "Execute" means the app can load, display data, and allows user interaction ("read-only").
1. If a part of the application is only used in merge requests or diffs, it is considered part of the Diffs application.
1. If a part of the application must be brought in from the rest of the product, it is not considered part of the Diffs load (as defined in metrics 3 and 4).

View File

@ -4,11 +4,11 @@ group: Pipeline Security
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
---
# Predefined variables reference **(FREE ALL)**
# Predefined CI/CD variables reference **(FREE ALL)**
Predefined [CI/CD variables](index.md) are available in every GitLab CI/CD pipeline.
Predefined CI/CD variables become available at two different phases of pipeline execution.
Predefined variables become available at two different phases of pipeline execution.
Some variables are available when GitLab creates the pipeline, and can be used to configure
the pipeline or in job scripts. The other variables become available when a runner runs the job,
and can only be used in job scripts.

View File

@ -10,6 +10,8 @@ General development guidelines and tips for the [Import/Export feature](../user/
<i class="fa fa-youtube-play youtube" aria-hidden="true"></i> This document is originally based on the [Import/Export 201 presentation available on YouTube](https://www.youtube.com/watch?v=V3i1OfExotE).
<i class="fa fa-youtube-play youtube" aria-hidden="true"></i> For more context you can watch this [Deep dive on Import / Export Development on YouTube](https://www.youtube.com/watch?v=IYD39JMGK78).
## Security
The Import/Export feature is constantly updated (adding new things to export). However,

View File

@ -1411,7 +1411,7 @@ Parameters:
| `group_path` | string | yes | Full path to the group. |
| `Operations` | JSON string | yes | An [operations](#available-operations) expression. |
Example request:
Example request to update the user's `id`:
```shell
curl --verbose --request PATCH "https://gitlab.example.com/api/scim/v2/groups/test_group/Users/f0b1d561c-21ff-4092-beab-8154b17f82f2" \
@ -1421,6 +1421,16 @@ curl --verbose --request PATCH "https://gitlab.example.com/api/scim/v2/groups/te
Returns an empty response with a `204` status code if successful.
Example request to set the user's `active` state:
```shell
curl --verbose --request PATCH "https://gitlab.example.com/api/scim/v2/groups/test_group/Users/f0b1d561c-21ff-4092-beab-8154b17f82f2" \
--data '{ "Operations": [{"op":"replace","path":"active","value":"true"}] }' \
--header "Authorization: Bearer <your_scim_token>" --header "Content-Type: application/scim+json"
```
Returns an empty response with a `204` status code if successful.
### Remove a single SCIM provisioned user
Removes the user's SSO identity and group membership.

View File

@ -1,7 +1,7 @@
---
stage: none
group: unassigned
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
description: 'Learn how to use and administer GitLab, the most scalable Git-based fully integrated platform for software development.'
---

View File

@ -657,7 +657,7 @@ The following are some available Rake tasks:
| [`sudo gitlab-rake gitlab:elastic:index_group_entities`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/lib/tasks/gitlab/elastic.rake) | Invokes `gitlab:elastic:index_epics` and `gitlab:elastic:index_group_wikis`.
| [`sudo gitlab-rake gitlab:elastic:index_epics`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/lib/tasks/gitlab/elastic.rake) | Indexes all epics from the groups where Elasticsearch is enabled.
| [`sudo gitlab-rake gitlab:elastic:index_group_wikis`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/lib/tasks/gitlab/elastic.rake) | Indexes all wikis from the groups where Elasticsearch is enabled.
| [`sudo gitlab-rake gitlab:elastic:index_projects_status`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/lib/tasks/gitlab/elastic.rake) | Determines the overall status of the indexing. It is done by counting the total number of indexed projects, dividing by a count of the total number of projects, then multiplying by 100. |
| [`sudo gitlab-rake gitlab:elastic:index_projects_status`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/lib/tasks/gitlab/elastic.rake) | Determines the overall indexing status of all project repository data (code, commits, and wikis). The status is calculated by dividing the number of indexed projects by the total number of projects and multiplying by 100. This task does not include non-repository data such as issues, merge requests, or milestones. |
| [`sudo gitlab-rake gitlab:elastic:clear_index_status`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/lib/tasks/gitlab/elastic.rake) | Deletes all instances of IndexStatus for all projects. This command results in a complete wipe of the index, and it should be used with caution. |
| [`sudo gitlab-rake gitlab:elastic:create_empty_index`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/lib/tasks/gitlab/elastic.rake) | Generates empty indices (the default index and a separate issues index) and assigns an alias for each on the Elasticsearch side only if it doesn't already exist. |
| [`sudo gitlab-rake gitlab:elastic:delete_index`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/lib/tasks/gitlab/elastic.rake) | Removes the GitLab indices and aliases (if they exist) on the Elasticsearch instance. |

View File

@ -38,7 +38,7 @@ are valid:
- Run once a day at midnight: `0 0 * * *`
- Run once a week at midnight on Sunday morning: `0 0 * * 0`
- Run once a month at midnight of the first day of the month: `0 0 1 * *`
- Run once a month on the 22nd: `0 0 22 * *`)
- Run once a month on the 22nd: `0 0 22 * *`
- Run once a month on the 2nd Monday: `0 0 * * 1#2`
- Run once a year at midnight of 1 January: `0 0 1 1 *`
- Run every other Sunday at 0900 hours: `0 9 * * sun%2`

View File

@ -1,7 +1,7 @@
---
stage: none
group: none
info: "See the Technical Writers assigned to Development Guidelines: https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments-to-development-guidelines"
info: "See the Technical Writers assigned to Development Guidelines: https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments-to-development-guidelines"
toc: false
---

View File

@ -31,6 +31,10 @@ For more information about upgrading GitLab Helm Chart, see [the release notes f
- [Praefect configuration structure change](#praefect-configuration-structure-change).
- [Gitaly configuration structure change](#gitaly-configuration-structure-change).
## 16.6.0
- Old [CI Environment destroy jobs may be spawned](https://gitlab.com/gitlab-org/gitlab/-/issues/433264#) after upgrading to GitLab 16.6.
## 16.5.0
- Git 2.42.0 and later is required by Gitaly. For self-compiled installations, you should use the [Git version provided by Gitaly](../../install/installation.md#git).

View File

@ -192,14 +192,14 @@ To disable 2FA:
1. Find a user with the **Enterprise** and **2FA** badges.
1. Select **More actions** (**{ellipsis_v}**) and select **Disable two-factor authentication**.
### Prevent users from creating groups and projects outside the corporate group
### Prevent enterprise users from creating groups and projects outside the corporate group
A SAML identity administrator can configure the SAML response to set:
- Whether users can create groups.
- The maximum number of personal projects users can create.
- Whether enterprise users can create groups.
- The maximum number of personal projects enterprise users can create.
For more information, see the [supported user attributes for SAML responses](../group/saml_sso/index.md#supported-user-attributes).
For more information, see how to [configure enterprise user settings from the SAML response](../group/saml_sso/index.md#configure-enterprise-user-settings-from-saml-response).
### Bypass email confirmation for provisioned users

View File

@ -32,7 +32,7 @@ A single top-level group provides insights in your entire organization via a com
## Group visibility
Like projects, a group can be configured to limit the visibility of it to:
Like projects, a group can be configured to be visible to:
- Anonymous users.
- All authenticated users.
@ -42,7 +42,7 @@ The restriction for [visibility levels](../../administration/settings/visibility
on the application setting level also applies to groups. If set to internal, the explore page is
empty for anonymous users. The group page has a visibility level icon.
Administrator users cannot create a subgroup or project with a higher visibility level than that of
Users cannot create a subgroup or project with a higher visibility level than that of
the immediate parent group.
## View groups

View File

@ -351,25 +351,22 @@ breaks the configuration and could lock users out of the GitLab group.
For more information on the recommended value and format for specific identity
providers, see [set up your identity provider](#set-up-your-identity-provider).
### Configure user settings from SAML response
### Configure enterprise user settings from SAML response
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/263661) in GitLab 13.7.
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/263661) in GitLab 13.7.
> - [Changed](https://gitlab.com/gitlab-org/gitlab/-/issues/412898) to configure only enterprise user settings in GitLab 16.7.
GitLab allows setting certain user attributes based on values from the SAML response.
An existing user's attributes are updated from the SAML response values if that
user was originally provisioned by the group. Users are provisioned by the group
when the account was created either:
- Through [SCIM](scim_setup.md).
- By first sign-in with SAML SSO for GitLab.com groups.
user is an [enterprise user](../../enterprise_user/index.md) of the group.
#### Supported user attributes
- **can_create_group** - `true` or `false` to indicate whether the user can create
- **can_create_group** - `true` or `false` to indicate whether an enterprise user can create
new top-level groups. Default is `true`.
- **projects_limit** - The total number of personal projects a user can create.
- **projects_limit** - The total number of personal projects an enterprise user can create.
A value of `0` means the user cannot create new projects in their personal
namespace. Default is `10000`.
namespace. Default is `100000`.
#### Example SAML response

View File

@ -114,16 +114,23 @@ more of these:
- The project.
- The project's immediate parent [group](#group-approvers).
- A group that has access to the project via a [share](../../members/share_project_with_groups.md).
- A group that has been [shared](../../members/share_project_with_groups.md) with the project.
- A [group added as approvers](#group-approvers).
The following users can approve merge requests if they have Developer or
higher [permissions](../../../permissions.md):
The following users can approve merge requests if they have at least the Developer role:
- Users added as approvers at the project or merge request level.
- Users who are [Code owners](#code-owners-as-eligible-approvers) of the files
changed in the merge request.
Users with the Reporter role can approve only if both of the following are true:
- The users are part of a group that has been [shared](../../members/share_project_with_groups.md) with the project.
The group must have at least the Reporter role.
- The group has been added as merge request approvers.
For detailed instructions, see [Merge request approval segregation of duties](#merge-request-approval-segregation-of-duties).
To show who has participated in the merge request review, the Approvals widget in
a merge request displays a **Commented by** column. This column lists eligible approvers
who commented on the merge request. It helps authors and reviewers identify who to
@ -183,21 +190,24 @@ for protected branches.
## Merge request approval segregation of duties
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40491) in GitLab 13.4.
> - Moved to GitLab Premium in 13.9.
You may have to grant users with the Reporter role
permission to approve merge requests before they can merge to a protected branch.
Some users (like managers) may not need permission to push or merge code, but still need
oversight on proposed work. To enable approval permissions for these users without
granting them push access:
oversight on proposed work.
Prerequisites:
- You must select a specific branch, as this method does **not** work with `All Branches` or `All protected branches` settings.
- The shared group must be added to an approval rule and not individual users, even when the added user is part of the group.
To enable approval permissions for these users without granting them push access:
1. [Create a protected branch](../../protected_branches.md)
1. [Create a new group](../../../group/index.md#create-a-group).
1. [Add the user to the group](../../../group/index.md#add-users-to-a-group),
and select the Reporter role for the user.
1. [Share the project with your group](../../members/share_project_with_groups.md#share-a-project-with-a-group),
based on the Reporter role.
with at least the Reporter role.
1. Go to your project and select **Settings > Merge requests**.
1. In the **Merge request approvals** section, scroll to **Approval rules**, and either:
- For a new rule, select **Add approval rule** and target the protected branch.

View File

@ -82,7 +82,7 @@ To update your fork from the GitLab UI:
information box to determine if your fork is ahead, behind, or both. In this example,
the fork is behind the upstream repository:
![Information box for a fork 23552 commits behind the upstream repository](img/update-fork_v15_11.png)
![Information box for a fork some commits behind the upstream repository](img/update-fork_v16_6.png)
1. If your fork is **ahead** of the upstream repository, select
**Create merge request** to propose adding your fork's changes to the upstream repository.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@ -53,6 +53,8 @@ Prerequisites:
To create a task:
1. On the left sidebar, select **Search or go to** and find your project.
1. Select **Plan > Issues**, then select your issue to view it.
1. In the issue description, in the **Tasks** section, select **Add**.
1. Select **New task**.
1. Enter the task title.
@ -66,9 +68,9 @@ Prerequisites:
- You must have at least the Reporter role for the project.
In an issue description with task list items:
1. Hover over a task list item and select the options menu (**{ellipsis_v}**).
1. On the left sidebar, select **Search or go to** and find your project.
1. Select **Plan > Issues**, then select your issue to view it.
1. In the issue description, hover over a task list item and select the options menu (**{ellipsis_v}**).
1. Select **Convert to task**.
The task list item is removed from the issue description and a task is created in the tasks widget from its contents.
@ -84,6 +86,8 @@ Prerequisites:
To add a task:
1. On the left sidebar, select **Search or go to** and find your project.
1. Select **Plan > Issues**, then select your issue to view it.
1. In the issue description, in the **Tasks** section, select **Add**.
1. Select **Existing task**.
1. Search tasks by title.
@ -98,6 +102,8 @@ Prerequisites:
To edit a task:
1. On the left sidebar, select **Search or go to** and find your project.
1. Select **Plan > Issues**, then select your issue to view it.
1. In the issue description, in the **Tasks** section, select the task you want to edit.
The task window opens.
1. Optional. To edit the title, select it and make your changes.
@ -124,7 +130,9 @@ Prerequisites:
To edit the description of a task:
1. In the **Tasks** section, select the title of the task you want to edit.
1. On the left sidebar, select **Search or go to** and find your project.
1. Select **Plan > Issues**, then select your issue to view it.
1. In the issue description, in the **Tasks** section, select the title of the task you want to edit.
The task window opens.
1. Next to **Description**, select the edit icon (**{pencil}**). The description text box appears.
1. Above the text box, select **Rich text**.
@ -151,7 +159,10 @@ It's not possible to connect them again.
To remove a task from an issue:
1. In the issue description, in the **Tasks** section, next to the task you want to remove, select the options menu (**{ellipsis_v}**).
1. On the left sidebar, select **Search or go to** and find your project.
1. Select **Plan > Issues**, then select your issue to view it.
1. In the issue description, in the **Tasks** section, select the options menu (**{ellipsis_v}**)
next to the task you want to remove.
1. Select **Remove task**.
## Delete a task
@ -164,6 +175,8 @@ Prerequisites:
To delete a task:
1. On the left sidebar, select **Search or go to** and find your project.
1. Select **Plan > Issues**, then select your issue to view it.
1. In the issue description, in the **Tasks** section, select the task you want to edit.
1. In the task window, in the options menu (**{ellipsis_v}**), select **Delete task**.
1. Select **OK**.
@ -195,6 +208,8 @@ Prerequisites:
To change the assignee on a task:
1. On the left sidebar, select **Search or go to** and find your project.
1. Select **Plan > Issues**, then select your issue to view it.
1. In the issue description, in the **Tasks** section, select the title of the task you want to edit.
The task window opens.
1. Next to **Assignees**, select **Add assignees**.
@ -211,6 +226,8 @@ Prerequisites:
To add [labels](project/labels.md) to a task:
1. On the left sidebar, select **Search or go to** and find your project.
1. Select **Plan > Issues**, then select your issue to view it.
1. In the issue description, in the **Tasks** section, select the title of the task you want to edit. The task window opens.
1. Next to **Labels**, select **Add labels**.
1. From the dropdown list, select the labels to add.
@ -231,6 +248,8 @@ You can set start and due dates on a task to show when work should begin and end
To set a due date:
1. On the left sidebar, select **Search or go to** and find your project.
1. Select **Plan > Issues**, then select your issue to view it.
1. In the issue description, in the **Tasks** section, select the title of the task you want to edit.
The task window opens.
1. If the task already has a due date next to **Due date**, select it. Otherwise, select **Add due date**.
@ -263,6 +282,8 @@ Prerequisites:
To add a task to a milestone:
1. On the left sidebar, select **Search or go to** and find your project.
1. Select **Plan > Issues**, then select your issue to view it.
1. In the issue description, in the **Tasks** section, select the title of the task you want to edit.
The task window opens.
1. Next to **Milestone**, select **Add to milestone**.
@ -283,6 +304,8 @@ This value is visible only when you view a task.
To set issue weight of a task:
1. On the left sidebar, select **Search or go to** and find your project.
1. Select **Plan > Issues**, then select your issue to view it.
1. In the issue description, in the **Tasks** section, select the title of the task you want to edit.
The task window opens.
1. Next to **Weight**, select **Edit**.
@ -308,6 +331,8 @@ Prerequisites:
To add a task to an iteration:
1. On the left sidebar, select **Search or go to** and find your project.
1. Select **Plan > Issues**, then select your issue to view it.
1. In the issue description, in the **Tasks** section, select the title of the task you want to edit.
The task window opens.
1. Next to **Iteration**, select **Add to iteration**.
@ -339,7 +364,8 @@ To refer to a task elsewhere in GitLab, you can use its full URL or a short refe
To copy the task reference to your clipboard:
1. On the left sidebar, select **Search or go to** and find your project.
1. Select **Plan > Issues**, then select your task to view it.
1. Select **Plan > Issues**, then select your issue to view it.
1. In the issue description, in the **Tasks** section, select your task.
1. In the top right corner, select the vertical ellipsis (**{ellipsis_v}**), then select **Copy Reference**.
You can now paste the reference into another description or comment.
@ -373,6 +399,8 @@ Prerequisites:
To set an issue as a parent of a task:
1. On the left sidebar, select **Search or go to** and find your project.
1. Select **Plan > Issues**, then select your issue to view it.
1. In the issue description, in the **Tasks** section, select the title of the task you want to edit.
The task window opens.
1. Next to **Parent**, from the dropdown list, select the parent to add.
@ -487,8 +515,11 @@ Prerequisites:
To link an item to a task:
1. On the left sidebar, select **Search or go to** and find your project.
1. Select **Plan > Issues**, then select your issue to view it.
1. In the issue description, in the **Tasks** section, select your task.
1. In the **Linked items** section of a task,
select the **Add** button.
select **Add**.
1. Select the relationship between the two items. Either:
- **relates to**
- **blocks**
@ -507,7 +538,10 @@ Prerequisites:
- You must have at least the Guest role for the project.
In the **Linked items** section of a task,
next to each item, select the vertical ellipsis (**{ellipsis_v}**) and then select **Remove**.
1. On the left sidebar, select **Search or go to** and find your project.
1. Select **Plan > Issues**, then select your issue to view it.
1. In the issue description, in the **Tasks** section, select your task.
1. In the **Linked items** section of a task, next to each item, select the vertical
ellipsis (**{ellipsis_v}**) and then select **Remove**.
Due to the bi-directional relationship, the relationship no longer appears in either item.

View File

@ -153,8 +153,8 @@ module Gitlab
helpers = ActionController::Base.helpers
{}.tap do |paths|
paths[:empty_state_svg_path] = helpers.image_path("illustrations/analytics/cycle-analytics-empty-chart.svg")
paths[:no_data_svg_path] = helpers.image_path("illustrations/analytics/cycle-analytics-empty-chart.svg")
paths[:empty_state_svg_path] = helpers.image_path("illustrations/empty-state/empty-dashboard-md.svg")
paths[:no_data_svg_path] = helpers.image_path("illustrations/empty-state/empty-dashboard-md.svg")
paths[:no_access_svg_path] = helpers.image_path("illustrations/analytics/no-access.svg")
if project

View File

@ -5616,6 +5616,9 @@ msgstr ""
msgid "Analytics|Event Props"
msgstr ""
msgid "Analytics|Exclude anonymous users"
msgstr ""
msgid "Analytics|Failed to fetch data"
msgstr ""
@ -5739,6 +5742,9 @@ msgstr ""
msgid "Analytics|View available dashboards"
msgstr ""
msgid "Analytics|View metrics only for users who have consented to activity tracking."
msgstr ""
msgid "Analytics|Viewport"
msgstr ""

View File

@ -19,7 +19,7 @@
---
stage: Govern
group: Compliance
info: "See the Technical Writers assigned to Development Guidelines: https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments-to-development-guidelines"
info: "To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments"
---
<!---

View File

@ -57,7 +57,7 @@ module Tooling
---
stage: Manage
group: Import and Integrate
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
---
<!---

View File

@ -1,14 +0,0 @@
---
stage: Create
group: Source Code
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
---
# Workhorse documentation
This document was moved to [another location](../doc/development/workhorse/index.md).
<!-- This redirect file can be deleted after <2022-07-01>. -->
<!-- Redirects that point to other docs in the same project expire in three months. -->
<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->