Add latest changes from gitlab-org/gitlab@master
This commit is contained in:
parent
04027f81f0
commit
511994ec9b
|
|
@ -13,7 +13,7 @@
|
|||
/GITLAB_KAS_VERSION @project_278964_bot_77e28085fcec07f14dfd31c689824b5b @gitlab-org/maintainers/kas-version-maintainers @gitlab-org/maintainers/rails-backend @gitlab-org/delivery
|
||||
|
||||
## Allows automated updates to E2E test knapsack reports
|
||||
/qa/knapsack/**/*.json @project_278964_bot_f559eb4d5c7c39b8a5e0b3ca0fe68d9e @gl-dx
|
||||
/qa/knapsack/**/*.json @project_278964_bot_bd38289efeb650826d995b5f830ca9cb @gl-dx
|
||||
|
||||
## Files that are excluded from required approval
|
||||
## These rules override the * rule above, so that changes to docs and templates
|
||||
|
|
|
|||
|
|
@ -513,6 +513,11 @@ export const config = {
|
|||
WorkItemType: {
|
||||
// this prevents child and parent work item types from overriding each other
|
||||
fields: {
|
||||
supportedConversionTypes: {
|
||||
merge(__, incoming) {
|
||||
return incoming;
|
||||
},
|
||||
},
|
||||
widgetDefinitions: {
|
||||
merge(existing = [], incoming) {
|
||||
if (existing.length === 0) {
|
||||
|
|
|
|||
|
|
@ -46,6 +46,11 @@ export default {
|
|||
type: String,
|
||||
required: true,
|
||||
},
|
||||
placement: {
|
||||
type: String,
|
||||
required: false,
|
||||
default: 'top',
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
|
|
@ -158,7 +163,7 @@ export default {
|
|||
<gl-popover
|
||||
:target="target"
|
||||
boundary="viewport"
|
||||
placement="top"
|
||||
:placement="placement"
|
||||
:css-classes="['gl-min-w-fit']"
|
||||
show
|
||||
>
|
||||
|
|
|
|||
|
|
@ -59,6 +59,7 @@ export const handleIssuablePopoverMount = ({
|
|||
innerText,
|
||||
referenceType,
|
||||
target,
|
||||
placement,
|
||||
}) => {
|
||||
// Add listener to actually remove it again
|
||||
target.addEventListener('mouseleave', handleIssuablePopoverMouseOut);
|
||||
|
|
@ -74,6 +75,7 @@ export const handleIssuablePopoverMount = ({
|
|||
target,
|
||||
namespacePath,
|
||||
iid,
|
||||
placement,
|
||||
milestoneId: milestone,
|
||||
cachedTitle: title || innerText,
|
||||
},
|
||||
|
|
@ -95,7 +97,7 @@ export default (elements, issuablePopoverMount = handleIssuablePopoverMount) =>
|
|||
const listenerAddedAttr = 'data-popover-listener-added';
|
||||
|
||||
elements.forEach((el) => {
|
||||
const { projectPath, groupPath, iid, referenceType, milestone } = el.dataset;
|
||||
const { projectPath, groupPath, iid, referenceType, milestone, placement } = el.dataset;
|
||||
let { namespacePath } = el.dataset;
|
||||
const title = el.dataset.mrTitle || el.title;
|
||||
const { innerText } = el;
|
||||
|
|
@ -115,6 +117,7 @@ export default (elements, issuablePopoverMount = handleIssuablePopoverMount) =>
|
|||
innerText,
|
||||
referenceType,
|
||||
target,
|
||||
placement,
|
||||
});
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@ import initPersistentUserCallouts from './persistent_user_callouts';
|
|||
import { initUserTracking, initDefaultTrackers } from './tracking';
|
||||
import GlFieldErrors from './gl_field_errors';
|
||||
import initUserPopovers from './user_popovers';
|
||||
import initWorkItemAttributePopovers from './work_item_attribute_popovers';
|
||||
import initBroadcastNotifications from './broadcast_notification';
|
||||
import { initCopyCodeButton } from './behaviors/copy_code';
|
||||
import initGitlabVersionCheck from './gitlab_version_check';
|
||||
|
|
@ -85,6 +86,7 @@ function deferredInitialisation() {
|
|||
initLogoAnimation();
|
||||
initPortraitLogoDetection();
|
||||
initUserPopovers();
|
||||
initWorkItemAttributePopovers();
|
||||
initBroadcastNotifications();
|
||||
initPersistentUserCallouts();
|
||||
initDefaultTrackers();
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ import {
|
|||
GlTab,
|
||||
GlTabs,
|
||||
GlTooltipDirective,
|
||||
GlFormCheckbox,
|
||||
} from '@gitlab/ui';
|
||||
import * as Sentry from '~/sentry/sentry_browser_wrapper';
|
||||
import { createAlert } from '~/alert';
|
||||
|
|
@ -28,6 +29,7 @@ import TodoItem from './todo_item.vue';
|
|||
import TodosEmptyState from './todos_empty_state.vue';
|
||||
import TodosFilterBar, { SORT_OPTIONS } from './todos_filter_bar.vue';
|
||||
import TodosMarkAllDoneButton from './todos_mark_all_done_button.vue';
|
||||
import TodosBulkBar from './todos_bulk_bar.vue';
|
||||
import TodosPagination from './todos_pagination.vue';
|
||||
|
||||
export default {
|
||||
|
|
@ -38,10 +40,12 @@ export default {
|
|||
GlBadge,
|
||||
GlTabs,
|
||||
GlTab,
|
||||
GlFormCheckbox,
|
||||
TodosEmptyState,
|
||||
TodosFilterBar,
|
||||
TodoItem,
|
||||
TodosMarkAllDoneButton,
|
||||
TodosBulkBar,
|
||||
TodosPagination,
|
||||
},
|
||||
directives: {
|
||||
|
|
@ -81,6 +85,8 @@ export default {
|
|||
showSpinnerWhileLoading: true,
|
||||
currentTime: new Date(),
|
||||
currentTimeInterval: null,
|
||||
multiselectState: {},
|
||||
selectAllChecked: false,
|
||||
};
|
||||
},
|
||||
apollo: {
|
||||
|
|
@ -127,14 +133,23 @@ export default {
|
|||
isLoading() {
|
||||
return this.$apollo.queries.todos.loading;
|
||||
},
|
||||
isLoadingWithSpinner() {
|
||||
return this.isLoading && this.showSpinnerWhileLoading;
|
||||
},
|
||||
isFiltered() {
|
||||
// Ignore sort value. It is always present and not really a filter.
|
||||
const { sort: _, ...filters } = this.queryFilterValues;
|
||||
return Object.values(filters).some((value) => value.length > 0);
|
||||
},
|
||||
isOnDoneTab() {
|
||||
return this.currentTab === TABS_INDICES.done;
|
||||
},
|
||||
isOnSnoozedTab() {
|
||||
return this.currentTab === TABS_INDICES.snoozed;
|
||||
},
|
||||
isOnAllTab() {
|
||||
return this.currentTab === TABS_INDICES.all;
|
||||
},
|
||||
showEmptyState() {
|
||||
return !this.isLoading && this.todos.length === 0;
|
||||
},
|
||||
|
|
@ -143,6 +158,24 @@ export default {
|
|||
|
||||
return this.currentTab === TABS_INDICES.pending && !this.showEmptyState;
|
||||
},
|
||||
showSelectAll() {
|
||||
if (!this.glFeatures.todosBulkActions) return false;
|
||||
if (this.isOnAllTab) return false;
|
||||
|
||||
return !(this.showEmptyState || this.isLoadingWithSpinner);
|
||||
},
|
||||
selectedIds() {
|
||||
return this.todos.filter((todo) => this.multiselectState[todo.id]).map((todo) => todo.id);
|
||||
},
|
||||
hasIndeterminateSelectAll() {
|
||||
return this.selectedIds.length > 0 && this.selectedIds.length < this.todos.length;
|
||||
},
|
||||
},
|
||||
watch: {
|
||||
selectedIds(ids) {
|
||||
if (!ids.length) this.selectAllChecked = false;
|
||||
else if (ids.length === this.todos.length) this.selectAllChecked = true;
|
||||
},
|
||||
},
|
||||
created() {
|
||||
const searchParams = new URLSearchParams(window.location.search);
|
||||
|
|
@ -180,6 +213,8 @@ export default {
|
|||
return;
|
||||
}
|
||||
|
||||
this.unselectAll();
|
||||
|
||||
this.track(INSTRUMENT_TODO_FILTER_CHANGE, {
|
||||
label: INSTRUMENT_TAB_LABELS[tabIndex],
|
||||
});
|
||||
|
|
@ -223,6 +258,16 @@ export default {
|
|||
|
||||
await this.updateCounts();
|
||||
},
|
||||
handleSelectionChanged(id, isSelected) {
|
||||
this.multiselectState = {
|
||||
...this.multiselectState,
|
||||
[id]: isSelected,
|
||||
};
|
||||
},
|
||||
handleBulkAction() {
|
||||
this.unselectAll();
|
||||
this.updateAllQueries(false);
|
||||
},
|
||||
updateCounts() {
|
||||
return this.$apollo.queries.pendingTodosCount.refetch();
|
||||
},
|
||||
|
|
@ -257,6 +302,17 @@ export default {
|
|||
this.updateTimeoutId = null;
|
||||
}, TODO_WAIT_BEFORE_RELOAD);
|
||||
},
|
||||
selectAll() {
|
||||
this.multiselectState = Object.fromEntries(this.todos.map((todo) => [todo.id, true]));
|
||||
},
|
||||
unselectAll() {
|
||||
this.multiselectState = {};
|
||||
this.selectAllChecked = false;
|
||||
},
|
||||
handleSelectAllChange(checked) {
|
||||
if (checked) this.selectAll();
|
||||
else this.unselectAll();
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
|
@ -321,6 +377,26 @@ export default {
|
|||
|
||||
<div>
|
||||
<div class="gl-flex gl-flex-col">
|
||||
<div v-if="showSelectAll" class="gl-flex gl-items-baseline gl-gap-2 gl-px-5 gl-py-3">
|
||||
<gl-form-checkbox
|
||||
v-model="selectAllChecked"
|
||||
data-testid="todos-select-all"
|
||||
class="gl-mb-2 gl-mt-3"
|
||||
:indeterminate="hasIndeterminateSelectAll"
|
||||
@change="handleSelectAllChange"
|
||||
>{{
|
||||
selectAllChecked ? s__('Todos|Clear all') : s__('Todos|Select all')
|
||||
}}</gl-form-checkbox
|
||||
>
|
||||
<span v-show="selectedIds.length">|</span>
|
||||
<todos-bulk-bar
|
||||
v-show="selectedIds.length"
|
||||
:ids="selectedIds"
|
||||
:tab="currentTab"
|
||||
@change="handleBulkAction"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<gl-loading-icon v-if="isLoading && showSpinnerWhileLoading" size="lg" class="gl-mt-5" />
|
||||
<div
|
||||
v-else
|
||||
|
|
@ -339,7 +415,9 @@ export default {
|
|||
:key="todo.id"
|
||||
:todo="todo"
|
||||
:current-user-id="currentUserId"
|
||||
:selected="selectedIds.includes(todo.id)"
|
||||
@change="handleItemChanged"
|
||||
@select-change="handleSelectionChanged"
|
||||
/>
|
||||
</transition-group>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,91 @@
|
|||
<script>
|
||||
import { GlButton, GlSprintf, GlTooltipDirective } from '@gitlab/ui';
|
||||
import { TABS_INDICES } from '~/todos/constants';
|
||||
import { s__ } from '~/locale';
|
||||
|
||||
export default {
|
||||
components: {
|
||||
GlButton,
|
||||
GlSprintf,
|
||||
},
|
||||
directives: {
|
||||
GlTooltip: GlTooltipDirective,
|
||||
},
|
||||
props: {
|
||||
ids: {
|
||||
type: Array,
|
||||
required: true,
|
||||
},
|
||||
tab: {
|
||||
type: Number,
|
||||
required: true,
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
showResolve() {
|
||||
return this.tab === TABS_INDICES.pending || this.tab === TABS_INDICES.snoozed;
|
||||
},
|
||||
showRestore() {
|
||||
return this.tab === TABS_INDICES.done;
|
||||
},
|
||||
showSnooze() {
|
||||
return this.tab === TABS_INDICES.pending;
|
||||
},
|
||||
showUnsnooze() {
|
||||
return this.tab === TABS_INDICES.snoozed;
|
||||
},
|
||||
},
|
||||
i18n: {
|
||||
snoozeTitle: s__('Todos|Snooze selected items'),
|
||||
unsnoozeTitle: s__('Todos|Remove snooze for selected items'),
|
||||
resolveTitle: s__('Todos|Mark selected items as done'),
|
||||
restoreTitle: s__('Todos|Mark selected items as pending'),
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="gl-flex gl-flex-grow gl-flex-row gl-items-baseline gl-justify-between gl-gap-1">
|
||||
<span data-testid="selected-count">
|
||||
<gl-sprintf :message="n__('Todos|%{count} selected', 'Todos|%{count} selected', ids.length)">
|
||||
<template #count>
|
||||
<strong>{{ ids.length }}</strong>
|
||||
</template>
|
||||
</gl-sprintf>
|
||||
</span>
|
||||
<div>
|
||||
<gl-button
|
||||
v-if="showSnooze"
|
||||
v-gl-tooltip
|
||||
data-testid="bulk-action-snooze"
|
||||
icon="clock"
|
||||
:title="$options.i18n.snoozeTitle"
|
||||
:aria-label="$options.i18n.snoozeTitle"
|
||||
/>
|
||||
<gl-button
|
||||
v-if="showUnsnooze"
|
||||
v-gl-tooltip
|
||||
data-testid="bulk-action-unsnooze"
|
||||
icon="time-out"
|
||||
:title="$options.i18n.unsnoozeTitle"
|
||||
:aria-label="$options.i18n.unsnoozeTitle"
|
||||
/>
|
||||
<gl-button
|
||||
v-if="showResolve"
|
||||
v-gl-tooltip
|
||||
data-testid="bulk-action-resolve"
|
||||
icon="check"
|
||||
:title="$options.i18n.resolveTitle"
|
||||
:aria-label="$options.i18n.resolveTitle"
|
||||
/>
|
||||
<gl-button
|
||||
v-if="showRestore"
|
||||
v-gl-tooltip
|
||||
data-testid="bulk-action-restore"
|
||||
icon="redo"
|
||||
:title="$options.i18n.restoreTitle"
|
||||
:aria-label="$options.i18n.restoreTitle"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
|
@ -61,8 +61,8 @@ export default {
|
|||
return truncate(topic, MAX_TOPIC_TITLE_LENGTH);
|
||||
},
|
||||
topicTooltipTitle(topic) {
|
||||
// Matches conditional in app/assets/javascripts/lib/utils/text_utility.js#L88
|
||||
if (topic.length - 1 > MAX_TOPIC_TITLE_LENGTH) {
|
||||
const wasTruncated = topic !== this.topicTitle(topic);
|
||||
if (wasTruncated) {
|
||||
return topic;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,71 @@
|
|||
import Vue from 'vue';
|
||||
import VueApollo from 'vue-apollo';
|
||||
import { defaultClient } from '~/graphql_shared/issuable_client';
|
||||
import { handleIssuablePopoverMount } from 'ee_else_ce/issuable/popover';
|
||||
|
||||
/**
|
||||
* This method is based on default function of app/assets/javascripts/issuable/popover/index.js
|
||||
* where we bind popover mount function to all elements qualifying for popovers.
|
||||
*
|
||||
* In case of Work Items, where contents are often loaded async (i.e. in drawer and modals), relying
|
||||
* on default popover mount function is not possible and we need to attach a global event listener on
|
||||
* document to ensure that popover is mounted on qualifying element when mouse is hovered over it. However
|
||||
* the logic is still similar to how GFM popover functions.
|
||||
*
|
||||
* For any Work Item attribute to have popover, it needs to contain following attributes;
|
||||
*
|
||||
* CSS Class: `has-popover`
|
||||
* Following Data attributes:
|
||||
* - data-reference-type: This can be `issue`, `work_item`, `merge_request`, or `milestone`
|
||||
* - data-placement: Placement of popover, default is `top`.
|
||||
* - data-iid: Internal ID of the work item or issuable (in case reference type is Issue, WI, or MR)
|
||||
* not required for `milestone`.
|
||||
* - data-group-path: Path of work item or issuable if it is group-level, not required for `milestone`
|
||||
* - data-project-path: Path of work item or issuable if it is project-level, not required for `milestone`
|
||||
* - data-milestone: Milestone ID.
|
||||
*/
|
||||
export default function initWorkItemAttributePopovers() {
|
||||
Vue.use(VueApollo);
|
||||
const apolloProvider = new VueApollo({
|
||||
defaultClient,
|
||||
});
|
||||
const listenerAddedAttr = 'data-popover-listener-added';
|
||||
const popoverMountedAttr = 'data-popover-mounted';
|
||||
|
||||
document.addEventListener('mouseover', ({ target }) => {
|
||||
// Return if target doesn't qualify for popover
|
||||
if (
|
||||
!target.classList.contains('has-popover') ||
|
||||
!target.dataset.referenceType ||
|
||||
target.hasAttribute(listenerAddedAttr)
|
||||
) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Extract required metadata
|
||||
const { referenceType, placement, iid, title, groupPath, projectPath, milestone } =
|
||||
target.dataset;
|
||||
let { namespacePath } = target.dataset;
|
||||
namespacePath = namespacePath || groupPath || projectPath;
|
||||
const { innerText } = target;
|
||||
|
||||
// Attach mount listener to target
|
||||
target.addEventListener('mouseenter', (e) => {
|
||||
if (!target.getAttribute(popoverMountedAttr)) {
|
||||
handleIssuablePopoverMount({
|
||||
target: e.target,
|
||||
apolloProvider,
|
||||
referenceType,
|
||||
placement,
|
||||
namespacePath,
|
||||
iid,
|
||||
title,
|
||||
milestone,
|
||||
innerText: innerText.trim(),
|
||||
});
|
||||
}
|
||||
});
|
||||
// Ensure that listener is only added once
|
||||
target.setAttribute(listenerAddedAttr, true);
|
||||
});
|
||||
}
|
||||
|
|
@ -3,6 +3,7 @@ import { GlLink } from '@gitlab/ui';
|
|||
import * as Sentry from '~/sentry/sentry_browser_wrapper';
|
||||
import Tracking from '~/tracking';
|
||||
import { newWorkItemId } from '~/work_items/utils';
|
||||
import { getIdFromGraphQLId } from '~/graphql_shared/utils';
|
||||
import { s__, __ } from '~/locale';
|
||||
import { MILESTONE_STATE } from '~/sidebar/constants';
|
||||
import WorkItemSidebarDropdownWidget from '~/work_items/components/shared/work_item_sidebar_dropdown_widget.vue';
|
||||
|
|
@ -101,6 +102,9 @@ export default {
|
|||
localMilestoneId() {
|
||||
return this.localMilestone?.id;
|
||||
},
|
||||
localMilestoneNumericId() {
|
||||
return this.localMilestoneId ? getIdFromGraphQLId(this.localMilestoneId) : '';
|
||||
},
|
||||
},
|
||||
watch: {
|
||||
workItemMilestone(newVal) {
|
||||
|
|
@ -241,7 +245,13 @@ export default {
|
|||
<div v-if="item.title">{{ item.title }}</div>
|
||||
</template>
|
||||
<template #readonly>
|
||||
<gl-link class="!gl-text-default" :href="localMilestone.webPath">
|
||||
<gl-link
|
||||
class="has-popover !gl-text-default"
|
||||
:data-milestone="localMilestoneNumericId"
|
||||
data-reference-type="milestone"
|
||||
data-placement="left"
|
||||
:href="localMilestone.webPath"
|
||||
>
|
||||
{{ localMilestone.title }}{{ expired }}
|
||||
</gl-link>
|
||||
</template>
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ module Types
|
|||
end
|
||||
|
||||
def supported_conversion_types
|
||||
object.supported_conversion_types(context[:resource_parent])
|
||||
object.supported_conversion_types(context[:resource_parent], current_user)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -7,3 +7,5 @@ module AuditEvents
|
|||
include AuditEvents::CommonModel
|
||||
end
|
||||
end
|
||||
|
||||
AuditEvents::InstanceAuditEvent.prepend_mod
|
||||
|
|
|
|||
|
|
@ -12,3 +12,5 @@ module AuditEvents
|
|||
scope :by_username, ->(username) { where(user_id: find_user_id(username)) }
|
||||
end
|
||||
end
|
||||
|
||||
AuditEvents::UserAuditEvent.prepend_mod
|
||||
|
|
|
|||
|
|
@ -174,8 +174,8 @@ module WorkItems
|
|||
}
|
||||
end
|
||||
|
||||
def supported_conversion_types(resource_parent)
|
||||
type_names = supported_conversion_base_types(resource_parent) - [base_type]
|
||||
def supported_conversion_types(resource_parent, user)
|
||||
type_names = supported_conversion_base_types(resource_parent, user) - [base_type]
|
||||
WorkItems::Type.by_type(type_names).order_by_name_asc
|
||||
end
|
||||
|
||||
|
|
@ -225,7 +225,7 @@ module WorkItems
|
|||
end
|
||||
|
||||
# resource_parent is used in EE
|
||||
def supported_conversion_base_types(_resource_parent)
|
||||
def supported_conversion_base_types(_resource_parent, _user)
|
||||
WorkItems::Type.base_types.keys.excluding(*EE_BASE_TYPES)
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
%div{ class: 'top-bar-fixed container-fluid', data: { testid: 'top-bar' } }
|
||||
.top-bar-container.gl-flex.gl-items-center.gl-gap-2
|
||||
.gl-grow.gl-basis-0.gl-flex.gl-items-center.gl-justify-start
|
||||
.gl-grow.gl-basis-0.gl-flex.gl-items-center.gl-justify-start.gl-gap-3
|
||||
= render Pajamas::ButtonComponent.new(icon: 'sidebar', category: :tertiary, button_options: { class: 'js-super-sidebar-toggle-expand super-sidebar-toggle -gl-ml-3', aria: { controls: 'super-sidebar', expanded: 'false', label: _('Primary navigation sidebar') } })
|
||||
= render "layouts/nav/breadcrumbs/breadcrumbs"
|
||||
.gl-flex-none.gl-flex.gl-items-center.gl-justify-center
|
||||
|
|
|
|||
|
|
@ -65,7 +65,9 @@ module Members
|
|||
log_monitoring_data(user.id, namespace.id, destroyed_count, destroy_duration)
|
||||
|
||||
# when all memberships removed, cleanup schedule:
|
||||
member_deletion_schedule.destroy! if memberships.count === 0
|
||||
cleanup_schedule(member_deletion_schedule) if memberships.count === 0
|
||||
rescue Gitlab::Access::AccessDeniedError
|
||||
cleanup_schedule(member_deletion_schedule)
|
||||
end
|
||||
|
||||
def member_deletion_schedules
|
||||
|
|
@ -82,5 +84,9 @@ module Members
|
|||
destroy_duration_s: destroy_duration
|
||||
)
|
||||
end
|
||||
|
||||
def cleanup_schedule(member_deletion_schedule)
|
||||
member_deletion_schedule.destroy!
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -2,7 +2,8 @@
|
|||
key_path: counts.count_total_push_package_to_registry_generic_monthly
|
||||
description: Monthly count of generic packages pushed to the package registry.
|
||||
product_group: package_registry
|
||||
performance_indicator_type: []
|
||||
performance_indicator_type:
|
||||
- leading_indicator
|
||||
value_type: number
|
||||
status: active
|
||||
milestone: '17.4'
|
||||
|
|
|
|||
|
|
@ -2,7 +2,8 @@
|
|||
key_path: counts.count_total_push_package_to_registry_maven_monthly
|
||||
description: Monthly count of Maven packages pushed to the package registry.
|
||||
product_group: package_registry
|
||||
performance_indicator_type: []
|
||||
performance_indicator_type:
|
||||
- leading_indicator
|
||||
value_type: number
|
||||
status: active
|
||||
milestone: '17.4'
|
||||
|
|
|
|||
|
|
@ -2,7 +2,8 @@
|
|||
key_path: counts.count_total_push_package_to_registry_npm_monthly
|
||||
description: Monthly count of NPM packages pushed to the package registry.
|
||||
product_group: package_registry
|
||||
performance_indicator_type: []
|
||||
performance_indicator_type:
|
||||
- leading_indicator
|
||||
value_type: number
|
||||
status: active
|
||||
milestone: '17.4'
|
||||
|
|
|
|||
|
|
@ -2,7 +2,8 @@
|
|||
key_path: counts.count_total_push_package_to_registry_nuget_monthly
|
||||
description: Monthly count of Nuget packages pushed to the package registry.
|
||||
product_group: package_registry
|
||||
performance_indicator_type: []
|
||||
performance_indicator_type:
|
||||
- leading_indicator
|
||||
value_type: number
|
||||
status: active
|
||||
milestone: '17.4'
|
||||
|
|
|
|||
|
|
@ -2,7 +2,8 @@
|
|||
key_path: counts.count_total_push_package_to_registry_pypi_monthly
|
||||
description: Monthly count of Pypi packages pushed to the package registry.
|
||||
product_group: package_registry
|
||||
performance_indicator_type: []
|
||||
performance_indicator_type:
|
||||
- leading_indicator
|
||||
value_type: number
|
||||
status: active
|
||||
milestone: '17.4'
|
||||
|
|
|
|||
|
|
@ -2,7 +2,8 @@
|
|||
key_path: counts.count_total_push_package_to_registry_terraform_module_monthly
|
||||
description: Monthly count of Terraform modules pushed to the package registry.
|
||||
product_group: package_registry
|
||||
performance_indicator_type: []
|
||||
performance_indicator_type:
|
||||
- leading_indicator
|
||||
value_type: number
|
||||
status: active
|
||||
milestone: '17.4'
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ stage: Create
|
|||
group: Source Code
|
||||
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: "Configure `gitlab-sshd`, a lightweight alternative to OpenSSH, for your GitLab instance."
|
||||
title: `gitlab-sshd`
|
||||
title: '`gitlab-sshd`'
|
||||
---
|
||||
|
||||
DETAILS:
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
stage: Systems
|
||||
group: Distribution
|
||||
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
|
||||
title: Reference architecture: Up to 200 RPS or 10,000 users
|
||||
title: 'Reference architecture: Up to 200 RPS or 10,000 users'
|
||||
---
|
||||
|
||||
DETAILS:
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
stage: Systems
|
||||
group: Distribution
|
||||
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
|
||||
title: Reference architecture: Up to 20 RPS or 1,000 users
|
||||
title: 'Reference architecture: Up to 20 RPS or 1,000 users'
|
||||
---
|
||||
|
||||
DETAILS:
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
stage: Systems
|
||||
group: Distribution
|
||||
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
|
||||
title: Reference architecture: Up to 500 RPS or 25,000 users
|
||||
title: 'Reference architecture: Up to 500 RPS or 25,000 users'
|
||||
---
|
||||
|
||||
DETAILS:
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
stage: Systems
|
||||
group: Distribution
|
||||
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
|
||||
title: Reference architecture: Up to 40 RPS or 2,000 users
|
||||
title: 'Reference architecture: Up to 40 RPS or 2,000 users'
|
||||
---
|
||||
|
||||
DETAILS:
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
stage: Systems
|
||||
group: Distribution
|
||||
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
|
||||
title: Reference architecture: Up to 60 RPS or 3,000 users
|
||||
title: 'Reference architecture: Up to 60 RPS or 3,000 users'
|
||||
---
|
||||
|
||||
DETAILS:
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
stage: Systems
|
||||
group: Distribution
|
||||
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
|
||||
title: Reference architecture: Up to 1000 RPS or 50,000 users
|
||||
title: 'Reference architecture: Up to 1000 RPS or 50,000 users'
|
||||
---
|
||||
|
||||
DETAILS:
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
stage: Systems
|
||||
group: Distribution
|
||||
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
|
||||
title: Reference architecture: Up to 100 RPS or 5,000 users
|
||||
title: 'Reference architecture: Up to 100 RPS or 5,000 users'
|
||||
---
|
||||
|
||||
DETAILS:
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ stage: AI-Powered
|
|||
group: Custom Models
|
||||
description: Self-Hosted AI Models Licensing and Offerings
|
||||
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
|
||||
title: Self-Hosted AI Models: Licensing and Offerings
|
||||
title: 'Self-Hosted AI Models: Licensing and Offerings'
|
||||
---
|
||||
|
||||
DETAILS:
|
||||
|
|
|
|||
|
|
@ -4821,6 +4821,29 @@ Input type: `DeleteContainerProtectionTagRuleInput`
|
|||
| <a id="mutationdeletecontainerprotectiontagrulecontainerprotectiontagrule"></a>`containerProtectionTagRule` **{warning-solid}** | [`ContainerProtectionTagRule`](#containerprotectiontagrule) | **Deprecated:** **Status**: Experiment. Introduced in GitLab 17.8. |
|
||||
| <a id="mutationdeletecontainerprotectiontagruleerrors"></a>`errors` | [`[String!]!`](#string) | Errors encountered during execution of the mutation. |
|
||||
|
||||
### `Mutation.deleteConversationThread`
|
||||
|
||||
DETAILS:
|
||||
**Introduced** in GitLab 17.9.
|
||||
**Status**: Experiment.
|
||||
|
||||
Input type: `DeleteConversationThreadInput`
|
||||
|
||||
#### Arguments
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---- | ---- | ----------- |
|
||||
| <a id="mutationdeleteconversationthreadclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
|
||||
| <a id="mutationdeleteconversationthreadthreadid"></a>`threadId` | [`AiConversationThreadID!`](#aiconversationthreadid) | Global ID of the thread to delete. |
|
||||
|
||||
#### Fields
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---- | ---- | ----------- |
|
||||
| <a id="mutationdeleteconversationthreadclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
|
||||
| <a id="mutationdeleteconversationthreaderrors"></a>`errors` | [`[String!]!`](#string) | List of errors that occurred whilst trying to delete the thread. |
|
||||
| <a id="mutationdeleteconversationthreadsuccess"></a>`success` | [`Boolean!`](#boolean) | Returns true if thread was successfully deleted. |
|
||||
|
||||
### `Mutation.deletePackagesProtectionRule`
|
||||
|
||||
Deletes a protection rule for packages.
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Verify
|
||||
group: Pipeline Authoring
|
||||
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
|
||||
title: Caching in GitLab CI/CD
|
||||
---
|
||||
|
||||
# Caching in GitLab CI/CD
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Deploy
|
||||
group: Environments
|
||||
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
|
||||
title: GitLab ChatOps
|
||||
---
|
||||
|
||||
# GitLab ChatOps
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Verify
|
||||
group: Pipeline Execution
|
||||
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
|
||||
title: Using GitLab CI/CD with a Bitbucket Cloud repository
|
||||
---
|
||||
|
||||
# Using GitLab CI/CD with a Bitbucket Cloud repository
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Verify
|
||||
group: Pipeline Execution
|
||||
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
|
||||
title: Using GitLab CI/CD with a GitHub repository
|
||||
---
|
||||
|
||||
# Using GitLab CI/CD with a GitHub repository
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Verify
|
||||
group: Pipeline Execution
|
||||
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
|
||||
title: GitLab CI/CD for external repositories
|
||||
---
|
||||
|
||||
# GitLab CI/CD for external repositories
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Deploy
|
||||
group: Environments
|
||||
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
|
||||
title: Deploy to Amazon Elastic Container Service
|
||||
---
|
||||
|
||||
# Deploy to Amazon Elastic Container Service
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Deploy
|
||||
group: Environments
|
||||
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
|
||||
title: Use GitLab CI/CD to deploy to Heroku
|
||||
---
|
||||
|
||||
# Use GitLab CI/CD to deploy to Heroku
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Deploy
|
||||
group: Environments
|
||||
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
|
||||
title: Deploy to AWS from GitLab CI/CD
|
||||
---
|
||||
|
||||
# Deploy to AWS from GitLab CI/CD
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Software Supply Chain Security
|
||||
group: Pipeline Security
|
||||
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
|
||||
title: Configure OpenID Connect in AWS to retrieve temporary credentials
|
||||
---
|
||||
|
||||
# Configure OpenID Connect in AWS to retrieve temporary credentials
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Software Supply Chain Security
|
||||
group: Pipeline Security
|
||||
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
|
||||
title: Configure OpenID Connect in Azure to retrieve temporary credentials
|
||||
---
|
||||
|
||||
# Configure OpenID Connect in Azure to retrieve temporary credentials
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Software Supply Chain Security
|
||||
group: Pipeline Security
|
||||
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
|
||||
title: Configure OpenID Connect with GCP Workload Identity Federation
|
||||
---
|
||||
|
||||
# Configure OpenID Connect with GCP Workload Identity Federation
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Software Supply Chain Security
|
||||
group: Pipeline Security
|
||||
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
|
||||
title: Connect to cloud services
|
||||
---
|
||||
|
||||
# Connect to cloud services
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Verify
|
||||
group: Pipeline Authoring
|
||||
info: This page is maintained by Developer Relations, author @dnsmichi, see https://handbook.gitlab.com/handbook/marketing/developer-relations/developer-advocacy/content/#maintained-documentation
|
||||
title: CI/CD component examples
|
||||
---
|
||||
|
||||
# CI/CD component examples
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Verify
|
||||
group: Pipeline Authoring
|
||||
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
|
||||
title: CI/CD components
|
||||
---
|
||||
|
||||
# CI/CD components
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Verify
|
||||
group: Pipeline Authoring
|
||||
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
|
||||
title: Debugging CI/CD pipelines
|
||||
---
|
||||
|
||||
# Debugging CI/CD pipelines
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Verify
|
||||
group: Pipeline Execution
|
||||
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
|
||||
title: Authenticate with registry in Docker-in-Docker
|
||||
---
|
||||
|
||||
# Authenticate with registry in Docker-in-Docker
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Verify
|
||||
group: Pipeline Execution
|
||||
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
|
||||
title: 'Tutorial: Use Buildah in a rootless container with GitLab Runner Operator on OpenShift'
|
||||
---
|
||||
|
||||
# Tutorial: Use Buildah in a rootless container with GitLab Runner Operator on OpenShift
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Verify
|
||||
group: Pipeline Execution
|
||||
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
|
||||
title: Make Docker-in-Docker builds faster with Docker layer caching
|
||||
---
|
||||
|
||||
# Make Docker-in-Docker builds faster with Docker layer caching
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Verify
|
||||
group: Pipeline Execution
|
||||
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
|
||||
title: Docker integration
|
||||
---
|
||||
|
||||
# Docker integration
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Verify
|
||||
group: Pipeline Execution
|
||||
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
|
||||
title: Use Docker to build Docker images
|
||||
---
|
||||
|
||||
# Use Docker to build Docker images
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Verify
|
||||
group: Runner
|
||||
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
|
||||
title: Run your CI/CD jobs in Docker containers
|
||||
---
|
||||
|
||||
# Run your CI/CD jobs in Docker containers
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Verify
|
||||
group: Pipeline Execution
|
||||
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
|
||||
title: Use kaniko to build Docker images
|
||||
---
|
||||
|
||||
# Use kaniko to build Docker images
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Deploy
|
||||
group: Environments
|
||||
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
|
||||
title: Environments
|
||||
---
|
||||
|
||||
# Environments
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Deploy
|
||||
group: Environments
|
||||
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
|
||||
title: Configure Kubernetes deployments (deprecated)
|
||||
---
|
||||
|
||||
# Configure Kubernetes deployments (deprecated)
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -3,10 +3,9 @@ stage: Deploy
|
|||
group: Environments
|
||||
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: Require approvals prior to deploying to a Protected Environment
|
||||
title: Deployment approvals
|
||||
---
|
||||
|
||||
# Deployment approvals
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Deploy
|
||||
group: Environments
|
||||
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
|
||||
title: Deployment safety
|
||||
---
|
||||
|
||||
# Deployment safety
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Deploy
|
||||
group: Environments
|
||||
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
|
||||
title: Deployments
|
||||
---
|
||||
|
||||
# Deployments
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Deploy
|
||||
group: Environments
|
||||
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
|
||||
title: Environments Dashboard
|
||||
---
|
||||
|
||||
# Environments Dashboard
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Deploy
|
||||
group: Environments
|
||||
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
|
||||
title: Track deployments of an external deployment tool
|
||||
---
|
||||
|
||||
# Track deployments of an external deployment tool
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Deploy
|
||||
group: Environments
|
||||
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
|
||||
title: Incremental rollouts with GitLab CI/CD
|
||||
---
|
||||
|
||||
# Incremental rollouts with GitLab CI/CD
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Deploy
|
||||
group: Environments
|
||||
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
|
||||
title: Dashboard for Kubernetes
|
||||
---
|
||||
|
||||
# Dashboard for Kubernetes
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Deploy
|
||||
group: Environments
|
||||
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
|
||||
title: Protected environments
|
||||
---
|
||||
|
||||
# Protected environments
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Deploy
|
||||
group: Environments
|
||||
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
|
||||
title: Running Composer and npm scripts with deployment via SCP in GitLab CI/CD
|
||||
---
|
||||
|
||||
# Running Composer and npm scripts with deployment via SCP in GitLab CI/CD
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Deploy
|
||||
group: Environments
|
||||
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
|
||||
title: Using Dpl as a deployment tool
|
||||
---
|
||||
|
||||
# Using Dpl as a deployment tool
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Verify
|
||||
group: Pipeline Execution
|
||||
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
|
||||
title: GitLab CI/CD examples
|
||||
---
|
||||
|
||||
# GitLab CI/CD examples
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Verify
|
||||
group: Pipeline Execution
|
||||
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
|
||||
title: Testing PHP projects
|
||||
---
|
||||
|
||||
# Testing PHP projects
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Package
|
||||
group: Package Registry
|
||||
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
|
||||
title: Publish npm packages to the GitLab package registry using semantic-release
|
||||
---
|
||||
|
||||
# Publish npm packages to the GitLab package registry using semantic-release
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Package
|
||||
group: Container Registry
|
||||
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
|
||||
title: GitLab and Google Cloud integration
|
||||
---
|
||||
|
||||
# GitLab and Google Cloud integration
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Verify
|
||||
group: Pipeline Execution
|
||||
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
|
||||
title: Get started with GitLab CI/CD
|
||||
---
|
||||
|
||||
# Get started with GitLab CI/CD
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Verify
|
||||
group: Runner
|
||||
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
|
||||
title: Interactive web terminals
|
||||
---
|
||||
|
||||
# Interactive web terminals
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Software Supply Chain Security
|
||||
group: Pipeline Security
|
||||
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
|
||||
title: GitLab CI/CD job token
|
||||
---
|
||||
|
||||
# GitLab CI/CD job token
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Verify
|
||||
group: Pipeline Authoring
|
||||
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
|
||||
title: CI/CD Jobs
|
||||
---
|
||||
|
||||
# CI/CD Jobs
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Verify
|
||||
group: Pipeline Execution
|
||||
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
|
||||
title: Job artifacts
|
||||
---
|
||||
|
||||
# Job artifacts
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Verify
|
||||
group: Pipeline Execution
|
||||
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
|
||||
title: Troubleshooting job artifacts
|
||||
---
|
||||
|
||||
# Troubleshooting job artifacts
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Verify
|
||||
group: Pipeline Authoring
|
||||
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
|
||||
title: Control how jobs run
|
||||
---
|
||||
|
||||
# Control how jobs run
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Verify
|
||||
group: Pipeline Execution
|
||||
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
|
||||
title: CI/CD job logs
|
||||
---
|
||||
|
||||
# CI/CD job logs
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Verify
|
||||
group: Pipeline Authoring
|
||||
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
|
||||
title: Specify when jobs run with `rules`
|
||||
---
|
||||
|
||||
# Specify when jobs run with `rules`
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Verify
|
||||
group: Pipeline Authoring
|
||||
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
|
||||
title: Troubleshooting jobs
|
||||
---
|
||||
|
||||
# Troubleshooting jobs
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Software Supply Chain Security
|
||||
group: Pipeline Security
|
||||
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
|
||||
title: Using SSH keys with GitLab CI/CD
|
||||
---
|
||||
|
||||
# Using SSH keys with GitLab CI/CD
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Verify
|
||||
group: Pipeline Execution
|
||||
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
|
||||
title: Migrating from Bamboo
|
||||
---
|
||||
|
||||
# Migrating from Bamboo
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Verify
|
||||
group: Pipeline Authoring
|
||||
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
|
||||
title: Migrating from CircleCI
|
||||
---
|
||||
|
||||
# Migrating from CircleCI
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Verify
|
||||
group: Pipeline Authoring
|
||||
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
|
||||
title: Migrate a Maven build from Jenkins to GitLab CI/CD
|
||||
---
|
||||
|
||||
# Migrate a Maven build from Jenkins to GitLab CI/CD
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Verify
|
||||
group: Pipeline Authoring
|
||||
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
|
||||
title: Migrating from GitHub Actions
|
||||
---
|
||||
|
||||
# Migrating from GitHub Actions
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Verify
|
||||
group: Pipeline Authoring
|
||||
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
|
||||
title: Migrating from Jenkins
|
||||
---
|
||||
|
||||
# Migrating from Jenkins
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Verify
|
||||
group: Pipeline Authoring
|
||||
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
|
||||
title: Plan a migration from another tool to GitLab CI/CD
|
||||
---
|
||||
|
||||
# Plan a migration from another tool to GitLab CI/CD
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Verify
|
||||
group: Pipeline Execution
|
||||
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
|
||||
title: Migrating from TeamCity
|
||||
---
|
||||
|
||||
# Migrating from TeamCity
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Mobile
|
||||
group: Mobile Devops
|
||||
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
|
||||
title: Mobile DevOps
|
||||
---
|
||||
|
||||
# Mobile DevOps
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Mobile
|
||||
group: Mobile Devops
|
||||
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
|
||||
title: 'Tutorial: Build Android apps with GitLab Mobile DevOps'
|
||||
---
|
||||
|
||||
# Tutorial: Build Android apps with GitLab Mobile DevOps
|
||||
|
||||
In this tutorial, you'll create a pipeline by using GitLab CI/CD that builds your Android mobile app,
|
||||
signs it with your credentials, and distributes it to app stores.
|
||||
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Mobile
|
||||
group: Mobile Devops
|
||||
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
|
||||
title: 'Tutorial: Build iOS apps with GitLab Mobile DevOps'
|
||||
---
|
||||
|
||||
# Tutorial: Build iOS apps with GitLab Mobile DevOps
|
||||
|
||||
In this tutorial, you'll create a pipeline by using GitLab CI/CD that builds your iOS mobile app,
|
||||
signs it with your credentials, and distributes it to app stores.
|
||||
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Verify
|
||||
group: Pipeline Authoring
|
||||
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
|
||||
title: Pipeline editor
|
||||
---
|
||||
|
||||
# Pipeline editor
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -3,10 +3,9 @@ stage: Verify
|
|||
group: Pipeline Execution
|
||||
description: Calculations, quotas, purchase information.
|
||||
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
|
||||
title: Compute minutes
|
||||
---
|
||||
|
||||
# Compute minutes
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Verify
|
||||
group: Pipeline Authoring
|
||||
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
|
||||
title: Downstream pipelines
|
||||
---
|
||||
|
||||
# Downstream pipelines
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Verify
|
||||
group: Pipeline Authoring
|
||||
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
|
||||
title: Troubleshooting downstream pipelines
|
||||
---
|
||||
|
||||
# Troubleshooting downstream pipelines
|
||||
|
||||
## Trigger job fails and does not create multi-project pipeline
|
||||
|
||||
With multi-project pipelines, the trigger job fails and does not create the downstream pipeline if:
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Verify
|
||||
group: Pipeline Authoring
|
||||
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
|
||||
title: CI/CD pipelines
|
||||
---
|
||||
|
||||
# CI/CD pipelines
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Verify
|
||||
group: Pipeline Execution
|
||||
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
|
||||
title: Merge request pipelines
|
||||
---
|
||||
|
||||
# Merge request pipelines
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Verify
|
||||
group: Pipeline Execution
|
||||
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
|
||||
title: Merge trains
|
||||
---
|
||||
|
||||
# Merge trains
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Verify
|
||||
group: Pipeline Execution
|
||||
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
|
||||
title: Merged results pipelines
|
||||
---
|
||||
|
||||
# Merged results pipelines
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
|
|
@ -2,10 +2,9 @@
|
|||
stage: Verify
|
||||
group: Pipeline Execution
|
||||
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
|
||||
title: Merge request pipeline troubleshooting
|
||||
---
|
||||
|
||||
# Merge request pipeline troubleshooting
|
||||
|
||||
DETAILS:
|
||||
**Tier:** Free, Premium, Ultimate
|
||||
**Offering:** GitLab.com, GitLab Self-Managed, GitLab Dedicated
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue