Add latest changes from gitlab-org/gitlab@master

This commit is contained in:
GitLab Bot 2024-02-27 09:09:11 +00:00
parent e1a8627501
commit 4f2f7fbae2
784 changed files with 1601 additions and 1468 deletions

View File

@ -1289,22 +1289,6 @@ Layout/ArgumentAlignment:
- 'spec/lib/security/weak_passwords_spec.rb'
- 'spec/lib/sidebars/projects/menus/repository_menu_spec.rb'
- 'spec/lib/uploaded_file_spec.rb'
- 'spec/requests/admin/applications_controller_spec.rb'
- 'spec/requests/admin/impersonation_tokens_controller_spec.rb'
- 'spec/requests/api/graphql/packages/conan_spec.rb'
- 'spec/requests/api/graphql/tasks/task_completion_status_spec.rb'
- 'spec/requests/api/graphql/user_query_spec.rb'
- 'spec/requests/api/group_clusters_spec.rb'
- 'spec/requests/api/group_labels_spec.rb'
- 'spec/requests/api/groups_spec.rb'
- 'spec/requests/git_http_spec.rb'
- 'spec/requests/jwt_controller_spec.rb'
- 'spec/requests/lfs_http_spec.rb'
- 'spec/requests/oauth_tokens_spec.rb'
- 'spec/requests/rack_attack_global_spec.rb'
- 'spec/requests/recursive_webhook_detection_spec.rb'
- 'spec/requests/users/group_callouts_spec.rb'
- 'spec/requests/users/project_callouts_spec.rb'
- 'spec/tasks/cache_rake_spec.rb'
- 'spec/tasks/gitlab/cleanup_rake_spec.rb'
- 'spec/tasks/gitlab/db/decomposition/rollback/bump_ci_sequences_rake_spec.rb'

View File

@ -1 +1 @@
51c530784b06335075e5afb3d07919a511e75d5a
b1505fd2424bf8a3a5cea5e305d1c62ca18b1d48

View File

@ -1,4 +1,6 @@
import initSetHelperText from '~/pages/admin/application_settings/metrics_and_profiling/usage_statistics';
import initSetHelperText, {
initOptionMetricsState,
} from '~/pages/admin/application_settings/metrics_and_profiling/usage_statistics';
import PayloadPreviewer from '~/pages/admin/application_settings/payload_previewer';
export default () => {
@ -8,3 +10,4 @@ export default () => {
};
initSetHelperText();
initOptionMetricsState();

View File

@ -886,10 +886,6 @@ const Api = {
},
trackRedisCounterEvent(event) {
if (!gon.features?.usageDataApi) {
return null;
}
const url = Api.buildUrl(this.serviceDataIncrementCounterPath);
const headers = {
'Content-Type': 'application/json',
@ -899,7 +895,7 @@ const Api = {
},
trackRedisHllUserEvent(event) {
if (!gon.current_user_id || !gon.features?.usageDataApi) {
if (!gon.current_user_id) {
return null;
}
@ -912,7 +908,7 @@ const Api = {
},
trackInternalEvent(event) {
if (!gon.current_user_id || !gon.features?.usageDataApi) {
if (!gon.current_user_id) {
return null;
}
const url = Api.buildUrl(this.serviceDataInternalEventPath);

View File

@ -46,6 +46,8 @@ async function observeMergeRequestFinishingPreparation({ apollo, signaler }) {
preparationSubscriber.unsubscribe();
}
});
} else if (window.gon?.features?.mergeRequestDiffGeneratedSubscription) {
signaler.$emit(EVT_MR_DIFF_GENERATED, currentStatus.data.project.mergeRequest);
}
}
}
@ -53,7 +55,7 @@ async function observeMergeRequestFinishingPreparation({ apollo, signaler }) {
function observeMergeRequestDiffGenerated({ apollo, signaler }) {
const tabCount = document.querySelector('.js-changes-tab-count');
if (!tabCount) return;
if (!tabCount || tabCount?.textContent !== '-') return;
const susbription = apollo.subscribe({
query: diffGeneratedSubscription,
@ -62,9 +64,10 @@ function observeMergeRequestDiffGenerated({ apollo, signaler }) {
},
});
susbription.subscribe(({ data: { mergeRequestDiffGenerated } }) => {
const subscriber = susbription.subscribe(({ data: { mergeRequestDiffGenerated } }) => {
if (mergeRequestDiffGenerated) {
signaler.$emit(EVT_MR_DIFF_GENERATED, mergeRequestDiffGenerated);
subscriber.unsubscribe();
}
});
}

View File

@ -3,6 +3,9 @@ query mergeRequestId($projectPath: ID!, $iid: String!) {
id
mergeRequest(iid: $iid) {
id
diffStatsSummary {
fileCount
}
preparedAt
}
}

View File

@ -133,3 +133,8 @@ export default {
</div>
</div>
</template>
<style>
.gitlab-slack-slack-logo {
transform: scale(200%); /* Slack logo SVG is scaled down 50% and has empty space around it */
}
</style>

View File

@ -0,0 +1,25 @@
import { s__ } from '~/locale';
export const HELPER_TEXT_SERVICE_PING_DISABLED = s__(
'ApplicationSettings|To enable Registration Features, first enable Service Ping.',
);
export const HELPER_TEXT_SERVICE_PING_ENABLED = s__(
'ApplicationSettings|You can enable Registration Features because Service Ping is enabled.',
);
export const HELPER_TEXT_OPTIONAL_METRICS_DISABLED = s__(
'ApplicationSettings|To enable Registration Features, first enable optional data in Service Ping.',
);
export const HELPER_TEXT_OPTIONAL_METRICS_ENABLED = s__(
'ApplicationSettings|You can enable Registration Features because optional data in Service Ping is enabled.',
);
export const ELEMENT_IDS = Object.freeze({
HELPER_TEXT: 'service_ping_features_helper_text',
SERVICE_PING_FEATURES_LABEL: 'service_ping_features_label',
USAGE_PING_FEATURES_ENABLED: 'application_setting_usage_ping_features_enabled',
USAGE_PING_ENABLED: 'application_setting_usage_ping_enabled',
OPTIONAL_METRICS_IN_SERVICE_PING: 'application_setting_include_optional_metrics_in_service_ping',
});

View File

@ -1,41 +1,80 @@
import { __ } from '~/locale';
export const HELPER_TEXT_SERVICE_PING_DISABLED = __(
'To enable Registration Features, first enable Service Ping.',
);
export const HELPER_TEXT_SERVICE_PING_ENABLED = __(
'You can enable Registration Features because Service Ping is enabled. To continue using Registration Features in the future, you will also need to register with GitLab via a new cloud licensing service.',
);
function setHelperText(servicePingCheckbox) {
const helperTextId = document.getElementById('service_ping_features_helper_text');
const servicePingFeaturesLabel = document.getElementById('service_ping_features_label');
import {
ELEMENT_IDS,
HELPER_TEXT_SERVICE_PING_DISABLED,
HELPER_TEXT_SERVICE_PING_ENABLED,
HELPER_TEXT_OPTIONAL_METRICS_DISABLED,
HELPER_TEXT_OPTIONAL_METRICS_ENABLED,
} from './constants';
export function setHelperText(checkbox) {
const helperTextId = document.getElementById(ELEMENT_IDS.HELPER_TEXT);
const servicePingFeaturesLabel = document.getElementById(ELEMENT_IDS.SERVICE_PING_FEATURES_LABEL);
const servicePingFeaturesCheckbox = document.getElementById(
'application_setting_usage_ping_features_enabled',
ELEMENT_IDS.USAGE_PING_FEATURES_ENABLED,
);
const optionalMetricsServicePingCheckbox = document.getElementById(
ELEMENT_IDS.OPTIONAL_METRICS_IN_SERVICE_PING,
);
helperTextId.textContent = servicePingCheckbox.checked
? HELPER_TEXT_SERVICE_PING_ENABLED
: HELPER_TEXT_SERVICE_PING_DISABLED;
if (optionalMetricsServicePingCheckbox) {
helperTextId.textContent = checkbox.checked
? HELPER_TEXT_OPTIONAL_METRICS_ENABLED
: HELPER_TEXT_OPTIONAL_METRICS_DISABLED;
} else {
helperTextId.textContent = checkbox.checked
? HELPER_TEXT_SERVICE_PING_ENABLED
: HELPER_TEXT_SERVICE_PING_DISABLED;
}
servicePingFeaturesLabel.classList.toggle('gl-cursor-not-allowed', !servicePingCheckbox.checked);
servicePingFeaturesLabel.classList.toggle('gl-cursor-not-allowed', !checkbox.checked);
servicePingFeaturesCheckbox.disabled = !checkbox.checked;
servicePingFeaturesCheckbox.disabled = !servicePingCheckbox.checked;
if (!servicePingCheckbox.checked) {
if (!checkbox.checked) {
servicePingFeaturesCheckbox.disabled = true;
servicePingFeaturesCheckbox.checked = false;
}
}
export default function initSetHelperText() {
const servicePingCheckbox = document.getElementById('application_setting_usage_ping_enabled');
export function checkOptionalMetrics(servicePingCheckbox) {
const optionalMetricsServicePingCheckbox = document.getElementById(
ELEMENT_IDS.OPTIONAL_METRICS_IN_SERVICE_PING,
);
const servicePingFeaturesCheckbox = document.getElementById(
ELEMENT_IDS.USAGE_PING_FEATURES_ENABLED,
);
setHelperText(servicePingCheckbox);
servicePingCheckbox.addEventListener('change', () => {
setHelperText(servicePingCheckbox);
optionalMetricsServicePingCheckbox.disabled = !servicePingCheckbox.checked;
if (!servicePingCheckbox.checked) {
optionalMetricsServicePingCheckbox.disabled = true;
optionalMetricsServicePingCheckbox.checked = false;
servicePingFeaturesCheckbox.disabled = true;
servicePingFeaturesCheckbox.checked = false;
}
}
export function initOptionMetricsState() {
const servicePingCheckbox = document.getElementById(ELEMENT_IDS.USAGE_PING_ENABLED);
const optionalMetricsServicePingCheckbox = document.getElementById(
ELEMENT_IDS.OPTIONAL_METRICS_IN_SERVICE_PING,
);
if (servicePingCheckbox && optionalMetricsServicePingCheckbox) {
checkOptionalMetrics(servicePingCheckbox);
servicePingCheckbox.addEventListener('change', () => {
checkOptionalMetrics(servicePingCheckbox);
});
}
}
export default function initSetHelperText() {
const servicePingCheckbox = document.getElementById(ELEMENT_IDS.USAGE_PING_ENABLED);
const optionalMetricsServicePingCheckbox = document.getElementById(
ELEMENT_IDS.OPTIONAL_METRICS_IN_SERVICE_PING,
);
const checkbox = optionalMetricsServicePingCheckbox || servicePingCheckbox;
setHelperText(checkbox);
checkbox.addEventListener('change', () => {
setHelperText(checkbox);
});
}

View File

@ -29,8 +29,10 @@ export function initMrPage() {
diffsEventHub.$on(EVT_MR_DIFF_GENERATED, (mergeRequestDiffGenerated) => {
const { fileCount } = mergeRequestDiffGenerated.diffStatsSummary;
changesCountBadge.textContent = fileCount;
Vue.set(tabData.tabs[tabData.tabs.length - 1], 3, fileCount);
if (changesCountBadge.textContent === '-') {
changesCountBadge.textContent = fileCount;
Vue.set(tabData.tabs[tabData.tabs.length - 1], 3, fileCount);
}
});
}

View File

@ -7,6 +7,5 @@
@import './pages/note_form';
@import './pages/notes';
@import './pages/pipelines';
@import './pages/profile';
@import './pages/registry';
@import './pages/settings';

View File

@ -215,3 +215,41 @@
}
}
}
.provider-btn-group {
display: inline-block;
margin-right: 10px;
margin-bottom: 10px;
border: 1px solid $border-color;
border-radius: 3px;
&:last-child {
margin-right: 0;
margin-bottom: 0;
}
}
.social-provider-btn-image {
> img {
width: 16px;
vertical-align: inherit;
}
}
.provider-btn-image {
display: inline-block;
padding: 5px 10px;
border-right: 1px solid $border-color;
> img {
width: 20px;
}
}
.provider-btn {
display: inline-block;
padding: 5px 10px;
margin-left: -3px;
line-height: 22px;
background-color: var(--gl-gray-10);
}

View File

@ -1,142 +0,0 @@
.provider-btn-group {
display: inline-block;
margin-right: 10px;
margin-bottom: 10px;
border: 1px solid $border-color;
border-radius: 3px;
&:last-child {
margin-right: 0;
margin-bottom: 0;
}
}
.social-provider-btn-image {
> img {
width: 16px;
vertical-align: inherit;
}
}
.provider-btn-image {
display: inline-block;
padding: 5px 10px;
border-right: 1px solid $border-color;
> img {
width: 20px;
}
}
.provider-btn {
display: inline-block;
padding: 5px 10px;
margin-left: -3px;
line-height: 22px;
background-color: $gray-light;
}
.oauth-application-show {
.scopes-list {
padding-left: 18px;
}
}
.user-callout {
margin: 20px -5px 0;
.bordered-box {
padding: 32px;
border: 1px solid $blue-300;
border-radius: $border-radius-default;
background-color: $blue-50;
position: relative;
display: flex;
justify-content: center;
align-items: center;
}
.landing {
padding: 32px;
}
.close {
position: absolute;
top: 20px;
right: 20px;
opacity: 1;
.dismiss-icon {
float: right;
cursor: pointer;
color: $blue-300;
}
&:hover {
background-color: transparent;
border: 0;
.dismiss-icon {
color: $blue-400;
}
}
}
.svg-container {
margin-right: 30px;
display: inline-block;
svg {
height: 110px;
vertical-align: top;
}
&.convdev {
margin: 0 0 0 30px;
svg {
height: 127px;
}
}
}
.user-callout-copy {
display: inline-block;
vertical-align: top;
max-width: 570px;
}
@include media-breakpoint-down(xs) {
text-align: center;
.bordered-box {
display: block;
}
.svg-container,
.user-callout-copy {
margin: 0 auto;
display: block;
svg {
height: 75px;
}
&.convdev {
margin: $gl-padding auto 0;
svg {
height: 120px;
}
}
}
}
}
.help-block {
color: $gl-text-color-secondary;
}
.gitlab-slack-slack-logo {
transform: scale(200%); // Slack logo SVG is scaled down 50% and has empty space around it
}

View File

@ -308,6 +308,7 @@ module ApplicationSettingsHelper
:inactive_projects_delete_after_months,
:inactive_projects_min_size_mb,
:inactive_projects_send_warning_email_after_months,
:include_optional_metrics_in_service_ping,
:invisible_captcha_enabled,
:jira_connect_application_key,
:jira_connect_public_key_storage_enabled,

View File

@ -111,6 +111,7 @@ module ApplicationSettingImplementation
housekeeping_gc_period: 200,
housekeeping_incremental_repack_period: 10,
import_sources: Settings.gitlab['import_sources'],
include_optional_metrics_in_service_ping: Settings.gitlab['usage_ping_enabled'],
instance_level_ai_beta_features_enabled: false,
instance_level_code_suggestions_enabled: false,
invisible_captcha_enabled: false,
@ -233,6 +234,7 @@ module ApplicationSettingImplementation
unique_ips_limit_per_user: 10,
unique_ips_limit_time_window: 3600,
usage_ping_enabled: Settings.gitlab['usage_ping_enabled'],
usage_ping_features_enabled: false,
usage_stats_set_by_user_id: nil,
user_default_external: false,
user_default_internal_regex: nil,
@ -515,13 +517,20 @@ module ApplicationSettingImplementation
Settings.gitlab.usage_ping_enabled
end
def usage_ping_features_enabled?
usage_ping_enabled? && usage_ping_features_enabled
def usage_ping_features_enabled
return false unless usage_ping_enabled? && super
return include_optional_metrics_in_service_ping if Gitlab.ee?
true
end
alias_method :usage_ping_features_enabled?, :usage_ping_features_enabled
def usage_ping_enabled
usage_ping_can_be_configured? && super
end
alias_method :usage_ping_enabled?, :usage_ping_enabled
def allowed_key_types

View File

@ -42,7 +42,7 @@
.gl-mt-3
= _('Internal users')
= f.text_field :user_default_internal_regex, placeholder: _('Regex pattern'), class: 'form-control gl-form-input gl-mt-2'
.help-block
.form-text.text-muted
= _('Specify an email address regex pattern to identify default internal users.')
#{link_to _('Learn more'), help_page_path('administration/external_users', anchor: 'set-a-new-user-to-external'), target: '_blank', rel: 'noopener noreferrer'}.
- unless Gitlab.com?

View File

@ -17,33 +17,36 @@
- usage_ping_help_text = s_('AdminSettings|To help improve GitLab and its user experience, GitLab periodically collects usage information. %{link_start}What information is shared with GitLab Inc.?%{link_end}').html_safe % { link_start: service_ping_link_start, link_end: link_end }
- disabled_help_text = s_('AdminSettings|Service ping is disabled in your configuration file, and cannot be enabled through this form. For more information, see the documentation on %{link_start}deactivating service ping%{link_end}.').html_safe % { link_start: deactivating_service_ping_link_start, link_end: link_end }
= f.gitlab_ui_checkbox_component :usage_ping_enabled, s_('AdminSettings|Enable Service Ping'),
help_text: can_be_configured ? usage_ping_help_text : disabled_help_text,
checkbox_options: { disabled: !can_be_configured, data: { testid: 'enable-usage-data-checkbox' } }
.form-text.gl-pl-6
- if @service_ping_data.present?
= render Pajamas::ButtonComponent.new(button_options: { class: 'js-payload-preview-trigger gl-mr-2', data: { payload_selector: ".#{payload_class}" } }) do
= gl_loading_icon(css_class: 'js-spinner gl-display-none', inline: true)
%span.js-text.gl-display-inline= s_('AdminSettings|Preview payload')
= render Pajamas::ButtonComponent.new(button_options: { class: 'js-payload-download-trigger gl-mr-2', data: { endpoint: usage_data_admin_application_settings_path(format: :json) } }) do
= gl_loading_icon(css_class: 'js-spinner gl-display-none', inline: true)
%span.js-text.gl-display-inline= s_('AdminSettings|Download payload')
%pre.js-syntax-highlight.code.highlight.gl-mt-2.gl-display-none{ class: payload_class, data: { endpoint: usage_data_admin_application_settings_path(format: :html) } }
- else
= render Pajamas::AlertComponent.new(variant: :warning,
dismissible: false,
title: s_('AdminSettings|Service Ping payload not found in the application cache')) do |c|
- c.with_body do
- generate_manually_link = link_to('', help_page_path('development/internal_analytics/service_ping/troubleshooting', anchor: 'generate-service-ping'), target: '_blank', rel: 'noopener noreferrer')
= safe_format(s_('AdminSettings|%{generate_manually_link_start}Generate%{generate_manually_link_end} Service Ping to preview and download service usage data payload.'), tag_pair(generate_manually_link, :generate_manually_link_start, :generate_manually_link_end))
help_text: can_be_configured ? usage_ping_help_text : disabled_help_text,
checkbox_options: { disabled: !can_be_configured || ServicePing::ServicePingSettings.license_operational_metric_enabled?, data: { testid: 'enable-usage-data-checkbox' } }
- if Gitlab.ee?
= render_if_exists 'admin/application_settings/include_optional_metric_in_service_ping_checkbox', form: f
.form-text.gl-pl-6.gl-mb-6
- if @service_ping_data.present?
= render Pajamas::ButtonComponent.new(button_options: { class: 'js-payload-preview-trigger gl-mr-2', data: { payload_selector: ".#{payload_class}" } }) do
= gl_loading_icon(css_class: 'js-spinner gl-display-none', inline: true)
%span.js-text.gl-display-inline= s_('AdminSettings|Preview payload')
= render Pajamas::ButtonComponent.new(button_options: { class: 'js-payload-download-trigger gl-mr-2', data: { endpoint: usage_data_admin_application_settings_path(format: :json) } }) do
= gl_loading_icon(css_class: 'js-spinner gl-display-none', inline: true)
%span.js-text.gl-display-inline= s_('AdminSettings|Download payload')
%pre.js-syntax-highlight.code.highlight.gl-mt-2.gl-display-none{ class: payload_class, data: { endpoint: usage_data_admin_application_settings_path(format: :html) } }
- else
= render Pajamas::AlertComponent.new(variant: :warning,
dismissible: false,
title: s_('AdminSettings|Service Ping payload not found in the application cache')) do |c|
- c.with_body do
- generate_manually_link = link_to('', help_page_path('development/internal_analytics/service_ping/troubleshooting', anchor: 'generate-service-ping'), target: '_blank', rel: 'noopener noreferrer')
= safe_format(s_('AdminSettings|%{generate_manually_link_start}Generate%{generate_manually_link_end} Service Ping to preview and download service usage data payload.'), tag_pair(generate_manually_link, :generate_manually_link_start, :generate_manually_link_end))
.form-group
- usage_ping_enabled = @application_setting.usage_ping_enabled?
- include_optional_metrics_in_service_ping = @application_setting.include_optional_metrics_in_service_ping
- label = s_('AdminSettings|Enable Registration Features')
- label_link = link_to sprite_icon('question-o'), help_page_path('administration/settings/usage_statistics', anchor: 'registration-features-program')
- help_text = usage_ping_enabled ? s_('AdminSettings|You can enable Registration Features because Service Ping is enabled. To continue using Registration Features in the future, you will also need to register with GitLab via a new cloud licensing service.') : s_('AdminSettings|To enable Registration Features, first enable Service Ping.')
- service_ping_help_text = usage_ping_enabled ? s_('AdminSettings|You can enable Registration Features because Service Ping is enabled.') : s_('AdminSettings|To enable Registration Features, first enable Service Ping.')
- optional_metrics_help_text = include_optional_metrics_in_service_ping ? s_('AdminSettings|You can enable Registration Features because optional data in Service Ping is enabled.') : s_('AdminSettings|To enable Registration Features, first enable optional data in Service Ping.')
= f.gitlab_ui_checkbox_component :usage_ping_features_enabled?, '%{label} %{label_link}'.html_safe % { label: label, label_link: label_link },
help_text: '<span id="service_ping_features_helper_text">%{help_text}</span>'.html_safe % { help_text: help_text },
help_text: tag.span(Gitlab.ee? ? optional_metrics_help_text : service_ping_help_text, id: 'service_ping_features_helper_text'),
checkbox_options: { id: 'application_setting_usage_ping_features_enabled' },
label_options: { id: 'service_ping_features_label' }
.form-text.gl-text-gray-500.gl-pl-6

View File

@ -1,3 +1,4 @@
- add_page_specific_style 'page_bundles/profile'
- page_title _('Account')
- @force_desktop_expanded_sidebar = true

View File

@ -1,3 +1,3 @@
.js-notification-email-listbox-input.gl-mb-3{ data: { label: _('Global notification email'), name: 'user[notification_email]', emails: @user.public_verified_emails.to_json, empty_value_text: _('Use primary email (%{email})') % { email: @user.email }, value: @user.notification_email, disabled: local_assigns.fetch(:email_change_disabled, nil) } }
.help-block
.gl-text-secondary
= local_assigns.fetch(:help_text, nil)

View File

@ -1,6 +1,6 @@
- show_trusted_row = local_assigns.fetch(:show_trusted_row, false)
.table-holder.oauth-application-show
.table-holder
%table.table
%tr
%td

View File

@ -6,7 +6,7 @@
%td
= _('Scopes')
%td
%ul.scopes-list.gl-mb-0
%ul.gl-mb-0.gl-pl-5
- token.scopes.each do |scope|
%li
%span.bold= scope

View File

@ -6,4 +6,4 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/437162
milestone: '16.8'
group: group::composition analysis
type: beta
default_enabled: false
default_enabled: true

View File

@ -0,0 +1,13 @@
# frozen_string_literal: true
class AddOptionalMetricsEnabledToApplicationSettings < Gitlab::Database::Migration[2.2]
milestone '16.9'
def up
add_column :application_settings, :include_optional_metrics_in_service_ping, :boolean, default: true, null: false
end
def down
remove_column :application_settings, :include_optional_metrics_in_service_ping
end
end

View File

@ -0,0 +1,17 @@
# frozen_string_literal: true
class UpdateOptionaMetricsValueServicePing < Gitlab::Database::Migration[2.2]
restrict_gitlab_migration gitlab_schema: :gitlab_main
milestone '16.9'
def up
execute <<~SQL
UPDATE application_settings
SET include_optional_metrics_in_service_ping = usage_ping_enabled
SQL
end
def down
# No-op
end
end

View File

@ -0,0 +1 @@
2c565f21446c6a7e63d5007a22f064cf18d8cf662b22dfdd0ba08264957e30d9

View File

@ -0,0 +1 @@
04719fee22b042b856b719c2cc987582bc6b3ebecf0f8e5d9944765766718c20

View File

@ -4106,6 +4106,7 @@ CREATE TABLE application_settings (
lock_toggle_security_policy_custom_ci boolean DEFAULT false NOT NULL,
toggle_security_policies_policy_scope boolean DEFAULT false NOT NULL,
lock_toggle_security_policies_policy_scope boolean DEFAULT false NOT NULL,
include_optional_metrics_in_service_ping boolean DEFAULT true NOT NULL,
rate_limits jsonb DEFAULT '{}'::jsonb NOT NULL,
elasticsearch_max_code_indexing_concurrency integer DEFAULT 30 NOT NULL,
enable_member_promotion_management boolean DEFAULT false NOT NULL,

View File

@ -0,0 +1,9 @@
---
# Extended Markdown configuration to enforce no-trailing-spaces rule
# To use this configuration, in the doc directory, run:
#
# markdownlint-cli2 --config .markdownlint/.markdownlint-cli2.yaml '**/*.md'
config:
default: false
no-trailing-spaces: true
fix: true

View File

@ -1,4 +0,0 @@
---
# Extended Markdown configuration to enforce no-trailing-spaces rule
extends: "../../.markdownlint.yml"
no-trailing-spaces: true

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
A security audit is a in-depth analysis and review of your infrastructure, which is used to display
areas of concern and potentially hazardous practices. To assist with the audit process, GitLab provides
@ -47,7 +47,7 @@ Audit events can be viewed at the group, project, instance, and sign-in level. E
DETAILS:
**Tier:** Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
To view a group's audit events:
@ -61,7 +61,7 @@ Group audit events can also be accessed using the [Group Audit Events API](../ap
DETAILS:
**Tier:** Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
1. On the left sidebar, select **Search or go to** and find your project.
1. Select **Secure > Audit events**.
@ -92,7 +92,7 @@ Instance audit events can also be accessed using the [Instance Audit Events API]
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
Successful sign-in events are the only audit events available at all tiers. To see successful sign-in events:

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
> - API [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/332747) in GitLab 14.5 [with a flag](../feature_flags.md) named `ff_external_audit_events_namespace`. Disabled by default.
> - API [enabled on GitLab.com and by default on self-managed](https://gitlab.com/gitlab-org/gitlab/-/issues/338939) in GitLab 14.7.

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
> - UI [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/336411) in GitLab 14.9.
> - [Subgroup events recording](https://gitlab.com/gitlab-org/gitlab/-/issues/366878) fixed in GitLab 15.2.

View File

@ -757,7 +757,7 @@ For more information, see the [GitLab API user method documentation](https://pyt
DETAILS:
**Tier:** Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/209898) in GitLab 15.10.

View File

@ -926,7 +926,7 @@ panel_groups:
DETAILS:
**Tier:** Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
See [Environment Dashboard](../ci/environments/environments_dashboard.md#adding-a-project-to-the-dashboard) for the maximum number of displayed projects.

View File

@ -475,7 +475,7 @@ only. For example:
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
NOTE:
GitLab Free tracks a small number of different audit events.
@ -1074,7 +1074,7 @@ This file is located at:
DETAILS:
**Tier:** Premium, Ultimate
**Offering:** Saas, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/120506) in GitLab 16.9.

View File

@ -33,7 +33,7 @@ lookup of authorized SSH keys.
DETAILS:
**Tier:** Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
Unlike [Cloud Native GitLab](https://docs.gitlab.com/charts/), by default Linux package installations
manage an `authorized_keys` file that is located in the

View File

@ -8,7 +8,7 @@ info: For assistance with this What's new page, see https://handbook.gitlab.com/
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
You can view some of the highlights from the last 10
GitLab versions in the **What's new** feature. It lists new features available in different

View File

@ -8,7 +8,7 @@ info: "To determine the technical writer assigned to the Stage/Group associated
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
## Valid access levels

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
The Alert Management alerts API is limited to metric images. For more API endpoints, see the
[GraphQL API](graphql/reference/index.md#alertmanagementalert).

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
Available resources for the [GitLab REST API](index.md) can be grouped in the following contexts:

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
> - [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/8160) in GitLab 10.5.

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/121) in GitLab 12.4.
> - [Author Email added to the response body](https://gitlab.com/gitlab-org/gitlab/-/issues/386322) in GitLab 15.9.

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
> - [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/19121) in GitLab 11.0.

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
Every API call to [issue boards](../user/project/issue_board.md) must be authenticated.

View File

@ -8,7 +8,7 @@ info: "To determine the technical writer assigned to the Stage/Group associated
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
This API operates on [repository branches](../user/project/repository/branches/index.md).

View File

@ -24,7 +24,7 @@ As of GitLab 12.8, GET requests do not require authentication. All other broadca
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
List all broadcast messages.
@ -61,7 +61,7 @@ Example response:
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
Get a specific broadcast message.

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/64335) in GitLab 14.1.
> - Project migration [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/390515) in GitLab 15.11.

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/83270) in GitLab 14.10.
> - Agent Tokens API [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/347046) in GitLab 15.0.

View File

@ -9,7 +9,7 @@ description: "Documentation for the REST API for Git commits in GitLab."
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
This API operates on [repository commits](https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository). Read more about [GitLab-specific information](../user/project/repository/index.md#commit-changes-to-a-repository) for commits.

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
> - The ability to authenticate with a CI/CD job token [introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/49750) in GitLab 13.12 [with a flag](../administration/feature_flags.md) named `ci_job_token_scope`. Disabled by default.
> - CI/CD job token authentication [generally available](https://gitlab.com/gitlab-org/gitlab/-/issues/300821) in GitLab 16.8. Feature flag `ci_job_token_scope` removed.

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
WARNING:
This API is in an [Experiment](../policy/experiment-beta-support.md#experiment) and considered unstable.

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
Every call to this endpoint requires authentication.

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
## Purge the dependency proxy for a group

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
The deploy keys API can return in responses fingerprints of the public key in the following fields:

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
## List all deploy tokens

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
> Support for [GitLab CI/CD job token](../ci/jobs/ci_job_token.md) authentication [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/414549) in GitLab 16.2.
@ -537,7 +537,7 @@ curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/a
DETAILS:
**Tier:** Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/343864) in GitLab 14.7 [with a flag](../administration/feature_flags.md) named `deployment_approvals`. Disabled by default.
> - [Feature flag removed](https://gitlab.com/gitlab-org/gitlab/-/issues/347342) in GitLab 14.8.

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
Discussions are a set of related notes on:
@ -465,7 +465,7 @@ curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" \
DETAILS:
**Tier:** Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
### List group epic discussion items

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/279039) in GitLab 13.10.
> - The legacy key/value pair `{ "<date>" => "<value>" }` was removed from the payload in GitLab 14.0.

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
Draft notes are pending, unpublished comments on merge requests. They can be either start a discussion, or be associated with an existing discussion as a reply. They are viewable only by the author until they are published.

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
> [Renamed](https://gitlab.com/gitlab-org/gitlab/-/issues/409884) from "award emoji" to "emoji reactions" in GitLab 16.0.

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
> Support for [GitLab CI/CD job token](../ci/jobs/ci_job_token.md) authentication [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/414549) in GitLab 16.2.

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
Every API call to the epic issues API endpoint must be authenticated.

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/9188) in GitLab 11.8.

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
> - Introduced in [GitLab Ultimate](https://about.gitlab.com/pricing/) 10.2.
> - Single-level Epics [were moved](https://gitlab.com/gitlab-org/gitlab/-/issues/37081) to [GitLab Premium](https://about.gitlab.com/pricing/) in 12.8.

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/34940) in GitLab 12.7.

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
## Filter parameters

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/205409) in [GitLab Premium](https://about.gitlab.com/pricing/) 12.10.
> - [Moved](https://gitlab.com/gitlab-org/gitlab/-/issues/212318) to GitLab Free in 13.5.

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/9566) in GitLab Premium 12.5.
> - [Moved](https://gitlab.com/gitlab-org/gitlab/-/issues/212318) to GitLab Free in 13.5.

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/29382) in GitLab 13.0.

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
This page describes how you can use the GraphiQL explorer to set up an audit report
for a specific subset of users.

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/106954) in GitLab 15.8.

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/37911) in GitLab 13.6 [with a flag](../../administration/feature_flags.md) named `custom_emoji`. Disabled by default.
> - Enabled on GitLab.com in GitLab 14.0.

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
This guide demonstrates basic usage of the GitLab GraphQL API.

View File

@ -9,7 +9,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
[GraphQL](https://graphql.org/) is a query language for APIs. You can use it to
request the exact data you need, and therefore limit the number of requests you need.

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
GraphQL is a versionless API, unlike the REST API.
Occasionally, items have to be updated or removed from the GraphQL API.

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
This page describes how you can use the GraphiQL explorer to identify
existing [issue boards](../../user/project/issue_board.md) in the `gitlab-docs` documentation repository.

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
This page describes how you can use the GraphiQL explorer to query users.

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
You can read more about [group access tokens](../user/group/settings/group_access_tokens.md).

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/26460) in GitLab 12.9.

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
> - [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17082) in GitLab 10.6.

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
Every API call to [group issue boards](../user/project/issue_board.md#group-issue-boards) must be authenticated.
@ -250,7 +250,7 @@ Example response:
DETAILS:
**Tier:** Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
Creates a group issue board.
@ -361,7 +361,7 @@ Example response:
DETAILS:
**Tier:** Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
Deletes a group issue board.

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
> - [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/30213) in GitLab 12.1.
> - [Deprecated](https://gitlab.com/groups/gitlab-org/configure/-/epics/8) in GitLab 14.5.

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/385903) in GitLab 15.9.

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
Use the group import and export API to export a group structure and import it to a new location.
When you use the group import and export API with the [project import and export API](project_import_export.md), you can preserve connections with

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/118742) in GitLab 13.5.
> - Moved to GitLab Premium in 13.9.

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
> - [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/21368) in GitLab 11.8.

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
## List group variables
@ -191,7 +191,7 @@ curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" \
DETAILS:
**Tier:** Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/340185) in GitLab 16.9.

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
Use the group [milestones](../user/project/milestones/index.md) using the REST API.
There's a separate [project milestones API](milestones.md) page.
@ -176,7 +176,7 @@ Parameters:
DETAILS:
**Tier:** Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/4737) in GitLab 12.1
> - Moved to GitLab Premium in 13.9.

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/215888) in GitLab 14.0. [Deployed behind the `group_level_protected_environments` flag](../administration/feature_flags.md), disabled by default.
> - [Feature flag `group_level_protected_environments`](https://gitlab.com/gitlab-org/gitlab/-/issues/331085) removed in GitLab 14.3.

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/59978) in GitLab 13.12.

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
Review your groups' [releases](../user/project/releases/index.md) with the REST API.

View File

@ -8,7 +8,7 @@ info: "To determine the technical writer assigned to the Stage/Group associated
DETAILS:
**Tier:** Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/212199) in GitLab 13.5.
> - The `encoding` field was [added](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/81150) in GitLab 14.9.

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
Interact with [groups](../user/group/index.md) by using the REST API.
@ -1222,7 +1222,7 @@ A GitLab.com group can't be removed if it is linked to a subscription. To remove
DETAILS:
**Tier:** Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/33257) in GitLab 12.8.
@ -1261,7 +1261,7 @@ GET /groups?search=foobar
DETAILS:
**Tier:** Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
> - Introduced in GitLab 14.8.
@ -1338,7 +1338,7 @@ Example response:
DETAILS:
**Tier:** Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
**Status:** Experiment
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/424505) in GitLab 16.6. This feature is an [Experiment](../policy/experiment-beta-support.md).
@ -1424,7 +1424,7 @@ Example response:
DETAILS:
**Tier:** Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
### Create Service Account User
@ -1516,7 +1516,7 @@ Example response:
DETAILS:
**Tier:** Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
Also called Group Hooks and Webhooks.
These are different from [System Hooks](system_hooks.md) that are system wide and [Project Hooks](projects.md#hooks) that are limited to one project.
@ -1652,7 +1652,7 @@ DELETE /groups/:id/hooks/:hook_id
DETAILS:
**Tier:** Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
Group audit events can be accessed via the [Group Audit Events API](audit_events.md#group-audit-events)
@ -1774,7 +1774,7 @@ To delete the LDAP group link, provide either a `cn` or a `filter`, but not both
DETAILS:
**Tier:** Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/290367) in GitLab 15.3.0.
> - `access_level` type [changed](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/95607) from `string` to `integer` in GitLab 15.3.3.
@ -1993,7 +1993,7 @@ DELETE /groups/:id/share/:group_id
DETAILS:
**Tier:** Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
> - Introduced in GitLab 13.4.

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
Use the Import API to import repositories from GitHub or Bitbucket Server.
@ -58,7 +58,7 @@ curl --request POST \
"single_endpoint_notes_import": true,
"attachments_import": true,
"collaborators_import": true
},
}
}'
```

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
This API enables you to work with external services that integrate with GitLab.
@ -763,7 +763,7 @@ GET /projects/:id/integrations/git-guardian
DETAILS:
**Tier:** Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
### Set up GitHub

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
Use the Invitations API to invite or add users to a group or project, and to list pending
invitations.

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
> - The simple "relates to" relationship [moved](https://gitlab.com/gitlab-org/gitlab/-/issues/212329) to GitLab Free in 13.4.

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
Interact with [GitLab Issues](../user/project/issues/index.md) using the REST API.
@ -2023,7 +2023,7 @@ The `assignee` column is deprecated. We now show it as a single-sized array `ass
DETAILS:
**Tier:** Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
Promotes an issue to an epic by adding a comment with the `/promote`
[quick action](../user/project/quick_actions.md).

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Free, Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
Every API call to the [issues](../user/project/issues/index.md) statistics API must be authenticated.

View File

@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
DETAILS:
**Tier:** Premium, Ultimate
**Offering:** SaaS, self-managed
**Offering:** GitLab.com, Self-managed, GitLab Dedicated
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/118742) in GitLab 13.5.
> - Moved to GitLab Premium in 13.9.

Some files were not shown because too many files have changed in this diff Show More