Add latest changes from gitlab-org/gitlab@master
This commit is contained in:
parent
d9ea1b8b19
commit
ca2eb5b26a
|
@ -49,7 +49,6 @@
|
|||
/doc/user/clusters/ @marcia
|
||||
/doc/user/compliance/ @rdickenson @eread
|
||||
/doc/user/group/ @msedlakjakubowski
|
||||
/doc/user/group/bulk_editing/ @msedlakjakubowski
|
||||
/doc/user/group/devops_adoption/ @msedlakjakubowski
|
||||
/doc/user/group/epics/ @msedlakjakubowski
|
||||
/doc/user/group/insights/ @msedlakjakubowski
|
||||
|
@ -115,7 +114,7 @@
|
|||
/doc/api/tags.md @aqualls
|
||||
/doc/api/visual_review_discussions.md @aqualls
|
||||
/doc/api/wikis.md @aqualls
|
||||
/doc/intro/README.md @aqualls
|
||||
/doc/intro/index.md @aqualls
|
||||
/doc/topics/gitlab_flow.md @aqualls
|
||||
/doc/user/admin_area/settings/account_and_limit_settings.md @aqualls
|
||||
/doc/user/admin_area/settings/instance_template_repository.md @aqualls
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
# - guidelines for use found in
|
||||
# https://docs.gitlab.com/ee/development/contributing/style_guides.html#resolving-rubocop-exceptions.
|
||||
|
||||
# WIP See https://gitlab.com/gitlab-org/gitlab/-/issues/322903
|
||||
# WIP See https://gitlab.com/gitlab-org/gitlab/-/issues/337596
|
||||
Graphql/Descriptions:
|
||||
Exclude:
|
||||
- 'ee/app/graphql/types/iteration_state_enum.rb'
|
||||
|
@ -23,40 +23,6 @@ Graphql/Descriptions:
|
|||
- 'ee/app/graphql/types/vulnerability_severity_enum.rb'
|
||||
- 'ee/app/graphql/types/vulnerability_state_enum.rb'
|
||||
- 'ee/app/graphql/types/vulnerability_confidence_enum.rb'
|
||||
- 'app/graphql/mutations/notes/base.rb'
|
||||
- 'app/graphql/mutations/notes/create/base.rb'
|
||||
- 'app/graphql/mutations/notes/create/note.rb'
|
||||
- 'app/graphql/mutations/notes/destroy.rb'
|
||||
- 'app/graphql/mutations/notes/reposition_image_diff_note.rb'
|
||||
- 'app/graphql/mutations/notes/update/base.rb'
|
||||
- 'app/graphql/mutations/notes/update/note.rb'
|
||||
- 'app/graphql/mutations/release_asset_links/create.rb'
|
||||
- 'app/graphql/mutations/release_asset_links/delete.rb'
|
||||
- 'app/graphql/mutations/release_asset_links/update.rb'
|
||||
- 'app/graphql/mutations/releases/create.rb'
|
||||
- 'app/graphql/mutations/releases/delete.rb'
|
||||
- 'app/graphql/mutations/releases/update.rb'
|
||||
- 'app/graphql/mutations/snippets/base.rb'
|
||||
- 'app/graphql/mutations/snippets/create.rb'
|
||||
- 'app/graphql/mutations/snippets/destroy.rb'
|
||||
- 'app/graphql/mutations/snippets/mark_as_spam.rb'
|
||||
- 'app/graphql/mutations/snippets/update.rb'
|
||||
- 'app/graphql/mutations/todos/create.rb'
|
||||
- 'app/graphql/mutations/todos/mark_done.rb'
|
||||
- 'app/graphql/mutations/todos/restore.rb'
|
||||
- 'app/graphql/mutations/todos/restore_many.rb'
|
||||
- 'app/graphql/mutations/user_callouts/create.rb'
|
||||
- 'app/graphql/resolvers/admin/analytics/usage_trends/measurements_resolver.rb'
|
||||
- 'app/graphql/resolvers/blobs_resolver.rb'
|
||||
- 'app/graphql/resolvers/board_resolver.rb'
|
||||
- 'app/graphql/resolvers/ci/config_resolver.rb'
|
||||
- 'app/graphql/resolvers/concerns/resolves_snippets.rb'
|
||||
- 'app/graphql/resolvers/design_management/design_at_version_resolver.rb'
|
||||
- 'app/graphql/resolvers/design_management/version/design_at_version_resolver.rb'
|
||||
- 'app/graphql/resolvers/design_management/version_in_collection_resolver.rb'
|
||||
- 'app/graphql/resolvers/design_management/version_resolver.rb'
|
||||
- 'app/graphql/resolvers/design_management/versions_resolver.rb'
|
||||
- 'app/graphql/resolvers/full_path_resolver.rb'
|
||||
- 'app/graphql/resolvers/labels_resolver.rb'
|
||||
- 'app/graphql/resolvers/merge_requests_resolver.rb'
|
||||
- 'app/graphql/resolvers/milestones_resolver.rb'
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
query GroupBoardMembers($fullPath: ID!, $search: String) {
|
||||
workspace: group(fullPath: $fullPath) {
|
||||
__typename
|
||||
assignees: groupMembers(search: $search) {
|
||||
assignees: groupMembers(search: $search, relations: [DIRECT, DESCENDANTS, INHERITED]) {
|
||||
__typename
|
||||
nodes {
|
||||
id
|
||||
|
|
|
@ -57,6 +57,8 @@ class Profiles::TwoFactorAuthsController < Profiles::ApplicationController
|
|||
@codes = user.generate_otp_backup_codes!
|
||||
end
|
||||
|
||||
helpers.dismiss_account_recovery_regular_check
|
||||
|
||||
render 'create'
|
||||
else
|
||||
@error = _('Invalid pin code')
|
||||
|
@ -105,6 +107,8 @@ class Profiles::TwoFactorAuthsController < Profiles::ApplicationController
|
|||
def codes
|
||||
Users::UpdateService.new(current_user, user: current_user).execute! do |user|
|
||||
@codes = user.generate_otp_backup_codes!
|
||||
|
||||
helpers.dismiss_account_recovery_regular_check
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ module Mutations
|
|||
field :note,
|
||||
Types::Notes::NoteType,
|
||||
null: true,
|
||||
description: 'The note after mutation.'
|
||||
description: 'Note after mutation.'
|
||||
|
||||
private
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ module Mutations
|
|||
argument :noteable_id,
|
||||
::Types::GlobalIDType[::Noteable],
|
||||
required: true,
|
||||
description: 'The global ID of the resource to add a note to.'
|
||||
description: 'Global ID of the resource to add a note to.'
|
||||
|
||||
argument :body,
|
||||
GraphQL::Types::String,
|
||||
|
@ -21,7 +21,7 @@ module Mutations
|
|||
argument :confidential,
|
||||
GraphQL::Types::Boolean,
|
||||
required: false,
|
||||
description: 'The confidentiality flag of a note. Default is false.'
|
||||
description: 'Confidentiality flag of a note. Default is false.'
|
||||
|
||||
def resolve(args)
|
||||
noteable = authorized_find!(id: args[:noteable_id])
|
||||
|
|
|
@ -9,7 +9,7 @@ module Mutations
|
|||
argument :discussion_id,
|
||||
::Types::GlobalIDType[::Discussion],
|
||||
required: false,
|
||||
description: 'The global ID of the discussion this note is in reply to.'
|
||||
description: 'Global ID of the discussion this note is in reply to.'
|
||||
|
||||
private
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ module Mutations
|
|||
argument :id,
|
||||
::Types::GlobalIDType[::Note],
|
||||
required: true,
|
||||
description: 'The global ID of the note to destroy.'
|
||||
description: 'Global ID of the note to destroy.'
|
||||
|
||||
def resolve(id:)
|
||||
note = authorized_find!(id: id)
|
||||
|
|
|
@ -16,7 +16,7 @@ module Mutations
|
|||
loads: Types::Notes::NoteType,
|
||||
as: :note,
|
||||
required: true,
|
||||
description: 'The global ID of the DiffNote to update.'
|
||||
description: 'Global ID of the DiffNote to update.'
|
||||
|
||||
argument :position,
|
||||
Types::Notes::UpdateDiffImagePositionInputType,
|
||||
|
|
|
@ -17,7 +17,7 @@ module Mutations
|
|||
argument :id,
|
||||
::Types::GlobalIDType[::Note],
|
||||
required: true,
|
||||
description: 'The global ID of the note to update.'
|
||||
description: 'Global ID of the note to update.'
|
||||
|
||||
def resolve(args)
|
||||
note = authorized_find!(id: args[:id])
|
||||
|
|
|
@ -15,7 +15,7 @@ module Mutations
|
|||
argument :confidential,
|
||||
GraphQL::Types::Boolean,
|
||||
required: false,
|
||||
description: 'The confidentiality flag of a note. Default is false.'
|
||||
description: 'Confidentiality flag of a note. Default is false.'
|
||||
|
||||
private
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@ module Mutations
|
|||
field :link,
|
||||
Types::ReleaseAssetLinkType,
|
||||
null: true,
|
||||
description: 'The asset link after mutation.'
|
||||
description: 'Asset link after mutation.'
|
||||
|
||||
def resolve(project_path:, tag:, **link_attrs)
|
||||
project = authorized_find!(project_path)
|
||||
|
|
|
@ -16,7 +16,7 @@ module Mutations
|
|||
field :link,
|
||||
Types::ReleaseAssetLinkType,
|
||||
null: true,
|
||||
description: 'The deleted release asset link.'
|
||||
description: 'Deleted release asset link.'
|
||||
|
||||
def resolve(id:)
|
||||
link = authorized_find!(id)
|
||||
|
|
|
@ -27,12 +27,12 @@ module Mutations
|
|||
|
||||
argument :link_type, Types::ReleaseAssetLinkTypeEnum,
|
||||
required: false,
|
||||
description: 'The type of the asset link.'
|
||||
description: 'Type of the asset link.'
|
||||
|
||||
field :link,
|
||||
Types::ReleaseAssetLinkType,
|
||||
null: true,
|
||||
description: 'The asset link after mutation.'
|
||||
description: 'Asset link after mutation.'
|
||||
|
||||
def ready?(**args)
|
||||
if args.key?(:link_type) && args[:link_type].nil?
|
||||
|
|
|
@ -8,7 +8,7 @@ module Mutations
|
|||
field :release,
|
||||
Types::ReleaseType,
|
||||
null: true,
|
||||
description: 'The release after mutation.'
|
||||
description: 'Release after mutation.'
|
||||
|
||||
argument :tag_name, GraphQL::Types::String,
|
||||
required: true, as: :tag,
|
||||
|
@ -16,7 +16,7 @@ module Mutations
|
|||
|
||||
argument :ref, GraphQL::Types::String,
|
||||
required: false,
|
||||
description: 'The commit SHA or branch name to use if creating a new tag.'
|
||||
description: 'Commit SHA or branch name to use if creating a new tag.'
|
||||
|
||||
argument :name, GraphQL::Types::String,
|
||||
required: false,
|
||||
|
@ -28,11 +28,11 @@ module Mutations
|
|||
|
||||
argument :released_at, Types::TimeType,
|
||||
required: false,
|
||||
description: 'The date when the release will be/was ready. Defaults to the current time.'
|
||||
description: 'Date and time for the release. Defaults to the current date and time.'
|
||||
|
||||
argument :milestones, [GraphQL::Types::String],
|
||||
required: false,
|
||||
description: 'The title of each milestone the release is associated with. GitLab Premium customers can specify group milestones.'
|
||||
description: 'Title of each milestone the release is associated with. GitLab Premium customers can specify group milestones.'
|
||||
|
||||
argument :assets, Types::ReleaseAssetsInputType,
|
||||
required: false,
|
||||
|
|
|
@ -8,7 +8,7 @@ module Mutations
|
|||
field :release,
|
||||
Types::ReleaseType,
|
||||
null: true,
|
||||
description: 'The deleted release.'
|
||||
description: 'Deleted release.'
|
||||
|
||||
argument :tag_name, GraphQL::Types::String,
|
||||
required: true, as: :tag,
|
||||
|
|
|
@ -8,7 +8,7 @@ module Mutations
|
|||
field :release,
|
||||
Types::ReleaseType,
|
||||
null: true,
|
||||
description: 'The release after mutation.'
|
||||
description: 'Release after mutation.'
|
||||
|
||||
argument :tag_name, GraphQL::Types::String,
|
||||
required: true, as: :tag,
|
||||
|
@ -24,11 +24,11 @@ module Mutations
|
|||
|
||||
argument :released_at, Types::TimeType,
|
||||
required: false,
|
||||
description: 'The release date.'
|
||||
description: 'Release date.'
|
||||
|
||||
argument :milestones, [GraphQL::Types::String],
|
||||
required: false,
|
||||
description: 'The title of each milestone the release is associated with. GitLab Premium customers can specify group milestones.'
|
||||
description: 'Title of each milestone the release is associated with. GitLab Premium customers can specify group milestones.'
|
||||
|
||||
authorize :update_release
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ module Mutations
|
|||
field :snippet,
|
||||
Types::SnippetType,
|
||||
null: true,
|
||||
description: 'The snippet after mutation.'
|
||||
description: 'Snippet after mutation.'
|
||||
|
||||
private
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ module Mutations
|
|||
field :snippet,
|
||||
Types::SnippetType,
|
||||
null: true,
|
||||
description: 'The snippet after mutation.'
|
||||
description: 'Snippet after mutation.'
|
||||
|
||||
argument :title, GraphQL::Types::String,
|
||||
required: true,
|
||||
|
@ -25,16 +25,16 @@ module Mutations
|
|||
description: 'Description of the snippet.'
|
||||
|
||||
argument :visibility_level, Types::VisibilityLevelsEnum,
|
||||
description: 'The visibility level of the snippet.',
|
||||
description: 'Visibility level of the snippet.',
|
||||
required: true
|
||||
|
||||
argument :project_path, GraphQL::Types::ID,
|
||||
required: false,
|
||||
description: 'The project full path the snippet is associated with.'
|
||||
description: 'Full path of the project the snippet is associated with.'
|
||||
|
||||
argument :uploaded_files, [GraphQL::Types::String],
|
||||
required: false,
|
||||
description: 'The paths to files uploaded in the snippet description.'
|
||||
description: 'Paths to files uploaded in the snippet description.'
|
||||
|
||||
argument :blob_actions, [Types::Snippets::BlobActionInputType],
|
||||
description: 'Actions to perform over the snippet repository and blobs.',
|
||||
|
|
|
@ -9,7 +9,7 @@ module Mutations
|
|||
|
||||
argument :id, ::Types::GlobalIDType[::Snippet],
|
||||
required: true,
|
||||
description: 'The global ID of the snippet to destroy.'
|
||||
description: 'Global ID of the snippet to destroy.'
|
||||
|
||||
def resolve(id:)
|
||||
snippet = authorized_find!(id: id)
|
||||
|
|
|
@ -7,7 +7,7 @@ module Mutations
|
|||
|
||||
argument :id, ::Types::GlobalIDType[::Snippet],
|
||||
required: true,
|
||||
description: 'The global ID of the snippet to update.'
|
||||
description: 'Global ID of the snippet to update.'
|
||||
|
||||
def resolve(id:)
|
||||
snippet = authorized_find!(id: id)
|
||||
|
|
|
@ -11,7 +11,7 @@ module Mutations
|
|||
|
||||
argument :id, ::Types::GlobalIDType[::Snippet],
|
||||
required: true,
|
||||
description: 'The global ID of the snippet to update.'
|
||||
description: 'Global ID of the snippet to update.'
|
||||
|
||||
argument :title, GraphQL::Types::String,
|
||||
required: false,
|
||||
|
@ -22,7 +22,7 @@ module Mutations
|
|||
description: 'Description of the snippet.'
|
||||
|
||||
argument :visibility_level, Types::VisibilityLevelsEnum,
|
||||
description: 'The visibility level of the snippet.',
|
||||
description: 'Visibility level of the snippet.',
|
||||
required: false
|
||||
|
||||
argument :blob_actions, [Types::Snippets::BlobActionInputType],
|
||||
|
|
|
@ -10,11 +10,11 @@ module Mutations
|
|||
argument :target_id,
|
||||
Types::GlobalIDType[Todoable],
|
||||
required: true,
|
||||
description: "The global ID of the to-do item's parent. Issues, merge requests, designs and epics are supported."
|
||||
description: "Global ID of the to-do item's parent. Issues, merge requests, designs, and epics are supported."
|
||||
|
||||
field :todo, Types::TodoType,
|
||||
null: true,
|
||||
description: 'The to-do item created.'
|
||||
description: 'To-do item created.'
|
||||
|
||||
def resolve(target_id:)
|
||||
id = ::Types::GlobalIDType[Todoable].coerce_isolated_input(target_id)
|
||||
|
|
|
@ -10,11 +10,11 @@ module Mutations
|
|||
argument :id,
|
||||
::Types::GlobalIDType[::Todo],
|
||||
required: true,
|
||||
description: 'The global ID of the to-do item to mark as done.'
|
||||
description: 'Global ID of the to-do item to mark as done.'
|
||||
|
||||
field :todo, Types::TodoType,
|
||||
null: false,
|
||||
description: 'The requested to-do item.'
|
||||
description: 'Requested to-do item.'
|
||||
|
||||
def resolve(id:)
|
||||
todo = authorized_find!(id: id)
|
||||
|
|
|
@ -10,11 +10,11 @@ module Mutations
|
|||
argument :id,
|
||||
::Types::GlobalIDType[::Todo],
|
||||
required: true,
|
||||
description: 'The global ID of the to-do item to restore.'
|
||||
description: 'Global ID of the to-do item to restore.'
|
||||
|
||||
field :todo, Types::TodoType,
|
||||
null: false,
|
||||
description: 'The requested to-do item.'
|
||||
description: 'Requested to-do item.'
|
||||
|
||||
def resolve(id:)
|
||||
todo = authorized_find!(id: id)
|
||||
|
|
|
@ -10,7 +10,7 @@ module Mutations
|
|||
argument :ids,
|
||||
[::Types::GlobalIDType[::Todo]],
|
||||
required: true,
|
||||
description: 'The global IDs of the to-do items to restore (a maximum of 50 is supported at once).'
|
||||
description: 'Global IDs of the to-do items to restore (a maximum of 50 is supported at once).'
|
||||
|
||||
field :todos, [::Types::TodoType],
|
||||
null: false,
|
||||
|
|
|
@ -8,11 +8,11 @@ module Mutations
|
|||
argument :feature_name,
|
||||
GraphQL::Types::String,
|
||||
required: true,
|
||||
description: "The feature name you want to dismiss the callout for."
|
||||
description: "Feature name you want to dismiss the callout for."
|
||||
|
||||
field :user_callout, Types::UserCalloutType,
|
||||
null: false,
|
||||
description: 'The user callout dismissed.'
|
||||
description: 'User callout dismissed.'
|
||||
|
||||
def resolve(feature_name:)
|
||||
callout = Users::DismissUserCalloutService.new(
|
||||
|
|
|
@ -11,7 +11,7 @@ module Resolvers
|
|||
|
||||
argument :identifier, Types::Admin::Analytics::UsageTrends::MeasurementIdentifierEnum,
|
||||
required: true,
|
||||
description: 'The type of measurement/statistics to retrieve.'
|
||||
description: 'Type of measurement or statistics to retrieve.'
|
||||
|
||||
argument :recorded_after, Types::TimeType,
|
||||
required: false,
|
||||
|
|
|
@ -16,7 +16,7 @@ module Resolvers
|
|||
argument :ref, GraphQL::Types::String,
|
||||
required: false,
|
||||
default_value: nil,
|
||||
description: 'The commit ref to get the blobs from. Default value is HEAD.'
|
||||
description: 'Commit ref to get the blobs from. Default value is HEAD.'
|
||||
|
||||
# We fetch blobs from Gitaly efficiently but it still scales O(N) with the
|
||||
# number of paths being fetched, so apply a scaling limit to that.
|
||||
|
|
|
@ -8,7 +8,7 @@ module Resolvers
|
|||
|
||||
argument :id, ::Types::GlobalIDType[::Board],
|
||||
required: true,
|
||||
description: 'The board\'s ID.'
|
||||
description: 'ID of the board.'
|
||||
|
||||
def resolve(id: nil)
|
||||
return unless parent
|
||||
|
|
|
@ -16,7 +16,7 @@ module Resolvers
|
|||
|
||||
argument :project_path, GraphQL::Types::ID,
|
||||
required: true,
|
||||
description: 'The project of the CI config.'
|
||||
description: 'Project of the CI config.'
|
||||
|
||||
argument :sha, GraphQL::Types::String,
|
||||
required: false,
|
||||
|
|
|
@ -13,7 +13,7 @@ module ResolvesSnippets
|
|||
|
||||
argument :visibility, Types::Snippets::VisibilityScopesEnum,
|
||||
required: false,
|
||||
description: 'The visibility of the snippet.'
|
||||
description: 'Visibility of the snippet.'
|
||||
end
|
||||
|
||||
def resolve(**args)
|
||||
|
|
|
@ -11,7 +11,7 @@ module Resolvers
|
|||
|
||||
argument :id, ::Types::GlobalIDType[::DesignManagement::DesignAtVersion],
|
||||
required: true,
|
||||
description: 'The Global ID of the design at this version.'
|
||||
description: 'Global ID of the design at this version.'
|
||||
|
||||
def resolve(id:)
|
||||
authorized_find!(id: id)
|
||||
|
|
|
@ -19,13 +19,13 @@ module Resolvers
|
|||
argument :id, DesignAtVersionID,
|
||||
required: false,
|
||||
as: :design_at_version_id,
|
||||
description: 'The ID of the DesignAtVersion.'
|
||||
description: 'ID of the DesignAtVersion.'
|
||||
argument :design_id, DesignID,
|
||||
required: false,
|
||||
description: 'The ID of a specific design.'
|
||||
description: 'ID of a specific design.'
|
||||
argument :filename, GraphQL::Types::String,
|
||||
required: false,
|
||||
description: 'The filename of a specific design.'
|
||||
description: 'Filename of a specific design.'
|
||||
|
||||
def self.single
|
||||
self
|
||||
|
|
|
@ -17,11 +17,11 @@ module Resolvers
|
|||
|
||||
argument :sha, GraphQL::Types::String,
|
||||
required: false,
|
||||
description: "The SHA256 of a specific version."
|
||||
description: "SHA256 of a specific version."
|
||||
argument :id, VersionID,
|
||||
as: :version_id,
|
||||
required: false,
|
||||
description: 'The Global ID of the version.'
|
||||
description: 'Global ID of the version.'
|
||||
|
||||
def resolve(version_id: nil, sha: nil)
|
||||
# TODO: remove this line when the compatibility layer is removed
|
||||
|
|
|
@ -11,7 +11,7 @@ module Resolvers
|
|||
|
||||
argument :id, ::Types::GlobalIDType[::DesignManagement::Version],
|
||||
required: true,
|
||||
description: 'The Global ID of the version.'
|
||||
description: 'Global ID of the version.'
|
||||
|
||||
def resolve(id:)
|
||||
authorized_find!(id: id)
|
||||
|
|
|
@ -14,12 +14,12 @@ module Resolvers
|
|||
argument :earlier_or_equal_to_sha, GraphQL::Types::String,
|
||||
as: :sha,
|
||||
required: false,
|
||||
description: 'The SHA256 of the most recent acceptable version.'
|
||||
description: 'SHA256 of the most recent acceptable version.'
|
||||
|
||||
argument :earlier_or_equal_to_id, VersionID,
|
||||
as: :id,
|
||||
required: false,
|
||||
description: 'The Global ID of the most recent acceptable version.'
|
||||
description: 'Global ID of the most recent acceptable version.'
|
||||
|
||||
# This resolver has a custom singular resolver
|
||||
def self.single
|
||||
|
|
|
@ -7,7 +7,7 @@ module Resolvers
|
|||
prepended do
|
||||
argument :full_path, GraphQL::Types::ID,
|
||||
required: true,
|
||||
description: 'The full path of the project, group or namespace, e.g., `gitlab-org/gitlab-foss`.'
|
||||
description: 'Full path of the project, group, or namespace. For example, `gitlab-org/gitlab-foss`.'
|
||||
end
|
||||
|
||||
def model_by_full_path(model, full_path)
|
||||
|
|
|
@ -53,6 +53,9 @@ module UserCalloutsHelper
|
|||
!user_dismissed?(REGISTRATION_ENABLED_CALLOUT)
|
||||
end
|
||||
|
||||
def dismiss_account_recovery_regular_check
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def user_dismissed?(feature_name, ignore_dismissal_earlier_than = nil)
|
||||
|
|
|
@ -9,11 +9,6 @@ module Issues
|
|||
# in the caller (for example, an issue created via email) and the required arguments to the
|
||||
# SpamParams constructor are not otherwise available, spam_params: must be explicitly passed as nil.
|
||||
def initialize(project:, current_user: nil, params: {}, spam_params:)
|
||||
# Temporary check to ensure we are no longer passing request in params now that we have
|
||||
# introduced spam_params. Raise an exception if it is present.
|
||||
# Remove after https://gitlab.com/gitlab-org/gitlab/-/merge_requests/58603 is complete.
|
||||
raise if params[:request]
|
||||
|
||||
super(project: project, current_user: current_user, params: params)
|
||||
@spam_params = spam_params
|
||||
end
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
= render 'shared/global_alert',
|
||||
variant: :warning,
|
||||
alert_class: 'js-recovery-settings-callout',
|
||||
alert_data: { feature_id: 'account_recovery_regular_check', dismiss_endpoint: user_callouts_path, defer_links: 'true' } do
|
||||
alert_data: { feature_id: 'account_recovery_regular_check', dismiss_endpoint: user_callouts_path, defer_links: 'true' },
|
||||
close_button_data: { testid: 'close-account-recovery-regular-check-callout' } do
|
||||
.gl-alert-body
|
||||
= s_('Profiles|We recommend you ensure two-factor authentication is enabled and the settings are up to date.')
|
||||
= link_to _('Learn more.'), help_page_path('user/profile/account/two_factor_authentication'), target: '_blank', rel: 'noopener noreferrer'
|
||||
= s_('Profiles|Ensure you have two-factor authentication recovery codes stored in a safe place.')
|
||||
= link_to _('Learn more.'), help_page_path('user/profile/account/two_factor_authentication', anchor: 'recovery-codes'), target: '_blank', rel: 'noopener noreferrer'
|
||||
.gl-alert-actions
|
||||
= link_to profile_two_factor_auth_path, class: 'deferred-link btn gl-alert-action btn-confirm btn-md gl-button' do
|
||||
= s_('Profiles|Manage two-factor authentication')
|
||||
|
|
|
@ -51,7 +51,7 @@ Returns [`CiConfig`](#ciconfig).
|
|||
| ---- | ---- | ----------- |
|
||||
| <a id="queryciconfigcontent"></a>`content` | [`String!`](#string) | Contents of `.gitlab-ci.yml`. |
|
||||
| <a id="queryciconfigdryrun"></a>`dryRun` | [`Boolean`](#boolean) | Run pipeline creation simulation, or only do static check. |
|
||||
| <a id="queryciconfigprojectpath"></a>`projectPath` | [`ID!`](#id) | The project of the CI config. |
|
||||
| <a id="queryciconfigprojectpath"></a>`projectPath` | [`ID!`](#id) | Project of the CI config. |
|
||||
| <a id="queryciconfigsha"></a>`sha` | [`String`](#string) | Sha for the pipeline. |
|
||||
|
||||
### `Query.ciMinutesUsage`
|
||||
|
@ -144,7 +144,7 @@ Returns [`Group`](#group).
|
|||
|
||||
| Name | Type | Description |
|
||||
| ---- | ---- | ----------- |
|
||||
| <a id="querygroupfullpath"></a>`fullPath` | [`ID!`](#id) | The full path of the project, group or namespace, e.g., `gitlab-org/gitlab-foss`. |
|
||||
| <a id="querygroupfullpath"></a>`fullPath` | [`ID!`](#id) | Full path of the project, group, or namespace. For example, `gitlab-org/gitlab-foss`. |
|
||||
|
||||
### `Query.instanceSecurityDashboard`
|
||||
|
||||
|
@ -171,7 +171,7 @@ four standard [pagination arguments](#connection-pagination-arguments):
|
|||
|
||||
| Name | Type | Description |
|
||||
| ---- | ---- | ----------- |
|
||||
| <a id="queryinstancestatisticsmeasurementsidentifier"></a>`identifier` | [`MeasurementIdentifier!`](#measurementidentifier) | The type of measurement/statistics to retrieve. |
|
||||
| <a id="queryinstancestatisticsmeasurementsidentifier"></a>`identifier` | [`MeasurementIdentifier!`](#measurementidentifier) | Type of measurement or statistics to retrieve. |
|
||||
| <a id="queryinstancestatisticsmeasurementsrecordedafter"></a>`recordedAfter` | [`Time`](#time) | Measurement recorded after this date. |
|
||||
| <a id="queryinstancestatisticsmeasurementsrecordedbefore"></a>`recordedBefore` | [`Time`](#time) | Measurement recorded before this date. |
|
||||
|
||||
|
@ -249,7 +249,7 @@ Returns [`Namespace`](#namespace).
|
|||
|
||||
| Name | Type | Description |
|
||||
| ---- | ---- | ----------- |
|
||||
| <a id="querynamespacefullpath"></a>`fullPath` | [`ID!`](#id) | The full path of the project, group or namespace, e.g., `gitlab-org/gitlab-foss`. |
|
||||
| <a id="querynamespacefullpath"></a>`fullPath` | [`ID!`](#id) | Full path of the project, group, or namespace. For example, `gitlab-org/gitlab-foss`. |
|
||||
|
||||
### `Query.package`
|
||||
|
||||
|
@ -273,7 +273,7 @@ Returns [`Project`](#project).
|
|||
|
||||
| Name | Type | Description |
|
||||
| ---- | ---- | ----------- |
|
||||
| <a id="queryprojectfullpath"></a>`fullPath` | [`ID!`](#id) | The full path of the project, group or namespace, e.g., `gitlab-org/gitlab-foss`. |
|
||||
| <a id="queryprojectfullpath"></a>`fullPath` | [`ID!`](#id) | Full path of the project, group, or namespace. For example, `gitlab-org/gitlab-foss`. |
|
||||
|
||||
### `Query.projects`
|
||||
|
||||
|
@ -378,7 +378,7 @@ four standard [pagination arguments](#connection-pagination-arguments):
|
|||
| <a id="querysnippetsids"></a>`ids` | [`[SnippetID!]`](#snippetid) | Array of global snippet IDs. For example, `gid://gitlab/ProjectSnippet/1`. |
|
||||
| <a id="querysnippetsprojectid"></a>`projectId` | [`ProjectID`](#projectid) | The ID of a project. |
|
||||
| <a id="querysnippetstype"></a>`type` | [`TypeEnum`](#typeenum) | The type of snippet. |
|
||||
| <a id="querysnippetsvisibility"></a>`visibility` | [`VisibilityScopesEnum`](#visibilityscopesenum) | The visibility of the snippet. |
|
||||
| <a id="querysnippetsvisibility"></a>`visibility` | [`VisibilityScopesEnum`](#visibilityscopesenum) | Visibility of the snippet. |
|
||||
|
||||
### `Query.timelogs`
|
||||
|
||||
|
@ -416,7 +416,7 @@ four standard [pagination arguments](#connection-pagination-arguments):
|
|||
|
||||
| Name | Type | Description |
|
||||
| ---- | ---- | ----------- |
|
||||
| <a id="queryusagetrendsmeasurementsidentifier"></a>`identifier` | [`MeasurementIdentifier!`](#measurementidentifier) | The type of measurement/statistics to retrieve. |
|
||||
| <a id="queryusagetrendsmeasurementsidentifier"></a>`identifier` | [`MeasurementIdentifier!`](#measurementidentifier) | Type of measurement or statistics to retrieve. |
|
||||
| <a id="queryusagetrendsmeasurementsrecordedafter"></a>`recordedAfter` | [`Time`](#time) | Measurement recorded after this date. |
|
||||
| <a id="queryusagetrendsmeasurementsrecordedbefore"></a>`recordedBefore` | [`Time`](#time) | Measurement recorded before this date. |
|
||||
|
||||
|
@ -1184,8 +1184,8 @@ Input type: `CreateDiffNoteInput`
|
|||
| ---- | ---- | ----------- |
|
||||
| <a id="mutationcreatediffnotebody"></a>`body` | [`String!`](#string) | Content of the note. |
|
||||
| <a id="mutationcreatediffnoteclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
|
||||
| <a id="mutationcreatediffnoteconfidential"></a>`confidential` | [`Boolean`](#boolean) | The confidentiality flag of a note. Default is false. |
|
||||
| <a id="mutationcreatediffnotenoteableid"></a>`noteableId` | [`NoteableID!`](#noteableid) | The global ID of the resource to add a note to. |
|
||||
| <a id="mutationcreatediffnoteconfidential"></a>`confidential` | [`Boolean`](#boolean) | Confidentiality flag of a note. Default is false. |
|
||||
| <a id="mutationcreatediffnotenoteableid"></a>`noteableId` | [`NoteableID!`](#noteableid) | Global ID of the resource to add a note to. |
|
||||
| <a id="mutationcreatediffnoteposition"></a>`position` | [`DiffPositionInput!`](#diffpositioninput) | The position of this note on a diff. |
|
||||
|
||||
#### Fields
|
||||
|
@ -1194,7 +1194,7 @@ Input type: `CreateDiffNoteInput`
|
|||
| ---- | ---- | ----------- |
|
||||
| <a id="mutationcreatediffnoteclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
|
||||
| <a id="mutationcreatediffnoteerrors"></a>`errors` | [`[String!]!`](#string) | Errors encountered during execution of the mutation. |
|
||||
| <a id="mutationcreatediffnotenote"></a>`note` | [`Note`](#note) | The note after mutation. |
|
||||
| <a id="mutationcreatediffnotenote"></a>`note` | [`Note`](#note) | Note after mutation. |
|
||||
|
||||
### `Mutation.createEpic`
|
||||
|
||||
|
@ -1234,8 +1234,8 @@ Input type: `CreateImageDiffNoteInput`
|
|||
| ---- | ---- | ----------- |
|
||||
| <a id="mutationcreateimagediffnotebody"></a>`body` | [`String!`](#string) | Content of the note. |
|
||||
| <a id="mutationcreateimagediffnoteclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
|
||||
| <a id="mutationcreateimagediffnoteconfidential"></a>`confidential` | [`Boolean`](#boolean) | The confidentiality flag of a note. Default is false. |
|
||||
| <a id="mutationcreateimagediffnotenoteableid"></a>`noteableId` | [`NoteableID!`](#noteableid) | The global ID of the resource to add a note to. |
|
||||
| <a id="mutationcreateimagediffnoteconfidential"></a>`confidential` | [`Boolean`](#boolean) | Confidentiality flag of a note. Default is false. |
|
||||
| <a id="mutationcreateimagediffnotenoteableid"></a>`noteableId` | [`NoteableID!`](#noteableid) | Global ID of the resource to add a note to. |
|
||||
| <a id="mutationcreateimagediffnoteposition"></a>`position` | [`DiffImagePositionInput!`](#diffimagepositioninput) | The position of this note on a diff. |
|
||||
|
||||
#### Fields
|
||||
|
@ -1244,7 +1244,7 @@ Input type: `CreateImageDiffNoteInput`
|
|||
| ---- | ---- | ----------- |
|
||||
| <a id="mutationcreateimagediffnoteclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
|
||||
| <a id="mutationcreateimagediffnoteerrors"></a>`errors` | [`[String!]!`](#string) | Errors encountered during execution of the mutation. |
|
||||
| <a id="mutationcreateimagediffnotenote"></a>`note` | [`Note`](#note) | The note after mutation. |
|
||||
| <a id="mutationcreateimagediffnotenote"></a>`note` | [`Note`](#note) | Note after mutation. |
|
||||
|
||||
### `Mutation.createIssue`
|
||||
|
||||
|
@ -1321,9 +1321,9 @@ Input type: `CreateNoteInput`
|
|||
| ---- | ---- | ----------- |
|
||||
| <a id="mutationcreatenotebody"></a>`body` | [`String!`](#string) | Content of the note. |
|
||||
| <a id="mutationcreatenoteclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
|
||||
| <a id="mutationcreatenoteconfidential"></a>`confidential` | [`Boolean`](#boolean) | The confidentiality flag of a note. Default is false. |
|
||||
| <a id="mutationcreatenotediscussionid"></a>`discussionId` | [`DiscussionID`](#discussionid) | The global ID of the discussion this note is in reply to. |
|
||||
| <a id="mutationcreatenotenoteableid"></a>`noteableId` | [`NoteableID!`](#noteableid) | The global ID of the resource to add a note to. |
|
||||
| <a id="mutationcreatenoteconfidential"></a>`confidential` | [`Boolean`](#boolean) | Confidentiality flag of a note. Default is false. |
|
||||
| <a id="mutationcreatenotediscussionid"></a>`discussionId` | [`DiscussionID`](#discussionid) | Global ID of the discussion this note is in reply to. |
|
||||
| <a id="mutationcreatenotenoteableid"></a>`noteableId` | [`NoteableID!`](#noteableid) | Global ID of the resource to add a note to. |
|
||||
|
||||
#### Fields
|
||||
|
||||
|
@ -1331,7 +1331,7 @@ Input type: `CreateNoteInput`
|
|||
| ---- | ---- | ----------- |
|
||||
| <a id="mutationcreatenoteclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
|
||||
| <a id="mutationcreatenoteerrors"></a>`errors` | [`[String!]!`](#string) | Errors encountered during execution of the mutation. |
|
||||
| <a id="mutationcreatenotenote"></a>`note` | [`Note`](#note) | The note after mutation. |
|
||||
| <a id="mutationcreatenotenote"></a>`note` | [`Note`](#note) | Note after mutation. |
|
||||
|
||||
### `Mutation.createRequirement`
|
||||
|
||||
|
@ -1366,11 +1366,11 @@ Input type: `CreateSnippetInput`
|
|||
| <a id="mutationcreatesnippetcaptcharesponse"></a>`captchaResponse` **{warning-solid}** | [`String`](#string) | **Deprecated:** Use spam protection with HTTP headers instead. Deprecated in 13.11. |
|
||||
| <a id="mutationcreatesnippetclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
|
||||
| <a id="mutationcreatesnippetdescription"></a>`description` | [`String`](#string) | Description of the snippet. |
|
||||
| <a id="mutationcreatesnippetprojectpath"></a>`projectPath` | [`ID`](#id) | The project full path the snippet is associated with. |
|
||||
| <a id="mutationcreatesnippetprojectpath"></a>`projectPath` | [`ID`](#id) | Full path of the project the snippet is associated with. |
|
||||
| <a id="mutationcreatesnippetspamlogid"></a>`spamLogId` **{warning-solid}** | [`Int`](#int) | **Deprecated:** Use spam protection with HTTP headers instead. Deprecated in 13.11. |
|
||||
| <a id="mutationcreatesnippettitle"></a>`title` | [`String!`](#string) | Title of the snippet. |
|
||||
| <a id="mutationcreatesnippetuploadedfiles"></a>`uploadedFiles` | [`[String!]`](#string) | The paths to files uploaded in the snippet description. |
|
||||
| <a id="mutationcreatesnippetvisibilitylevel"></a>`visibilityLevel` | [`VisibilityLevelsEnum!`](#visibilitylevelsenum) | The visibility level of the snippet. |
|
||||
| <a id="mutationcreatesnippetuploadedfiles"></a>`uploadedFiles` | [`[String!]`](#string) | Paths to files uploaded in the snippet description. |
|
||||
| <a id="mutationcreatesnippetvisibilitylevel"></a>`visibilityLevel` | [`VisibilityLevelsEnum!`](#visibilitylevelsenum) | Visibility level of the snippet. |
|
||||
|
||||
#### Fields
|
||||
|
||||
|
@ -1380,7 +1380,7 @@ Input type: `CreateSnippetInput`
|
|||
| <a id="mutationcreatesnippetclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
|
||||
| <a id="mutationcreatesnippeterrors"></a>`errors` | [`[String!]!`](#string) | Errors encountered during execution of the mutation. |
|
||||
| <a id="mutationcreatesnippetneedscaptcharesponse"></a>`needsCaptchaResponse` **{warning-solid}** | [`Boolean`](#boolean) | **Deprecated:** Use spam protection with HTTP headers instead. Deprecated in 13.11. |
|
||||
| <a id="mutationcreatesnippetsnippet"></a>`snippet` | [`Snippet`](#snippet) | The snippet after mutation. |
|
||||
| <a id="mutationcreatesnippetsnippet"></a>`snippet` | [`Snippet`](#snippet) | Snippet after mutation. |
|
||||
| <a id="mutationcreatesnippetspam"></a>`spam` **{warning-solid}** | [`Boolean`](#boolean) | **Deprecated:** Use spam protection with HTTP headers instead. Deprecated in 13.11. |
|
||||
| <a id="mutationcreatesnippetspamlogid"></a>`spamLogId` **{warning-solid}** | [`Int`](#int) | **Deprecated:** Use spam protection with HTTP headers instead. Deprecated in 13.11. |
|
||||
|
||||
|
@ -1927,7 +1927,7 @@ Input type: `DestroyNoteInput`
|
|||
| Name | Type | Description |
|
||||
| ---- | ---- | ----------- |
|
||||
| <a id="mutationdestroynoteclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
|
||||
| <a id="mutationdestroynoteid"></a>`id` | [`NoteID!`](#noteid) | The global ID of the note to destroy. |
|
||||
| <a id="mutationdestroynoteid"></a>`id` | [`NoteID!`](#noteid) | Global ID of the note to destroy. |
|
||||
|
||||
#### Fields
|
||||
|
||||
|
@ -1935,7 +1935,7 @@ Input type: `DestroyNoteInput`
|
|||
| ---- | ---- | ----------- |
|
||||
| <a id="mutationdestroynoteclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
|
||||
| <a id="mutationdestroynoteerrors"></a>`errors` | [`[String!]!`](#string) | Errors encountered during execution of the mutation. |
|
||||
| <a id="mutationdestroynotenote"></a>`note` | [`Note`](#note) | The note after mutation. |
|
||||
| <a id="mutationdestroynotenote"></a>`note` | [`Note`](#note) | Note after mutation. |
|
||||
|
||||
### `Mutation.destroyPackage`
|
||||
|
||||
|
@ -1982,7 +1982,7 @@ Input type: `DestroySnippetInput`
|
|||
| Name | Type | Description |
|
||||
| ---- | ---- | ----------- |
|
||||
| <a id="mutationdestroysnippetclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
|
||||
| <a id="mutationdestroysnippetid"></a>`id` | [`SnippetID!`](#snippetid) | The global ID of the snippet to destroy. |
|
||||
| <a id="mutationdestroysnippetid"></a>`id` | [`SnippetID!`](#snippetid) | Global ID of the snippet to destroy. |
|
||||
|
||||
#### Fields
|
||||
|
||||
|
@ -1990,7 +1990,7 @@ Input type: `DestroySnippetInput`
|
|||
| ---- | ---- | ----------- |
|
||||
| <a id="mutationdestroysnippetclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
|
||||
| <a id="mutationdestroysnippeterrors"></a>`errors` | [`[String!]!`](#string) | Errors encountered during execution of the mutation. |
|
||||
| <a id="mutationdestroysnippetsnippet"></a>`snippet` | [`Snippet`](#snippet) | The snippet after mutation. |
|
||||
| <a id="mutationdestroysnippetsnippet"></a>`snippet` | [`Snippet`](#snippet) | Snippet after mutation. |
|
||||
|
||||
### `Mutation.disableDevopsAdoptionNamespace`
|
||||
|
||||
|
@ -2952,7 +2952,7 @@ Input type: `MarkAsSpamSnippetInput`
|
|||
| Name | Type | Description |
|
||||
| ---- | ---- | ----------- |
|
||||
| <a id="mutationmarkasspamsnippetclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
|
||||
| <a id="mutationmarkasspamsnippetid"></a>`id` | [`SnippetID!`](#snippetid) | The global ID of the snippet to update. |
|
||||
| <a id="mutationmarkasspamsnippetid"></a>`id` | [`SnippetID!`](#snippetid) | Global ID of the snippet to update. |
|
||||
|
||||
#### Fields
|
||||
|
||||
|
@ -2960,7 +2960,7 @@ Input type: `MarkAsSpamSnippetInput`
|
|||
| ---- | ---- | ----------- |
|
||||
| <a id="mutationmarkasspamsnippetclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
|
||||
| <a id="mutationmarkasspamsnippeterrors"></a>`errors` | [`[String!]!`](#string) | Errors encountered during execution of the mutation. |
|
||||
| <a id="mutationmarkasspamsnippetsnippet"></a>`snippet` | [`Snippet`](#snippet) | The snippet after mutation. |
|
||||
| <a id="mutationmarkasspamsnippetsnippet"></a>`snippet` | [`Snippet`](#snippet) | Snippet after mutation. |
|
||||
|
||||
### `Mutation.mergeRequestAccept`
|
||||
|
||||
|
@ -3575,7 +3575,7 @@ Input type: `ReleaseAssetLinkCreateInput`
|
|||
| ---- | ---- | ----------- |
|
||||
| <a id="mutationreleaseassetlinkcreateclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
|
||||
| <a id="mutationreleaseassetlinkcreateerrors"></a>`errors` | [`[String!]!`](#string) | Errors encountered during execution of the mutation. |
|
||||
| <a id="mutationreleaseassetlinkcreatelink"></a>`link` | [`ReleaseAssetLink`](#releaseassetlink) | The asset link after mutation. |
|
||||
| <a id="mutationreleaseassetlinkcreatelink"></a>`link` | [`ReleaseAssetLink`](#releaseassetlink) | Asset link after mutation. |
|
||||
|
||||
### `Mutation.releaseAssetLinkDelete`
|
||||
|
||||
|
@ -3594,7 +3594,7 @@ Input type: `ReleaseAssetLinkDeleteInput`
|
|||
| ---- | ---- | ----------- |
|
||||
| <a id="mutationreleaseassetlinkdeleteclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
|
||||
| <a id="mutationreleaseassetlinkdeleteerrors"></a>`errors` | [`[String!]!`](#string) | Errors encountered during execution of the mutation. |
|
||||
| <a id="mutationreleaseassetlinkdeletelink"></a>`link` | [`ReleaseAssetLink`](#releaseassetlink) | The deleted release asset link. |
|
||||
| <a id="mutationreleaseassetlinkdeletelink"></a>`link` | [`ReleaseAssetLink`](#releaseassetlink) | Deleted release asset link. |
|
||||
|
||||
### `Mutation.releaseAssetLinkUpdate`
|
||||
|
||||
|
@ -3607,7 +3607,7 @@ Input type: `ReleaseAssetLinkUpdateInput`
|
|||
| <a id="mutationreleaseassetlinkupdateclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
|
||||
| <a id="mutationreleaseassetlinkupdatedirectassetpath"></a>`directAssetPath` | [`String`](#string) | Relative path for a direct asset link. |
|
||||
| <a id="mutationreleaseassetlinkupdateid"></a>`id` | [`ReleasesLinkID!`](#releaseslinkid) | ID of the release asset link to update. |
|
||||
| <a id="mutationreleaseassetlinkupdatelinktype"></a>`linkType` | [`ReleaseAssetLinkType`](#releaseassetlinktype) | The type of the asset link. |
|
||||
| <a id="mutationreleaseassetlinkupdatelinktype"></a>`linkType` | [`ReleaseAssetLinkType`](#releaseassetlinktype) | Type of the asset link. |
|
||||
| <a id="mutationreleaseassetlinkupdatename"></a>`name` | [`String`](#string) | Name of the asset link. |
|
||||
| <a id="mutationreleaseassetlinkupdateurl"></a>`url` | [`String`](#string) | URL of the asset link. |
|
||||
|
||||
|
@ -3617,7 +3617,7 @@ Input type: `ReleaseAssetLinkUpdateInput`
|
|||
| ---- | ---- | ----------- |
|
||||
| <a id="mutationreleaseassetlinkupdateclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
|
||||
| <a id="mutationreleaseassetlinkupdateerrors"></a>`errors` | [`[String!]!`](#string) | Errors encountered during execution of the mutation. |
|
||||
| <a id="mutationreleaseassetlinkupdatelink"></a>`link` | [`ReleaseAssetLink`](#releaseassetlink) | The asset link after mutation. |
|
||||
| <a id="mutationreleaseassetlinkupdatelink"></a>`link` | [`ReleaseAssetLink`](#releaseassetlink) | Asset link after mutation. |
|
||||
|
||||
### `Mutation.releaseCreate`
|
||||
|
||||
|
@ -3630,11 +3630,11 @@ Input type: `ReleaseCreateInput`
|
|||
| <a id="mutationreleasecreateassets"></a>`assets` | [`ReleaseAssetsInput`](#releaseassetsinput) | Assets associated to the release. |
|
||||
| <a id="mutationreleasecreateclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
|
||||
| <a id="mutationreleasecreatedescription"></a>`description` | [`String`](#string) | Description (also known as "release notes") of the release. |
|
||||
| <a id="mutationreleasecreatemilestones"></a>`milestones` | [`[String!]`](#string) | The title of each milestone the release is associated with. GitLab Premium customers can specify group milestones. |
|
||||
| <a id="mutationreleasecreatemilestones"></a>`milestones` | [`[String!]`](#string) | Title of each milestone the release is associated with. GitLab Premium customers can specify group milestones. |
|
||||
| <a id="mutationreleasecreatename"></a>`name` | [`String`](#string) | Name of the release. |
|
||||
| <a id="mutationreleasecreateprojectpath"></a>`projectPath` | [`ID!`](#id) | Full path of the project the release is associated with. |
|
||||
| <a id="mutationreleasecreateref"></a>`ref` | [`String`](#string) | The commit SHA or branch name to use if creating a new tag. |
|
||||
| <a id="mutationreleasecreatereleasedat"></a>`releasedAt` | [`Time`](#time) | The date when the release will be/was ready. Defaults to the current time. |
|
||||
| <a id="mutationreleasecreateref"></a>`ref` | [`String`](#string) | Commit SHA or branch name to use if creating a new tag. |
|
||||
| <a id="mutationreleasecreatereleasedat"></a>`releasedAt` | [`Time`](#time) | Date and time for the release. Defaults to the current date and time. |
|
||||
| <a id="mutationreleasecreatetagname"></a>`tagName` | [`String!`](#string) | Name of the tag to associate with the release. |
|
||||
|
||||
#### Fields
|
||||
|
@ -3643,7 +3643,7 @@ Input type: `ReleaseCreateInput`
|
|||
| ---- | ---- | ----------- |
|
||||
| <a id="mutationreleasecreateclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
|
||||
| <a id="mutationreleasecreateerrors"></a>`errors` | [`[String!]!`](#string) | Errors encountered during execution of the mutation. |
|
||||
| <a id="mutationreleasecreaterelease"></a>`release` | [`Release`](#release) | The release after mutation. |
|
||||
| <a id="mutationreleasecreaterelease"></a>`release` | [`Release`](#release) | Release after mutation. |
|
||||
|
||||
### `Mutation.releaseDelete`
|
||||
|
||||
|
@ -3663,7 +3663,7 @@ Input type: `ReleaseDeleteInput`
|
|||
| ---- | ---- | ----------- |
|
||||
| <a id="mutationreleasedeleteclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
|
||||
| <a id="mutationreleasedeleteerrors"></a>`errors` | [`[String!]!`](#string) | Errors encountered during execution of the mutation. |
|
||||
| <a id="mutationreleasedeleterelease"></a>`release` | [`Release`](#release) | The deleted release. |
|
||||
| <a id="mutationreleasedeleterelease"></a>`release` | [`Release`](#release) | Deleted release. |
|
||||
|
||||
### `Mutation.releaseUpdate`
|
||||
|
||||
|
@ -3675,10 +3675,10 @@ Input type: `ReleaseUpdateInput`
|
|||
| ---- | ---- | ----------- |
|
||||
| <a id="mutationreleaseupdateclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
|
||||
| <a id="mutationreleaseupdatedescription"></a>`description` | [`String`](#string) | Description (release notes) of the release. |
|
||||
| <a id="mutationreleaseupdatemilestones"></a>`milestones` | [`[String!]`](#string) | The title of each milestone the release is associated with. GitLab Premium customers can specify group milestones. |
|
||||
| <a id="mutationreleaseupdatemilestones"></a>`milestones` | [`[String!]`](#string) | Title of each milestone the release is associated with. GitLab Premium customers can specify group milestones. |
|
||||
| <a id="mutationreleaseupdatename"></a>`name` | [`String`](#string) | Name of the release. |
|
||||
| <a id="mutationreleaseupdateprojectpath"></a>`projectPath` | [`ID!`](#id) | Full path of the project the release is associated with. |
|
||||
| <a id="mutationreleaseupdatereleasedat"></a>`releasedAt` | [`Time`](#time) | The release date. |
|
||||
| <a id="mutationreleaseupdatereleasedat"></a>`releasedAt` | [`Time`](#time) | Release date. |
|
||||
| <a id="mutationreleaseupdatetagname"></a>`tagName` | [`String!`](#string) | Name of the tag associated with the release. |
|
||||
|
||||
#### Fields
|
||||
|
@ -3687,7 +3687,7 @@ Input type: `ReleaseUpdateInput`
|
|||
| ---- | ---- | ----------- |
|
||||
| <a id="mutationreleaseupdateclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
|
||||
| <a id="mutationreleaseupdateerrors"></a>`errors` | [`[String!]!`](#string) | Errors encountered during execution of the mutation. |
|
||||
| <a id="mutationreleaseupdaterelease"></a>`release` | [`Release`](#release) | The release after mutation. |
|
||||
| <a id="mutationreleaseupdaterelease"></a>`release` | [`Release`](#release) | Release after mutation. |
|
||||
|
||||
### `Mutation.removeProjectFromSecurityDashboard`
|
||||
|
||||
|
@ -3718,7 +3718,7 @@ Input type: `RepositionImageDiffNoteInput`
|
|||
| Name | Type | Description |
|
||||
| ---- | ---- | ----------- |
|
||||
| <a id="mutationrepositionimagediffnoteclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
|
||||
| <a id="mutationrepositionimagediffnoteid"></a>`id` | [`DiffNoteID!`](#diffnoteid) | The global ID of the DiffNote to update. |
|
||||
| <a id="mutationrepositionimagediffnoteid"></a>`id` | [`DiffNoteID!`](#diffnoteid) | Global ID of the DiffNote to update. |
|
||||
| <a id="mutationrepositionimagediffnoteposition"></a>`position` | [`UpdateDiffImagePositionInput!`](#updatediffimagepositioninput) | The position of this note on a diff. |
|
||||
|
||||
#### Fields
|
||||
|
@ -3727,7 +3727,7 @@ Input type: `RepositionImageDiffNoteInput`
|
|||
| ---- | ---- | ----------- |
|
||||
| <a id="mutationrepositionimagediffnoteclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
|
||||
| <a id="mutationrepositionimagediffnoteerrors"></a>`errors` | [`[String!]!`](#string) | Errors encountered during execution of the mutation. |
|
||||
| <a id="mutationrepositionimagediffnotenote"></a>`note` | [`Note`](#note) | The note after mutation. |
|
||||
| <a id="mutationrepositionimagediffnotenote"></a>`note` | [`Note`](#note) | Note after mutation. |
|
||||
|
||||
### `Mutation.runnerDelete`
|
||||
|
||||
|
@ -3923,7 +3923,7 @@ Input type: `TodoCreateInput`
|
|||
| Name | Type | Description |
|
||||
| ---- | ---- | ----------- |
|
||||
| <a id="mutationtodocreateclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
|
||||
| <a id="mutationtodocreatetargetid"></a>`targetId` | [`TodoableID!`](#todoableid) | The global ID of the to-do item's parent. Issues, merge requests, designs and epics are supported. |
|
||||
| <a id="mutationtodocreatetargetid"></a>`targetId` | [`TodoableID!`](#todoableid) | Global ID of the to-do item's parent. Issues, merge requests, designs, and epics are supported. |
|
||||
|
||||
#### Fields
|
||||
|
||||
|
@ -3931,7 +3931,7 @@ Input type: `TodoCreateInput`
|
|||
| ---- | ---- | ----------- |
|
||||
| <a id="mutationtodocreateclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
|
||||
| <a id="mutationtodocreateerrors"></a>`errors` | [`[String!]!`](#string) | Errors encountered during execution of the mutation. |
|
||||
| <a id="mutationtodocreatetodo"></a>`todo` | [`Todo`](#todo) | The to-do item created. |
|
||||
| <a id="mutationtodocreatetodo"></a>`todo` | [`Todo`](#todo) | To-do item created. |
|
||||
|
||||
### `Mutation.todoMarkDone`
|
||||
|
||||
|
@ -3942,7 +3942,7 @@ Input type: `TodoMarkDoneInput`
|
|||
| Name | Type | Description |
|
||||
| ---- | ---- | ----------- |
|
||||
| <a id="mutationtodomarkdoneclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
|
||||
| <a id="mutationtodomarkdoneid"></a>`id` | [`TodoID!`](#todoid) | The global ID of the to-do item to mark as done. |
|
||||
| <a id="mutationtodomarkdoneid"></a>`id` | [`TodoID!`](#todoid) | Global ID of the to-do item to mark as done. |
|
||||
|
||||
#### Fields
|
||||
|
||||
|
@ -3950,7 +3950,7 @@ Input type: `TodoMarkDoneInput`
|
|||
| ---- | ---- | ----------- |
|
||||
| <a id="mutationtodomarkdoneclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
|
||||
| <a id="mutationtodomarkdoneerrors"></a>`errors` | [`[String!]!`](#string) | Errors encountered during execution of the mutation. |
|
||||
| <a id="mutationtodomarkdonetodo"></a>`todo` | [`Todo!`](#todo) | The requested to-do item. |
|
||||
| <a id="mutationtodomarkdonetodo"></a>`todo` | [`Todo!`](#todo) | Requested to-do item. |
|
||||
|
||||
### `Mutation.todoRestore`
|
||||
|
||||
|
@ -3961,7 +3961,7 @@ Input type: `TodoRestoreInput`
|
|||
| Name | Type | Description |
|
||||
| ---- | ---- | ----------- |
|
||||
| <a id="mutationtodorestoreclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
|
||||
| <a id="mutationtodorestoreid"></a>`id` | [`TodoID!`](#todoid) | The global ID of the to-do item to restore. |
|
||||
| <a id="mutationtodorestoreid"></a>`id` | [`TodoID!`](#todoid) | Global ID of the to-do item to restore. |
|
||||
|
||||
#### Fields
|
||||
|
||||
|
@ -3969,7 +3969,7 @@ Input type: `TodoRestoreInput`
|
|||
| ---- | ---- | ----------- |
|
||||
| <a id="mutationtodorestoreclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
|
||||
| <a id="mutationtodorestoreerrors"></a>`errors` | [`[String!]!`](#string) | Errors encountered during execution of the mutation. |
|
||||
| <a id="mutationtodorestoretodo"></a>`todo` | [`Todo!`](#todo) | The requested to-do item. |
|
||||
| <a id="mutationtodorestoretodo"></a>`todo` | [`Todo!`](#todo) | Requested to-do item. |
|
||||
|
||||
### `Mutation.todoRestoreMany`
|
||||
|
||||
|
@ -3980,7 +3980,7 @@ Input type: `TodoRestoreManyInput`
|
|||
| Name | Type | Description |
|
||||
| ---- | ---- | ----------- |
|
||||
| <a id="mutationtodorestoremanyclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
|
||||
| <a id="mutationtodorestoremanyids"></a>`ids` | [`[TodoID!]!`](#todoid) | The global IDs of the to-do items to restore (a maximum of 50 is supported at once). |
|
||||
| <a id="mutationtodorestoremanyids"></a>`ids` | [`[TodoID!]!`](#todoid) | Global IDs of the to-do items to restore (a maximum of 50 is supported at once). |
|
||||
|
||||
#### Fields
|
||||
|
||||
|
@ -4212,7 +4212,7 @@ Input type: `UpdateImageDiffNoteInput`
|
|||
| ---- | ---- | ----------- |
|
||||
| <a id="mutationupdateimagediffnotebody"></a>`body` | [`String`](#string) | Content of the note. |
|
||||
| <a id="mutationupdateimagediffnoteclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
|
||||
| <a id="mutationupdateimagediffnoteid"></a>`id` | [`NoteID!`](#noteid) | The global ID of the note to update. |
|
||||
| <a id="mutationupdateimagediffnoteid"></a>`id` | [`NoteID!`](#noteid) | Global ID of the note to update. |
|
||||
| <a id="mutationupdateimagediffnoteposition"></a>`position` | [`UpdateDiffImagePositionInput`](#updatediffimagepositioninput) | The position of this note on a diff. |
|
||||
|
||||
#### Fields
|
||||
|
@ -4221,7 +4221,7 @@ Input type: `UpdateImageDiffNoteInput`
|
|||
| ---- | ---- | ----------- |
|
||||
| <a id="mutationupdateimagediffnoteclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
|
||||
| <a id="mutationupdateimagediffnoteerrors"></a>`errors` | [`[String!]!`](#string) | Errors encountered during execution of the mutation. |
|
||||
| <a id="mutationupdateimagediffnotenote"></a>`note` | [`Note`](#note) | The note after mutation. |
|
||||
| <a id="mutationupdateimagediffnotenote"></a>`note` | [`Note`](#note) | Note after mutation. |
|
||||
|
||||
### `Mutation.updateIssue`
|
||||
|
||||
|
@ -4319,8 +4319,8 @@ Input type: `UpdateNoteInput`
|
|||
| ---- | ---- | ----------- |
|
||||
| <a id="mutationupdatenotebody"></a>`body` | [`String`](#string) | Content of the note. |
|
||||
| <a id="mutationupdatenoteclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
|
||||
| <a id="mutationupdatenoteconfidential"></a>`confidential` | [`Boolean`](#boolean) | The confidentiality flag of a note. Default is false. |
|
||||
| <a id="mutationupdatenoteid"></a>`id` | [`NoteID!`](#noteid) | The global ID of the note to update. |
|
||||
| <a id="mutationupdatenoteconfidential"></a>`confidential` | [`Boolean`](#boolean) | Confidentiality flag of a note. Default is false. |
|
||||
| <a id="mutationupdatenoteid"></a>`id` | [`NoteID!`](#noteid) | Global ID of the note to update. |
|
||||
|
||||
#### Fields
|
||||
|
||||
|
@ -4328,7 +4328,7 @@ Input type: `UpdateNoteInput`
|
|||
| ---- | ---- | ----------- |
|
||||
| <a id="mutationupdatenoteclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
|
||||
| <a id="mutationupdatenoteerrors"></a>`errors` | [`[String!]!`](#string) | Errors encountered during execution of the mutation. |
|
||||
| <a id="mutationupdatenotenote"></a>`note` | [`Note`](#note) | The note after mutation. |
|
||||
| <a id="mutationupdatenotenote"></a>`note` | [`Note`](#note) | Note after mutation. |
|
||||
|
||||
### `Mutation.updateRequirement`
|
||||
|
||||
|
@ -4366,10 +4366,10 @@ Input type: `UpdateSnippetInput`
|
|||
| <a id="mutationupdatesnippetcaptcharesponse"></a>`captchaResponse` **{warning-solid}** | [`String`](#string) | **Deprecated:** Use spam protection with HTTP headers instead. Deprecated in 13.11. |
|
||||
| <a id="mutationupdatesnippetclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
|
||||
| <a id="mutationupdatesnippetdescription"></a>`description` | [`String`](#string) | Description of the snippet. |
|
||||
| <a id="mutationupdatesnippetid"></a>`id` | [`SnippetID!`](#snippetid) | The global ID of the snippet to update. |
|
||||
| <a id="mutationupdatesnippetid"></a>`id` | [`SnippetID!`](#snippetid) | Global ID of the snippet to update. |
|
||||
| <a id="mutationupdatesnippetspamlogid"></a>`spamLogId` **{warning-solid}** | [`Int`](#int) | **Deprecated:** Use spam protection with HTTP headers instead. Deprecated in 13.11. |
|
||||
| <a id="mutationupdatesnippettitle"></a>`title` | [`String`](#string) | Title of the snippet. |
|
||||
| <a id="mutationupdatesnippetvisibilitylevel"></a>`visibilityLevel` | [`VisibilityLevelsEnum`](#visibilitylevelsenum) | The visibility level of the snippet. |
|
||||
| <a id="mutationupdatesnippetvisibilitylevel"></a>`visibilityLevel` | [`VisibilityLevelsEnum`](#visibilitylevelsenum) | Visibility level of the snippet. |
|
||||
|
||||
#### Fields
|
||||
|
||||
|
@ -4379,7 +4379,7 @@ Input type: `UpdateSnippetInput`
|
|||
| <a id="mutationupdatesnippetclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
|
||||
| <a id="mutationupdatesnippeterrors"></a>`errors` | [`[String!]!`](#string) | Errors encountered during execution of the mutation. |
|
||||
| <a id="mutationupdatesnippetneedscaptcharesponse"></a>`needsCaptchaResponse` **{warning-solid}** | [`Boolean`](#boolean) | **Deprecated:** Use spam protection with HTTP headers instead. Deprecated in 13.11. |
|
||||
| <a id="mutationupdatesnippetsnippet"></a>`snippet` | [`Snippet`](#snippet) | The snippet after mutation. |
|
||||
| <a id="mutationupdatesnippetsnippet"></a>`snippet` | [`Snippet`](#snippet) | Snippet after mutation. |
|
||||
| <a id="mutationupdatesnippetspam"></a>`spam` **{warning-solid}** | [`Boolean`](#boolean) | **Deprecated:** Use spam protection with HTTP headers instead. Deprecated in 13.11. |
|
||||
| <a id="mutationupdatesnippetspamlogid"></a>`spamLogId` **{warning-solid}** | [`Int`](#int) | **Deprecated:** Use spam protection with HTTP headers instead. Deprecated in 13.11. |
|
||||
|
||||
|
@ -4392,7 +4392,7 @@ Input type: `UserCalloutCreateInput`
|
|||
| Name | Type | Description |
|
||||
| ---- | ---- | ----------- |
|
||||
| <a id="mutationusercalloutcreateclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
|
||||
| <a id="mutationusercalloutcreatefeaturename"></a>`featureName` | [`String!`](#string) | The feature name you want to dismiss the callout for. |
|
||||
| <a id="mutationusercalloutcreatefeaturename"></a>`featureName` | [`String!`](#string) | Feature name you want to dismiss the callout for. |
|
||||
|
||||
#### Fields
|
||||
|
||||
|
@ -4400,7 +4400,7 @@ Input type: `UserCalloutCreateInput`
|
|||
| ---- | ---- | ----------- |
|
||||
| <a id="mutationusercalloutcreateclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
|
||||
| <a id="mutationusercalloutcreateerrors"></a>`errors` | [`[String!]!`](#string) | Errors encountered during execution of the mutation. |
|
||||
| <a id="mutationusercalloutcreateusercallout"></a>`userCallout` | [`UserCallout!`](#usercallout) | The user callout dismissed. |
|
||||
| <a id="mutationusercalloutcreateusercallout"></a>`userCallout` | [`UserCallout!`](#usercallout) | User callout dismissed. |
|
||||
|
||||
### `Mutation.vulnerabilityConfirm`
|
||||
|
||||
|
@ -8544,8 +8544,8 @@ four standard [pagination arguments](#connection-pagination-arguments):
|
|||
|
||||
| Name | Type | Description |
|
||||
| ---- | ---- | ----------- |
|
||||
| <a id="designversionsearlierorequaltoid"></a>`earlierOrEqualToId` | [`DesignManagementVersionID`](#designmanagementversionid) | The Global ID of the most recent acceptable version. |
|
||||
| <a id="designversionsearlierorequaltosha"></a>`earlierOrEqualToSha` | [`String`](#string) | The SHA256 of the most recent acceptable version. |
|
||||
| <a id="designversionsearlierorequaltoid"></a>`earlierOrEqualToId` | [`DesignManagementVersionID`](#designmanagementversionid) | Global ID of the most recent acceptable version. |
|
||||
| <a id="designversionsearlierorequaltosha"></a>`earlierOrEqualToSha` | [`String`](#string) | SHA256 of the most recent acceptable version. |
|
||||
|
||||
### `DesignAtVersion`
|
||||
|
||||
|
@ -8605,7 +8605,7 @@ Returns [`DesignAtVersion`](#designatversion).
|
|||
|
||||
| Name | Type | Description |
|
||||
| ---- | ---- | ----------- |
|
||||
| <a id="designcollectiondesignatversionid"></a>`id` | [`DesignManagementDesignAtVersionID!`](#designmanagementdesignatversionid) | The Global ID of the design at this version. |
|
||||
| <a id="designcollectiondesignatversionid"></a>`id` | [`DesignManagementDesignAtVersionID!`](#designmanagementdesignatversionid) | Global ID of the design at this version. |
|
||||
|
||||
##### `DesignCollection.designs`
|
||||
|
||||
|
@ -8635,8 +8635,8 @@ Returns [`DesignVersion`](#designversion).
|
|||
|
||||
| Name | Type | Description |
|
||||
| ---- | ---- | ----------- |
|
||||
| <a id="designcollectionversionid"></a>`id` | [`DesignManagementVersionID`](#designmanagementversionid) | The Global ID of the version. |
|
||||
| <a id="designcollectionversionsha"></a>`sha` | [`String`](#string) | The SHA256 of a specific version. |
|
||||
| <a id="designcollectionversionid"></a>`id` | [`DesignManagementVersionID`](#designmanagementversionid) | Global ID of the version. |
|
||||
| <a id="designcollectionversionsha"></a>`sha` | [`String`](#string) | SHA256 of a specific version. |
|
||||
|
||||
##### `DesignCollection.versions`
|
||||
|
||||
|
@ -8652,8 +8652,8 @@ four standard [pagination arguments](#connection-pagination-arguments):
|
|||
|
||||
| Name | Type | Description |
|
||||
| ---- | ---- | ----------- |
|
||||
| <a id="designcollectionversionsearlierorequaltoid"></a>`earlierOrEqualToId` | [`DesignManagementVersionID`](#designmanagementversionid) | The Global ID of the most recent acceptable version. |
|
||||
| <a id="designcollectionversionsearlierorequaltosha"></a>`earlierOrEqualToSha` | [`String`](#string) | The SHA256 of the most recent acceptable version. |
|
||||
| <a id="designcollectionversionsearlierorequaltoid"></a>`earlierOrEqualToId` | [`DesignManagementVersionID`](#designmanagementversionid) | Global ID of the most recent acceptable version. |
|
||||
| <a id="designcollectionversionsearlierorequaltosha"></a>`earlierOrEqualToSha` | [`String`](#string) | SHA256 of the most recent acceptable version. |
|
||||
|
||||
### `DesignManagement`
|
||||
|
||||
|
@ -8669,7 +8669,7 @@ Returns [`DesignAtVersion`](#designatversion).
|
|||
|
||||
| Name | Type | Description |
|
||||
| ---- | ---- | ----------- |
|
||||
| <a id="designmanagementdesignatversionid"></a>`id` | [`DesignManagementDesignAtVersionID!`](#designmanagementdesignatversionid) | The Global ID of the design at this version. |
|
||||
| <a id="designmanagementdesignatversionid"></a>`id` | [`DesignManagementDesignAtVersionID!`](#designmanagementdesignatversionid) | Global ID of the design at this version. |
|
||||
|
||||
##### `DesignManagement.version`
|
||||
|
||||
|
@ -8681,7 +8681,7 @@ Returns [`DesignVersion`](#designversion).
|
|||
|
||||
| Name | Type | Description |
|
||||
| ---- | ---- | ----------- |
|
||||
| <a id="designmanagementversionid"></a>`id` | [`DesignManagementVersionID!`](#designmanagementversionid) | The Global ID of the version. |
|
||||
| <a id="designmanagementversionid"></a>`id` | [`DesignManagementVersionID!`](#designmanagementversionid) | Global ID of the version. |
|
||||
|
||||
### `DesignVersion`
|
||||
|
||||
|
@ -8709,9 +8709,9 @@ Returns [`DesignAtVersion!`](#designatversion).
|
|||
|
||||
| Name | Type | Description |
|
||||
| ---- | ---- | ----------- |
|
||||
| <a id="designversiondesignatversiondesignid"></a>`designId` | [`DesignManagementDesignID`](#designmanagementdesignid) | The ID of a specific design. |
|
||||
| <a id="designversiondesignatversionfilename"></a>`filename` | [`String`](#string) | The filename of a specific design. |
|
||||
| <a id="designversiondesignatversionid"></a>`id` | [`DesignManagementDesignAtVersionID`](#designmanagementdesignatversionid) | The ID of the DesignAtVersion. |
|
||||
| <a id="designversiondesignatversiondesignid"></a>`designId` | [`DesignManagementDesignID`](#designmanagementdesignid) | ID of a specific design. |
|
||||
| <a id="designversiondesignatversionfilename"></a>`filename` | [`String`](#string) | Filename of a specific design. |
|
||||
| <a id="designversiondesignatversionid"></a>`id` | [`DesignManagementDesignAtVersionID`](#designmanagementdesignatversionid) | ID of the DesignAtVersion. |
|
||||
|
||||
##### `DesignVersion.designsAtVersion`
|
||||
|
||||
|
@ -9569,7 +9569,7 @@ Returns [`Board`](#board).
|
|||
|
||||
| Name | Type | Description |
|
||||
| ---- | ---- | ----------- |
|
||||
| <a id="groupboardid"></a>`id` | [`BoardID!`](#boardid) | The board's ID. |
|
||||
| <a id="groupboardid"></a>`id` | [`BoardID!`](#boardid) | ID of the board. |
|
||||
|
||||
##### `Group.boards`
|
||||
|
||||
|
@ -10840,7 +10840,7 @@ four standard [pagination arguments](#connection-pagination-arguments):
|
|||
| ---- | ---- | ----------- |
|
||||
| <a id="mergerequestassigneesnippetsids"></a>`ids` | [`[SnippetID!]`](#snippetid) | Array of global snippet IDs. For example, `gid://gitlab/ProjectSnippet/1`. |
|
||||
| <a id="mergerequestassigneesnippetstype"></a>`type` | [`TypeEnum`](#typeenum) | The type of snippet. |
|
||||
| <a id="mergerequestassigneesnippetsvisibility"></a>`visibility` | [`VisibilityScopesEnum`](#visibilityscopesenum) | The visibility of the snippet. |
|
||||
| <a id="mergerequestassigneesnippetsvisibility"></a>`visibility` | [`VisibilityScopesEnum`](#visibilityscopesenum) | Visibility of the snippet. |
|
||||
|
||||
##### `MergeRequestAssignee.starredProjects`
|
||||
|
||||
|
@ -11069,7 +11069,7 @@ four standard [pagination arguments](#connection-pagination-arguments):
|
|||
| ---- | ---- | ----------- |
|
||||
| <a id="mergerequestreviewersnippetsids"></a>`ids` | [`[SnippetID!]`](#snippetid) | Array of global snippet IDs. For example, `gid://gitlab/ProjectSnippet/1`. |
|
||||
| <a id="mergerequestreviewersnippetstype"></a>`type` | [`TypeEnum`](#typeenum) | The type of snippet. |
|
||||
| <a id="mergerequestreviewersnippetsvisibility"></a>`visibility` | [`VisibilityScopesEnum`](#visibilityscopesenum) | The visibility of the snippet. |
|
||||
| <a id="mergerequestreviewersnippetsvisibility"></a>`visibility` | [`VisibilityScopesEnum`](#visibilityscopesenum) | Visibility of the snippet. |
|
||||
|
||||
##### `MergeRequestReviewer.starredProjects`
|
||||
|
||||
|
@ -11933,7 +11933,7 @@ Returns [`Board`](#board).
|
|||
|
||||
| Name | Type | Description |
|
||||
| ---- | ---- | ----------- |
|
||||
| <a id="projectboardid"></a>`id` | [`BoardID!`](#boardid) | The board's ID. |
|
||||
| <a id="projectboardid"></a>`id` | [`BoardID!`](#boardid) | ID of the board. |
|
||||
|
||||
##### `Project.boards`
|
||||
|
||||
|
@ -12546,7 +12546,7 @@ four standard [pagination arguments](#connection-pagination-arguments):
|
|||
| Name | Type | Description |
|
||||
| ---- | ---- | ----------- |
|
||||
| <a id="projectsnippetsids"></a>`ids` | [`[SnippetID!]`](#snippetid) | Array of global snippet IDs. For example, `gid://gitlab/ProjectSnippet/1`. |
|
||||
| <a id="projectsnippetsvisibility"></a>`visibility` | [`VisibilityScopesEnum`](#visibilityscopesenum) | The visibility of the snippet. |
|
||||
| <a id="projectsnippetsvisibility"></a>`visibility` | [`VisibilityScopesEnum`](#visibilityscopesenum) | Visibility of the snippet. |
|
||||
|
||||
##### `Project.terraformState`
|
||||
|
||||
|
@ -12907,7 +12907,7 @@ four standard [pagination arguments](#connection-pagination-arguments):
|
|||
| Name | Type | Description |
|
||||
| ---- | ---- | ----------- |
|
||||
| <a id="repositoryblobspaths"></a>`paths` | [`[String!]!`](#string) | Array of desired blob paths. |
|
||||
| <a id="repositoryblobsref"></a>`ref` | [`String`](#string) | The commit ref to get the blobs from. Default value is HEAD. |
|
||||
| <a id="repositoryblobsref"></a>`ref` | [`String`](#string) | Commit ref to get the blobs from. Default value is HEAD. |
|
||||
|
||||
##### `Repository.branchNames`
|
||||
|
||||
|
@ -13939,7 +13939,7 @@ four standard [pagination arguments](#connection-pagination-arguments):
|
|||
| ---- | ---- | ----------- |
|
||||
| <a id="usercoresnippetsids"></a>`ids` | [`[SnippetID!]`](#snippetid) | Array of global snippet IDs. For example, `gid://gitlab/ProjectSnippet/1`. |
|
||||
| <a id="usercoresnippetstype"></a>`type` | [`TypeEnum`](#typeenum) | The type of snippet. |
|
||||
| <a id="usercoresnippetsvisibility"></a>`visibility` | [`VisibilityScopesEnum`](#visibilityscopesenum) | The visibility of the snippet. |
|
||||
| <a id="usercoresnippetsvisibility"></a>`visibility` | [`VisibilityScopesEnum`](#visibilityscopesenum) | Visibility of the snippet. |
|
||||
|
||||
##### `UserCore.starredProjects`
|
||||
|
||||
|
@ -16855,7 +16855,7 @@ four standard [pagination arguments](#connection-pagination-arguments):
|
|||
| ---- | ---- | ----------- |
|
||||
| <a id="usersnippetsids"></a>`ids` | [`[SnippetID!]`](#snippetid) | Array of global snippet IDs. For example, `gid://gitlab/ProjectSnippet/1`. |
|
||||
| <a id="usersnippetstype"></a>`type` | [`TypeEnum`](#typeenum) | The type of snippet. |
|
||||
| <a id="usersnippetsvisibility"></a>`visibility` | [`VisibilityScopesEnum`](#visibilityscopesenum) | The visibility of the snippet. |
|
||||
| <a id="usersnippetsvisibility"></a>`visibility` | [`VisibilityScopesEnum`](#visibilityscopesenum) | Visibility of the snippet. |
|
||||
|
||||
###### `User.starredProjects`
|
||||
|
||||
|
|
|
@ -425,15 +425,16 @@ configurations. Local configurations in the `.gitlab-ci.yml` file override inclu
|
|||
|
||||
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/284883) in GitLab 13.8.
|
||||
> - [Feature flag removed](https://gitlab.com/gitlab-org/gitlab/-/issues/294294) in GitLab 13.9.
|
||||
> - [Custom variable support added](https://gitlab.com/gitlab-org/gitlab/-/issues/219065) in GitLab 14.2.
|
||||
> - [Support for project, group, and instance variables added](https://gitlab.com/gitlab-org/gitlab/-/issues/219065) in GitLab 14.2.
|
||||
|
||||
In `include` sections in your `.gitlab-ci.yml` file, you can use:
|
||||
|
||||
- Project [predefined variables](../variables/predefined_variables.md).
|
||||
- [Custom instance, group, and project variables](../variables/index.md#custom-cicd-variables)
|
||||
in GitLab 14.2 and later.
|
||||
- `$CI_COMMIT_REF_NAME` [predefined variable](../variables/predefined_variables.md) in GitLab 14.2
|
||||
and later.
|
||||
- [Project variables](../variables/index.md#add-a-cicd-variable-to-a-project)
|
||||
- [Group variables](../variables/index.md#add-a-cicd-variable-to-a-group)
|
||||
- [Instance variables](../variables/index.md#add-a-cicd-variable-to-an-instance)
|
||||
- Project [predefined variables](../variables/predefined_variables.md).
|
||||
|
||||
```yaml
|
||||
include:
|
||||
|
|
|
@ -841,9 +841,9 @@ We include guidance for links in these categories:
|
|||
- Use inline link Markdown markup `[Text](https://example.com)`.
|
||||
It's easier to read, review, and maintain. Do not use `[Text][identifier]` reference-style links.
|
||||
|
||||
- Use [meaningful anchor texts](https://www.futurehosting.com/blog/links-should-have-meaningful-anchor-text-heres-why/).
|
||||
For example, instead of writing something like `Read more about GitLab Issue Boards [here](LINK)`,
|
||||
write `Read more about [GitLab Issue Boards](LINK)`.
|
||||
- Use [meaningful anchor text](https://www.futurehosting.com/blog/links-should-have-meaningful-anchor-text-heres-why/).
|
||||
For example, instead of writing something like `Read more about merge requests [here](LINK)`,
|
||||
write `Read more about [merge requests](LINK)`.
|
||||
|
||||
### Links to internal documentation
|
||||
|
||||
|
@ -1601,9 +1601,11 @@ Do not promise to deliver features in a future release. For example, avoid phras
|
|||
"Support for this feature is planned."
|
||||
|
||||
We cannot guarantee future feature work, and promises
|
||||
like these can raise legal issues. Instead, say that an issue exists, for example,
|
||||
"Support for this feature is tracked [in this issue]." Or, "Improvements to
|
||||
this functionality are tracked [in this issue]."
|
||||
like these can raise legal issues. Instead, say that an issue exists.
|
||||
For example:
|
||||
|
||||
- Support for improvements is tracked `[in this issue](LINK)`.
|
||||
- You cannot do this thing, but `[an issue exists](LINK)` to change this behavior.
|
||||
|
||||
You can say that we plan to remove a feature.
|
||||
|
||||
|
|
|
@ -16,88 +16,87 @@ are very appreciative of the work done by translators and proofreaders!
|
|||
- Albanian
|
||||
- Proofreaders needed.
|
||||
- Amharic
|
||||
- Tsegaselassie Tadesse - [GitLab](https://gitlab.com/tsega), [CrowdIn](https://crowdin.com/profile/tsegaselassi/activity)
|
||||
- Tsegaselassie Tadesse - [GitLab](https://gitlab.com/tsega), [Crowdin](https://crowdin.com/profile/tsegaselassi)
|
||||
- Arabic
|
||||
- Proofreaders needed.
|
||||
- Bosnian
|
||||
- Proofreaders needed.
|
||||
- Bulgarian
|
||||
- Lyubomir Vasilev - [CrowdIn](https://crowdin.com/profile/lyubomirv)
|
||||
- Lyubomir Vasilev - [Crowdin](https://crowdin.com/profile/lyubomirv)
|
||||
- Catalan
|
||||
- David Planella - [GitLab](https://gitlab.com/dplanella), [CrowdIn](https://crowdin.com/profile/dplanella)
|
||||
- David Planella - [GitLab](https://gitlab.com/dplanella), [Crowdin](https://crowdin.com/profile/dplanella)
|
||||
- Chinese Simplified 简体中文
|
||||
- Huang Tao - [GitLab](https://gitlab.com/htve), [CrowdIn](https://crowdin.com/profile/htve)
|
||||
- Victor Wu - [GitLab](https://gitlab.com/victorwuky), [CrowdIn](https://crowdin.com/profile/victorwu)
|
||||
- Xiaogang Wen - [GitLab](https://gitlab.com/xiaogang_gitlab), [CrowdIn](https://crowdin.com/profile/xiaogang_gitlab)
|
||||
- Shuang Zhang - [GitLab](https://gitlab.com/tonygodspeed92), [CrowdIn](https://crowdin.com/profile/tonygodspeed92)
|
||||
- Huang Tao - [GitLab](https://gitlab.com/htve), [Crowdin](https://crowdin.com/profile/htve)
|
||||
- Victor Wu - [GitLab](https://gitlab.com/_victorwu_), [Crowdin](https://crowdin.com/profile/victorwu)
|
||||
- Xiaogang Wen - [GitLab](https://gitlab.com/xiaogang_cn), [Crowdin](https://crowdin.com/profile/xiaogang_gitlab)
|
||||
- Shuang Zhang - [GitLab](https://gitlab.com/tonygodspeed92), [Crowdin](https://crowdin.com/profile/tonygodspeed92)
|
||||
- Chinese Traditional 繁體中文
|
||||
- Weizhe Ding - [GitLab](https://gitlab.com/d.weizhe), [CrowdIn](https://crowdin.com/profile/d.weizhe)
|
||||
- Yi-Jyun Pan - [GitLab](https://gitlab.com/pan93412), [CrowdIn](https://crowdin.com/profile/pan93412)
|
||||
- Victor Wu - [GitLab](https://gitlab.com/victorwuky), [CrowdIn](https://crowdin.com/profile/victorwu)
|
||||
- Weizhe Ding - [GitLab](https://gitlab.com/d.weizhe), [Crowdin](https://crowdin.com/profile/d.weizhe)
|
||||
- Yi-Jyun Pan - [GitLab](https://gitlab.com/pan93412), [Crowdin](https://crowdin.com/profile/pan93412)
|
||||
- Victor Wu - [GitLab](https://gitlab.com/_victorwu_), [Crowdin](https://crowdin.com/profile/victorwu)
|
||||
- Chinese Traditional, Hong Kong 繁體中文 (香港)
|
||||
- Victor Wu - [GitLab](https://gitlab.com/victorwuky), [CrowdIn](https://crowdin.com/profile/victorwu)
|
||||
- Ivan Ip - [GitLab](https://gitlab.com/lifehome), [CrowdIn](https://crowdin.com/profile/lifehome)
|
||||
- Victor Wu - [GitLab](https://gitlab.com/_victorwu_), [Crowdin](https://crowdin.com/profile/victorwu)
|
||||
- Ivan Ip - [GitLab](https://gitlab.com/lifehome), [Crowdin](https://crowdin.com/profile/lifehome)
|
||||
- Croatian
|
||||
- Proofreaders needed.
|
||||
- Czech
|
||||
- Jan Urbanec - [GitLab](https://gitlab.com/TatranskyMedved), [CrowdIn](https://crowdin.com/profile/Tatranskymedved)
|
||||
- Jan Urbanec - [GitLab](https://gitlab.com/TatranskyMedved), [Crowdin](https://crowdin.com/profile/Tatranskymedved)
|
||||
- Danish
|
||||
- Saederup92 - [GitLab](https://gitlab.com/Saederup92), [CrowdIn](https://crowdin.com/profile/Saederup92)
|
||||
- scootergrisen - [GitLab](https://gitlab.com/scootergrisen), [Crowdin](https://crowdin.com/profile/scootergrisen)
|
||||
- Saederup92 - [GitLab](https://gitlab.com/Saederup92), [Crowdin](https://crowdin.com/profile/Saederup92)
|
||||
- Dutch
|
||||
- Emily Hendle - [GitLab](https://gitlab.com/pundachan), [CrowdIn](https://crowdin.com/profile/pandachan)
|
||||
- Emily Hendle - [GitLab](https://gitlab.com/pundachan), [Crowdin](https://crowdin.com/profile/pandachan)
|
||||
- Esperanto
|
||||
- Lyubomir Vasilev - [CrowdIn](https://crowdin.com/profile/lyubomirv)
|
||||
- Lyubomir Vasilev - [Crowdin](https://crowdin.com/profile/lyubomirv)
|
||||
- Estonian
|
||||
- Proofreaders needed.
|
||||
- Filipino
|
||||
- Andrei Jiroh Halili - [GitLab](https://gitlab.com/AJHalili2006DevPH), [Crowdin](https://crowdin.com/profile/AndreiJirohHaliliDev2006)
|
||||
- Andrei Jiroh Halili - [GitLab](https://gitlab.com/ajhalili2006), [Crowdin](https://crowdin.com/profile/AndreiJirohHaliliDev2006)
|
||||
- French
|
||||
- Davy Defaud - [GitLab](https://gitlab.com/DevDef), [CrowdIn](https://crowdin.com/profile/DevDef)
|
||||
- Davy Defaud - [GitLab](https://gitlab.com/DevDef), [Crowdin](https://crowdin.com/profile/DevDef)
|
||||
- Galician
|
||||
- Antón Méixome - [CrowdIn](https://crowdin.com/profile/meixome)
|
||||
- Pedro Garcia - [GitLab](https://gitlab.com/pedgarrod), [CrowdIn](https://crowdin.com/profile/breaking_pitt)
|
||||
- Antón Méixome - [Crowdin](https://crowdin.com/profile/meixome)
|
||||
- Pedro Garcia - [GitLab](https://gitlab.com/pedgarrod), [Crowdin](https://crowdin.com/profile/breaking_pitt)
|
||||
- German
|
||||
- Michael Hahnle - [GitLab](https://gitlab.com/mhah), [CrowdIn](https://crowdin.com/profile/mhah)
|
||||
- Katrin Leinweber - [GitLab](https://gitlab.com/katrinleinweber/), [CrowdIn](https://crowdin.com/profile/katrinleinweber)
|
||||
- Michael Hahnle - [GitLab](https://gitlab.com/mhah), [Crowdin](https://crowdin.com/profile/mhah)
|
||||
- Katrin Leinweber - [GitLab](https://gitlab.com/katrinleinweber), [Crowdin](https://crowdin.com/profile/katrinleinweber)
|
||||
- Greek
|
||||
- Proofreaders needed.
|
||||
- Hebrew
|
||||
- Yaron Shahrabani - [GitLab](https://gitlab.com/yarons), [CrowdIn](https://crowdin.com/profile/YaronSh)
|
||||
- Yaron Shahrabani - [GitLab](https://gitlab.com/yarons), [Crowdin](https://crowdin.com/profile/YaronSh)
|
||||
- Hindi
|
||||
- Proofreaders needed.
|
||||
- Hungarian
|
||||
- Proofreaders needed.
|
||||
- Indonesian
|
||||
- Adi Ferdian - [GitLab](https://gitlab.com/adiferd), [CrowdIn](https://crowdin.com/profile/adiferd)
|
||||
- Ahmad Naufal Mukhtar - [GitLab](https://gitlab.com/anaufalm), [CrowdIn](https://crowdin.com/profile/anaufalm)
|
||||
- Adi Ferdian - [GitLab](https://gitlab.com/adiferd), [Crowdin](https://crowdin.com/profile/adiferd)
|
||||
- Ahmad Naufal Mukhtar - [GitLab](https://gitlab.com/anaufalm), [Crowdin](https://crowdin.com/profile/anaufalm)
|
||||
- Italian
|
||||
- Massimiliano Cuttini - [GitLab](https://gitlab.com/maxcuttins), [CrowdIn](https://crowdin.com/profile/maxcuttins)
|
||||
- Paolo Falomo - [GitLab](https://gitlab.com/paolofalomo), [CrowdIn](https://crowdin.com/profile/paolo.falomo)
|
||||
- Massimiliano Cuttini - [GitLab](https://gitlab.com/maxcuttins), [Crowdin](https://crowdin.com/profile/maxcuttins)
|
||||
- Paolo Falomo - [GitLab](https://gitlab.com/paolofalomo), [Crowdin](https://crowdin.com/profile/paolo.falomo)
|
||||
- Japanese
|
||||
- Hiroyuki Sato - [GitLab](https://gitlab.com/hiroponz), [CrowdIn](https://crowdin.com/profile/hiroponz)
|
||||
- Tomo Dote - [GitLab](https://gitlab.com/fu7mu4), [CrowdIn](https://crowdin.com/profile/fu7mu4)
|
||||
- Hiromi Nozawa - [GitLab](https://gitlab.com/hir0mi), [CrowdIn](https://crowdin.com/profile/hir0mi)
|
||||
- Takuya Noguchi - [GitLab](https://gitlab.com/tnir), [CrowdIn](https://crowdin.com/profile/tnir)
|
||||
- Hiroyuki Sato - [GitLab](https://gitlab.com/hiroponz), [Crowdin](https://crowdin.com/profile/hiroponz)
|
||||
- Tomo Dote - [GitLab](https://gitlab.com/fu7mu4), [Crowdin](https://crowdin.com/profile/fu7mu4)
|
||||
- Hiromi Nozawa - [GitLab](https://gitlab.com/hir0mi), [Crowdin](https://crowdin.com/profile/hir0mi)
|
||||
- Takuya Noguchi - [GitLab](https://gitlab.com/tnir), [Crowdin](https://crowdin.com/profile/tnir)
|
||||
- Korean
|
||||
- Chang-Ho Cha - [GitLab](https://gitlab.com/changho-cha), [CrowdIn](https://crowdin.com/profile/zzazang)
|
||||
- Ji Hun Oh - [GitLab](https://gitlab.com/Baw-Appie), [CrowdIn](https://crowdin.com/profile/BawAppie)
|
||||
- Jeongwhan Choi - [GitLab](https://gitlab.com/jeongwhanchoi), [CrowdIn](https://crowdin.com/profile/jeongwhanchoi)
|
||||
- Sunjung Park - [GitLab](https://gitlab.com/sunjungp), [CrowdIn](https://crowdin.com/profile/sunjungp)
|
||||
- Chang-Ho Cha - [GitLab](https://gitlab.com/changho-cha), [Crowdin](https://crowdin.com/profile/zzazang)
|
||||
- Ji Hun Oh - [GitLab](https://gitlab.com/Baw-Appie), [Crowdin](https://crowdin.com/profile/BawAppie)
|
||||
- Jeongwhan Choi - [GitLab](https://gitlab.com/jeongwhanchoi), [Crowdin](https://crowdin.com/profile/jeongwhanchoi)
|
||||
- Sunjung Park - [GitLab](https://gitlab.com/sunjungp), [Crowdin](https://crowdin.com/profile/sunjungp)
|
||||
- Mongolian
|
||||
- Proofreaders needed.
|
||||
- Norwegian Bokmal
|
||||
- Imre Kristoffer Eilertsen - [GitLab](https://gitlab.com/DandelionSprout), [CrowdIn](https://crowdin.com/profile/DandelionSprout)
|
||||
- Imre Kristoffer Eilertsen - [GitLab](https://gitlab.com/DandelionSprout), [Crowdin](https://crowdin.com/profile/DandelionSprout)
|
||||
- Polish
|
||||
- Filip Mech - [GitLab](https://gitlab.com/mehenz), [CrowdIn](https://crowdin.com/profile/mehenz)
|
||||
- Maksymilian Roman - [GitLab](https://gitlab.com/villaincandle), [CrowdIn](https://crowdin.com/profile/villaincandle)
|
||||
- Jakub Gładykowski - [GitLab](https://gitlab.com/gladykov), [CrowdIn](https://crowdin.com/profile/gladykov)
|
||||
- Filip Mech - [GitLab](https://gitlab.com/mehenz), [Crowdin](https://crowdin.com/profile/mehenz)
|
||||
- Maksymilian Roman - [GitLab](https://gitlab.com/villaincandle), [Crowdin](https://crowdin.com/profile/villaincandle)
|
||||
- Jakub Gładykowski - [GitLab](https://gitlab.com/gladykov), [Crowdin](https://crowdin.com/profile/gladykov)
|
||||
- Portuguese
|
||||
- Diogo Trindade - [GitLab](https://gitlab.com/luisdiogo2071317), [CrowdIn](https://crowdin.com/profile/ldiogotrindade)
|
||||
- Diogo Trindade - [GitLab](https://gitlab.com/luisdiogo2071317), [Crowdin](https://crowdin.com/profile/ldiogotrindade)
|
||||
- Portuguese, Brazilian
|
||||
- Paulo George Gomes Bezerra - [GitLab](https://gitlab.com/paulobezerra), [CrowdIn](https://crowdin.com/profile/paulogomes.rep)
|
||||
- André Gama - [GitLab](https://gitlab.com/andregamma), [CrowdIn](https://crowdin.com/profile/ToeOficial)
|
||||
- Eduardo Addad de Oliveira - [GitLab](https://gitlab.com/eduardoaddad), [CrowdIn](https://crowdin.com/profile/eduardoaddad)
|
||||
- Paulo George Gomes Bezerra - [GitLab](https://gitlab.com/paulobezerra), [Crowdin](https://crowdin.com/profile/paulogomes.rep)
|
||||
- André Gama - [GitLab](https://gitlab.com/andregamma), [Crowdin](https://crowdin.com/profile/ToeOficial)
|
||||
- Eduardo Addad de Oliveira - [GitLab](https://gitlab.com/eduardoaddad), [Crowdin](https://crowdin.com/profile/eduardoaddad)
|
||||
- Romanian
|
||||
- Proofreaders needed.
|
||||
- Russian
|
||||
|
@ -112,24 +111,22 @@ are very appreciative of the work done by translators and proofreaders!
|
|||
- Slovak
|
||||
- Proofreaders needed.
|
||||
- Spanish
|
||||
- Pedro Garcia - [GitLab](https://gitlab.com/pedgarrod), [CrowdIn](https://crowdin.com/profile/breaking_pitt)
|
||||
- Pedro Garcia - [GitLab](https://gitlab.com/pedgarrod), [Crowdin](https://crowdin.com/profile/breaking_pitt)
|
||||
- Swedish
|
||||
- Johannes Nilsson - [GitLab](https://gitlab.com/nlssn), [CrowdIn](https://crowdin.com/profile/nlssn)
|
||||
- Johannes Nilsson - [GitLab](https://gitlab.com/nlssn), [Crowdin](https://crowdin.com/profile/nlssn)
|
||||
- Turkish
|
||||
- Ali Demirtaş - [GitLab](https://gitlab.com/alidemirtas), [CrowdIn](https://crowdin.com/profile/alidemirtas)
|
||||
- Rıfat Ünalmış (Rifat Unalmis) - [GitLab](https://gitlab.com/runalmis), [CrowdIn](https://crowdin.com/profile/runalmis)
|
||||
- İsmail Arılık - [GitLab](https://gitlab.com/ismailarilik), [CrowdIn](https://crowdin.com/profile/ismailarilik)
|
||||
- Ali Demirtaş - [GitLab](https://gitlab.com/alidemirtas), [Crowdin](https://crowdin.com/profile/alidemirtas)
|
||||
- Rıfat Ünalmış (Rifat Unalmis) - [GitLab](https://gitlab.com/runalmis), [Crowdin](https://crowdin.com/profile/runalmis)
|
||||
- Ukrainian
|
||||
- Volodymyr Sobotovych - [GitLab](https://gitlab.com/wheleph), [CrowdIn](https://crowdin.com/profile/wheleph)
|
||||
- Andrew Vityuk - [GitLab](https://gitlab.com/3_1_3_u), [CrowdIn](https://crowdin.com/profile/andruwa13)
|
||||
- Volodymyr Sobotovych - [GitLab](https://gitlab.com/wheleph), [Crowdin](https://crowdin.com/profile/wheleph)
|
||||
- Andrew Vityuk - [GitLab](https://gitlab.com/3_1_3_u), [Crowdin](https://crowdin.com/profile/andruwa13)
|
||||
- Welsh
|
||||
- Delyth Prys - [GitLab](https://gitlab.com/Delyth), [CrowdIn](https://crowdin.com/profile/DelythPrys)
|
||||
|
||||
- Delyth Prys - [GitLab](https://gitlab.com/Delyth), [Crowdin](https://crowdin.com/profile/DelythPrys)
|
||||
<!-- vale gitlab.Spelling = YES -->
|
||||
|
||||
## Become a proofreader
|
||||
|
||||
Before requesting proofreader permissions in CrowdIn, be sure you have a history of contributing
|
||||
Before requesting proofreader permissions in Crowdin, be sure you have a history of contributing
|
||||
translations to the GitLab project.
|
||||
|
||||
1. Contribute translations to GitLab. See instructions for
|
||||
|
@ -149,7 +146,7 @@ translations to the GitLab project.
|
|||
|
||||
- Name
|
||||
- Link to your GitLab profile
|
||||
- Link to your CrowdIn profile
|
||||
- Link to your Crowdin profile
|
||||
|
||||
In the merge request description, include links to any projects you have previously translated.
|
||||
|
||||
|
|
|
@ -1,8 +0,0 @@
|
|||
---
|
||||
redirect_to: 'snowplow/index.md'
|
||||
remove_date: '2021-06-30'
|
||||
---
|
||||
This document was moved to [another location](snowplow/index.md).
|
||||
|
||||
<!-- This redirect file can be deleted after 2021-06-31. -->
|
||||
<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->
|
|
@ -1,9 +0,0 @@
|
|||
---
|
||||
redirect_to: 'index.md'
|
||||
remove_date: '2021-07-30'
|
||||
---
|
||||
|
||||
This document was moved to [another location](index.md).
|
||||
|
||||
<!-- This redirect file can be deleted after <2021-07-30>. -->
|
||||
<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->
|
|
@ -17,7 +17,9 @@ your Git branches like a CI/CD server.
|
|||
|
||||
This means you don't have to wait for dependencies to be downloaded and builds to finish, you can start
|
||||
coding immediately. With Gitpod you can start coding instantly on any project, branch, and merge
|
||||
request from any device, at any time.
|
||||
request from any device, at any time, from your browser:
|
||||
|
||||
![Gitpod interface](img/gitpod_web_interface_v13_4.png)
|
||||
|
||||
To use the GitLab Gitpod integration, it must be enabled for your GitLab instance. Users of:
|
||||
|
||||
|
@ -56,11 +58,24 @@ Your users can then [enable it for themselves](#enable-gitpod-in-your-user-setti
|
|||
|
||||
## Launch Gitpod in GitLab
|
||||
|
||||
You can launch Gitpod directly from GitLab by clicking the **Gitpod** button from the **Web IDE**
|
||||
dropdown on the project page:
|
||||
You can launch Gitpod directly from GitLab in one of these ways:
|
||||
|
||||
![Gitpod Button on Project Page](img/gitpod_button_project_page_v13_4.png)
|
||||
- *From your project's page:*
|
||||
1. Go to your project, and navigate to the page you want to edit.
|
||||
1. Select the caret **(angle-down)** next to **Web IDE**, and select **Gitpod**
|
||||
from the list:
|
||||
|
||||
A project launched in GitLab looks like:
|
||||
![Gitpod Button on Project Page](img/gitpod_button_project_page_v13_4.png)
|
||||
|
||||
![Gitpod interface](img/gitpod_web_interface_v13_4.png)
|
||||
1. Select **Open in Gitpod**.
|
||||
- *From a merge request:*
|
||||
1. Go to your merge request, and select **Overview** in the tab menu.
|
||||
1. Scroll to the end of the merge request description.
|
||||
1. Select the caret **(angle-down)** next to **Web IDE**, then select **Gitpod**
|
||||
from the list:
|
||||
|
||||
![Gitpod button on the merge request page](img/gitpod-button_v14_2.png)
|
||||
|
||||
1. Select **Open in Gitpod**.
|
||||
|
||||
Gitpod builds your development environment for your branch.
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 8.5 KiB |
|
@ -1,9 +0,0 @@
|
|||
---
|
||||
redirect_to: 'https://docs.gitlab.com/'
|
||||
remove_date: '2021-06-14'
|
||||
---
|
||||
|
||||
This document was moved to [another location](https://docs.gitlab.com/).
|
||||
|
||||
<!-- This redirect file can be deleted after <2021-09-14>. -->
|
||||
<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->
|
|
@ -1,9 +0,0 @@
|
|||
---
|
||||
redirect_to: 'https://docs.gitlab.com/'
|
||||
remove_date: '2021-06-14'
|
||||
---
|
||||
|
||||
This document was moved to [another location](https://docs.gitlab.com/).
|
||||
|
||||
<!-- This redirect file can be deleted after <2021-09-14>. -->
|
||||
<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->
|
|
@ -1,9 +0,0 @@
|
|||
---
|
||||
redirect_to: '../../user/project/merge_requests/index.md'
|
||||
remove_date: '2021-08-13'
|
||||
---
|
||||
|
||||
This document was moved to [another location](../../user/project/merge_requests/index.md).
|
||||
|
||||
<!-- This redirect file can be deleted after <2021-08-13>. -->
|
||||
<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->
|
|
@ -1,9 +0,0 @@
|
|||
---
|
||||
redirect_to: '../topics/index.md'
|
||||
remove_date: '2021-08-13'
|
||||
---
|
||||
|
||||
This document was removed. See our [topics](../topics/index.md) for similar content.
|
||||
|
||||
<!-- This redirect file can be deleted after <2021-08-13>. -->
|
||||
<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->
|
|
@ -1,9 +0,0 @@
|
|||
---
|
||||
redirect_to: '../../topics/index.md'
|
||||
remove_date: '2021-08-13'
|
||||
---
|
||||
|
||||
This document was moved to [another location](../../topics/index.md).
|
||||
|
||||
<!-- This redirect file can be deleted after <2021-08-13>. -->
|
||||
<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->
|
|
@ -1,9 +0,0 @@
|
|||
---
|
||||
redirect_to: '../../../topics/git/bisect.md'
|
||||
remove_date: '2021-08-13'
|
||||
---
|
||||
|
||||
This document was moved to [another location](../../../topics/git/bisect.md).
|
||||
|
||||
<!-- This redirect file can be deleted after <2021-08-13>. -->
|
||||
<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->
|
|
@ -1,9 +0,0 @@
|
|||
---
|
||||
redirect_to: '../../../topics/index.md'
|
||||
remove_date: '2021-08-13'
|
||||
---
|
||||
|
||||
This document was removed. See our [topics](../../../topics/index.md) for similar content.
|
||||
|
||||
<!-- This redirect file can be deleted after <2021-08-13>. -->
|
||||
<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->
|
|
@ -1,9 +0,0 @@
|
|||
---
|
||||
redirect_to: '../../../topics/git/feature_branching.md'
|
||||
remove_date: '2021-08-13'
|
||||
---
|
||||
|
||||
This document was moved to [another location](../../../topics/git/feature_branching.md).
|
||||
|
||||
<!-- This redirect file can be deleted after <2021-08-13>. -->
|
||||
<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->
|
|
@ -1,9 +0,0 @@
|
|||
---
|
||||
redirect_to: '../../../topics/git/getting_started.md'
|
||||
remove_date: '2021-08-13'
|
||||
---
|
||||
|
||||
This document was moved to [another location](../../../topics/git/getting_started.md).
|
||||
|
||||
<!-- This redirect file can be deleted after <2021-08-13>. -->
|
||||
<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->
|
|
@ -1,9 +0,0 @@
|
|||
---
|
||||
redirect_to: '../../../topics/git/git_add.md'
|
||||
remove_date: '2021-08-13'
|
||||
---
|
||||
|
||||
This document was moved to [another location](../../../topics/git/git_add.md).
|
||||
|
||||
<!-- This redirect file can be deleted after <2021-08-13>. -->
|
||||
<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->
|
|
@ -1,9 +0,0 @@
|
|||
---
|
||||
redirect_to: '../../../topics/index.md'
|
||||
remove_date: '2021-08-13'
|
||||
---
|
||||
|
||||
This document was removed. See our [topics](../../../topics/index.md) for similar content.
|
||||
|
||||
<!-- This redirect file can be deleted after <2021-08-13>. -->
|
||||
<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->
|
|
@ -1,9 +0,0 @@
|
|||
---
|
||||
redirect_to: '../../../topics/git/git_log.md'
|
||||
remove_date: '2021-08-13'
|
||||
---
|
||||
|
||||
This document was moved to [another location](../../../topics/git/git_log.md).
|
||||
|
||||
<!-- This redirect file can be deleted after <2021-08-13>. -->
|
||||
<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->
|
|
@ -1,9 +0,0 @@
|
|||
---
|
||||
redirect_to: '../../../topics/git/merge_conflicts.md'
|
||||
remove_date: '2021-08-13'
|
||||
---
|
||||
|
||||
This document was moved to [another location](../../../topics/git/merge_conflicts.md).
|
||||
|
||||
<!-- This redirect file can be deleted after <2021-08-13>. -->
|
||||
<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->
|
|
@ -1,9 +0,0 @@
|
|||
---
|
||||
redirect_to: '../../../user/project/merge_requests/index.md'
|
||||
remove_date: '2021-08-13'
|
||||
---
|
||||
|
||||
This document was moved to [another location](../../../user/project/merge_requests/index.md).
|
||||
|
||||
<!-- This redirect file can be deleted after <2021-08-13>. -->
|
||||
<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->
|
|
@ -1,9 +0,0 @@
|
|||
---
|
||||
redirect_to: '../../../topics/git/rollback_commits.md'
|
||||
remove_date: '2021-08-13'
|
||||
---
|
||||
|
||||
This document was moved to [another location](../../../topics/git/rollback_commits.md).
|
||||
|
||||
<!-- This redirect file can be deleted after <2021-08-13>. -->
|
||||
<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->
|
|
@ -1,9 +0,0 @@
|
|||
---
|
||||
redirect_to: '../../../topics/git/stash.md'
|
||||
remove_date: '2021-08-13'
|
||||
---
|
||||
|
||||
This document was moved to [another location](../../../topics/git/stash.md).
|
||||
|
||||
<!-- This redirect file can be deleted after <2021-08-13>. -->
|
||||
<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->
|
|
@ -1,9 +0,0 @@
|
|||
---
|
||||
redirect_to: '../../../topics/git/subtree.md'
|
||||
remove_date: '2021-08-13'
|
||||
---
|
||||
|
||||
This document was moved to [another location](../../../topics/git/subtree.md).
|
||||
|
||||
<!-- This redirect file can be deleted after <2021-08-13>. -->
|
||||
<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->
|
|
@ -1,9 +0,0 @@
|
|||
---
|
||||
redirect_to: '../../../topics/git/unstage.md'
|
||||
remove_date: '2021-08-13'
|
||||
---
|
||||
|
||||
This document was moved to [another location](../../../topics/git/unstage.md).
|
||||
|
||||
<!-- This redirect file can be deleted after <2021-08-13>. -->
|
||||
<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->
|
|
@ -1,9 +0,0 @@
|
|||
---
|
||||
redirect_to: '../../topics/index.md'
|
||||
remove_date: '2021-08-13'
|
||||
---
|
||||
|
||||
This document was removed. See our [topics](../../topics/index.md) for similar content.
|
||||
|
||||
<!-- This redirect file can be deleted after <2021-08-13>. -->
|
||||
<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->
|
|
@ -1,9 +0,0 @@
|
|||
---
|
||||
redirect_to: 'moderate_users.md'
|
||||
remove_date: '2021-08-12'
|
||||
---
|
||||
|
||||
This document was moved to [another location](moderate_users.md).
|
||||
|
||||
<!-- This redirect file can be deleted after <2021-08-12>. -->
|
||||
<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->
|
|
@ -1,9 +0,0 @@
|
|||
---
|
||||
redirect_to: 'moderate_users.md'
|
||||
remove_date: '2021-08-12'
|
||||
---
|
||||
|
||||
This document was moved to [another location](moderate_users.md).
|
||||
|
||||
<!-- This redirect file can be deleted after <2021-08-12>. -->
|
||||
<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
type: tutorial
|
||||
stage: Secure
|
||||
group: Vulnerability Research
|
||||
group: Threat Insights
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
---
|
||||
|
||||
|
|
|
@ -140,46 +140,25 @@ All the options for the [Kubernetes Agent configuration repository](repository.m
|
|||
|
||||
### Create an Agent record in GitLab
|
||||
|
||||
> [Introduced](https://gitlab.com/groups/gitlab-org/-/epics/5786) in GitLab 14.1, you can create a new Agent record directly from the GitLab UI.
|
||||
|
||||
Next, create a GitLab Rails Agent record to associate it with
|
||||
the configuration repository project. Creating this record also creates a Secret needed to configure
|
||||
the Agent in subsequent steps. You can create an Agent record with GraphQL:
|
||||
the Agent in subsequent steps.
|
||||
|
||||
```graphql
|
||||
mutation createAgent {
|
||||
# agent-name should be the same as specified above in the config.yaml
|
||||
createClusterAgent(input: { projectPath: "path-to/your-configuration-project", name: "<agent-name>" }) {
|
||||
clusterAgent {
|
||||
id
|
||||
name
|
||||
}
|
||||
errors
|
||||
}
|
||||
}
|
||||
In GitLab:
|
||||
|
||||
mutation createToken {
|
||||
clusterAgentTokenCreate(
|
||||
input: {
|
||||
clusterAgentId: "<cluster-agent-id-taken-from-the-previous-mutation>"
|
||||
description: "<optional-description-of-token>"
|
||||
name: "<required-name-given-to-token>"
|
||||
}
|
||||
) {
|
||||
secret # This is the value you need to use on the next step
|
||||
token {
|
||||
createdAt
|
||||
id
|
||||
}
|
||||
errors
|
||||
}
|
||||
}
|
||||
```
|
||||
1. From your project's sidebar, select **Infrastructure > Kubernetes clusters**.
|
||||
1. Select the **GitLab Agent managed clusters** tab.
|
||||
1. Select **Integrate with the GitLab Agent**.
|
||||
1. From the **Select an Agent** dropdown menu, select the Agent you want to connect and select **Next** to access the installation form.
|
||||
1. The form reveals your registration token. Securely store this secret token as you cannot view it again.
|
||||
1. Copy the command under **Recommended installation method**.
|
||||
|
||||
WARNING:
|
||||
GraphQL only displays the token and ids **one time** after creating it. Make sure to write down the `secret`, `clusterAgentId`, and `clusterAgentTokenId`; you'll need them later.
|
||||
In your computer:
|
||||
|
||||
If you are new to using the GitLab GraphQL API, refer to the
|
||||
[Getting started with the GraphQL API page](../../../api/graphql/getting_started.md),
|
||||
or the [GraphQL Explorer](https://gitlab.com/-/graphql-explorer).
|
||||
1. Open your local terminal and connect to your cluster.
|
||||
1. Run the command you copied from the installation form.
|
||||
|
||||
### Install the Agent into the cluster
|
||||
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
---
|
||||
redirect_to: '../../../user/group/index.md'
|
||||
remove_date: '2021-08-13'
|
||||
---
|
||||
|
||||
This document was moved to [another location](../../../user/group/index.md).
|
||||
|
||||
<!-- This redirect file can be deleted after <2021-08-13>. -->
|
||||
<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->
|
|
@ -1,9 +0,0 @@
|
|||
---
|
||||
redirect_to: 'issues/managing_issues.md'
|
||||
remove_date: '2021-08-12'
|
||||
---
|
||||
|
||||
This document was moved to [another location](issues/managing_issues.md).
|
||||
|
||||
<!-- This redirect file can be deleted after <2021-08-12>. -->
|
||||
<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->
|
|
@ -1,9 +0,0 @@
|
|||
---
|
||||
redirect_to: 'index.md'
|
||||
remove_date: '2021-08-15'
|
||||
---
|
||||
|
||||
This document was deleted.
|
||||
|
||||
<!-- This redirect file can be deleted after <2021-08-15>. -->
|
||||
<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->
|
|
@ -41,7 +41,7 @@ To learn how the GitLab Strategic Marketing department uses GitLab issues with [
|
|||
- [Upload designs to issues](design_management.md)
|
||||
- [Linked issues](related_issues.md)
|
||||
- [Cross-link issues](crosslinking_issues.md)
|
||||
- [Bulk edit issues](../bulk_editing.md)
|
||||
- [Bulk edit issues](../issues/managing_issues.md)
|
||||
- [Sort issue lists](sorting_issue_lists.md)
|
||||
- [Search for issues](../../search/index.md#filtering-issue-and-merge-request-lists)
|
||||
- [Epics](../../group/epics/index.md)
|
||||
|
|
|
@ -129,7 +129,7 @@ To request a review of a merge request, expand the **Reviewers** select box in
|
|||
the right-hand sidebar. Search for the users you want to request a review from.
|
||||
When selected, GitLab creates a [to-do list item](../../todos.md) for each reviewer.
|
||||
|
||||
To learn more, read [Review and manage merge requests](reviews/index.md).
|
||||
To learn more, read [Review a merge request](reviews/index.md).
|
||||
|
||||
### Merge requests to close issues
|
||||
|
||||
|
|
|
@ -135,6 +135,6 @@ For a web developer writing a webpage for your company's website:
|
|||
## Related topics
|
||||
|
||||
- [Create a merge request](creating_merge_requests.md)
|
||||
- [Review and manage merge requests](reviews/index.md)
|
||||
- [Review a merge request](reviews/index.md)
|
||||
- [Authorization for merge requests](authorization_for_merge_requests.md)
|
||||
- [Testing and reports](testing_and_reports_in_merge_requests.md)
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
---
|
||||
redirect_to: 'reviews/index.md'
|
||||
remove_date: '2021-08-03'
|
||||
---
|
||||
|
||||
This document was moved to [another location](reviews/index.md).
|
||||
|
||||
<!-- This redirect file can be deleted after <2021-08-03>. -->
|
||||
<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->
|
|
@ -5,7 +5,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
|
|||
type: index, reference
|
||||
---
|
||||
|
||||
# Review and manage merge requests **(FREE)**
|
||||
# Review a merge request **(FREE)**
|
||||
|
||||
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/216054) in GitLab 13.5.
|
||||
> - [Feature flag removed](https://gitlab.com/gitlab-org/gitlab/-/issues/245190) in GitLab 13.9.
|
||||
|
@ -16,47 +16,6 @@ to propose changes. Your team leaves [comments](../../../discussions/index.md),
|
|||
makes [code suggestions](suggestions.md) you can accept from the user interface.
|
||||
When your work is reviewed, your team members can choose to accept or reject it.
|
||||
|
||||
## Bulk edit merge requests at the project level
|
||||
|
||||
Users with permission level of [Developer or higher](../../../permissions.md) can manage merge requests.
|
||||
|
||||
When bulk editing merge requests in a project, you can edit the following attributes:
|
||||
|
||||
- Status (open/closed)
|
||||
- Assignee
|
||||
- Milestone
|
||||
- Labels
|
||||
- Subscriptions
|
||||
|
||||
To update multiple project merge requests at the same time:
|
||||
|
||||
1. In a project, go to **Merge requests**.
|
||||
1. Click **Edit merge requests**. A sidebar on the right-hand side of your screen appears with
|
||||
editable fields.
|
||||
1. Select the checkboxes next to each merge request you want to edit.
|
||||
1. Select the appropriate fields and their values from the sidebar.
|
||||
1. Click **Update all**.
|
||||
|
||||
## Bulk edit merge requests at the group level
|
||||
|
||||
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/12719) in [GitLab Premium](https://about.gitlab.com/pricing/) 12.2.
|
||||
|
||||
Users with permission level of [Developer or higher](../../../permissions.md) can manage merge requests.
|
||||
|
||||
When bulk editing merge requests in a group, you can edit the following attributes:
|
||||
|
||||
- Milestone
|
||||
- Labels
|
||||
|
||||
To update multiple group merge requests at the same time:
|
||||
|
||||
1. In a group, go to **Merge requests**.
|
||||
1. Click **Edit merge requests**. A sidebar on the right-hand side of your screen appears with
|
||||
editable fields.
|
||||
1. Select the checkboxes next to each merge request you want to edit.
|
||||
1. Select the appropriate fields and their values from the sidebar.
|
||||
1. Click **Update all**.
|
||||
|
||||
## Review a merge request
|
||||
|
||||
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/4213) in GitLab Premium 11.4.
|
||||
|
@ -204,12 +163,51 @@ Multiline comments display the comment's line numbers above the body of the comm
|
|||
|
||||
![Multiline comment selection displayed above comment](img/multiline-comment-saved.png)
|
||||
|
||||
## Bulk edit merge requests at the project level
|
||||
|
||||
Users with permission level of [Developer or higher](../../../permissions.md) can manage merge requests.
|
||||
|
||||
When bulk editing merge requests in a project, you can edit the following attributes:
|
||||
|
||||
- Status (open/closed)
|
||||
- Assignee
|
||||
- Milestone
|
||||
- Labels
|
||||
- Subscriptions
|
||||
|
||||
To update multiple project merge requests at the same time:
|
||||
|
||||
1. In a project, go to **Merge requests**.
|
||||
1. Click **Edit merge requests**. A sidebar on the right-hand side of your screen appears with
|
||||
editable fields.
|
||||
1. Select the checkboxes next to each merge request you want to edit.
|
||||
1. Select the appropriate fields and their values from the sidebar.
|
||||
1. Click **Update all**.
|
||||
|
||||
## Bulk edit merge requests at the group level
|
||||
|
||||
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/12719) in [GitLab Premium](https://about.gitlab.com/pricing/) 12.2.
|
||||
|
||||
Users with permission level of [Developer or higher](../../../permissions.md) can manage merge requests.
|
||||
|
||||
When bulk editing merge requests in a group, you can edit the following attributes:
|
||||
|
||||
- Milestone
|
||||
- Labels
|
||||
|
||||
To update multiple group merge requests at the same time:
|
||||
|
||||
1. In a group, go to **Merge requests**.
|
||||
1. Click **Edit merge requests**. A sidebar on the right-hand side of your screen appears with
|
||||
editable fields.
|
||||
1. Select the checkboxes next to each merge request you want to edit.
|
||||
1. Select the appropriate fields and their values from the sidebar.
|
||||
1. Click **Update all**.
|
||||
|
||||
## Associated features
|
||||
|
||||
These features are associated with merge requests:
|
||||
|
||||
- [Bulk editing merge requests](../../../project/bulk_editing.md):
|
||||
Update the attributes of multiple merge requests simultaneously.
|
||||
- [Cherry-pick changes](../cherry_pick_changes.md):
|
||||
Cherry-pick any commit in the UI by selecting the **Cherry-pick** button in a merged merge requests or a commit.
|
||||
- [Fast-forward merge requests](../fast_forward_merge.md):
|
||||
|
|
|
@ -169,6 +169,10 @@ To export a project and its data, follow these steps:
|
|||
|
||||
## Import the project
|
||||
|
||||
WARNING:
|
||||
Only import projects from sources you trust. If you import a project from an untrusted source, it
|
||||
may be possible for an attacker to steal your sensitive data.
|
||||
|
||||
1. The GitLab project import feature is the first import option when creating a
|
||||
new project. Click on **GitLab export**:
|
||||
|
||||
|
|
|
@ -25557,6 +25557,9 @@ msgstr ""
|
|||
msgid "Profiles|Edit Profile"
|
||||
msgstr ""
|
||||
|
||||
msgid "Profiles|Ensure you have two-factor authentication recovery codes stored in a safe place."
|
||||
msgstr ""
|
||||
|
||||
msgid "Profiles|Enter how your name is pronounced to help people address you correctly"
|
||||
msgstr ""
|
||||
|
||||
|
@ -25749,9 +25752,6 @@ msgstr ""
|
|||
msgid "Profiles|Using emojis in names seems fun, but please try to set a status message instead"
|
||||
msgstr ""
|
||||
|
||||
msgid "Profiles|We recommend you ensure two-factor authentication is enabled and the settings are up to date."
|
||||
msgstr ""
|
||||
|
||||
msgid "Profiles|What's your status?"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -66,8 +66,8 @@ then
|
|||
fi
|
||||
|
||||
# Do not use 'README.md', instead use 'index.md'
|
||||
# Number of 'README.md's as of 2021-06-21
|
||||
NUMBER_READMES=15
|
||||
# Number of 'README.md's as of 2021-08-17
|
||||
NUMBER_READMES=13
|
||||
FIND_READMES=$(find doc/ -name "README.md" | wc -l)
|
||||
echo '=> Checking for new README.md files...'
|
||||
echo
|
||||
|
|
|
@ -70,6 +70,12 @@ RSpec.describe Profiles::TwoFactorAuthsController do
|
|||
go
|
||||
end
|
||||
|
||||
it 'dismisses the `ACCOUNT_RECOVERY_REGULAR_CHECK` callout' do
|
||||
expect(controller.helpers).to receive(:dismiss_account_recovery_regular_check)
|
||||
|
||||
go
|
||||
end
|
||||
|
||||
it 'renders create' do
|
||||
go
|
||||
expect(response).to render_template(:create)
|
||||
|
@ -117,6 +123,12 @@ RSpec.describe Profiles::TwoFactorAuthsController do
|
|||
user.reload
|
||||
expect(user.otp_backup_codes).not_to be_empty
|
||||
end
|
||||
|
||||
it 'dismisses the `ACCOUNT_RECOVERY_REGULAR_CHECK` callout' do
|
||||
expect(controller.helpers).to receive(:dismiss_account_recovery_regular_check)
|
||||
|
||||
post :codes
|
||||
end
|
||||
end
|
||||
|
||||
describe 'DELETE destroy' do
|
||||
|
|
|
@ -88,9 +88,10 @@ module LoginHelpers
|
|||
|
||||
# Private: Login as the specified user
|
||||
#
|
||||
# user - User instance to login with
|
||||
# user - User instance to login with
|
||||
# remember - Whether or not to check "Remember me" (default: false)
|
||||
def gitlab_sign_in_with(user, remember: false)
|
||||
# two_factor_auth - If two-factor authentication is enabled (default: false)
|
||||
def gitlab_sign_in_with(user, remember: false, two_factor_auth: false)
|
||||
visit new_user_session_path
|
||||
|
||||
fill_in "user_login", with: user.email
|
||||
|
@ -98,6 +99,11 @@ module LoginHelpers
|
|||
check 'user_remember_me' if remember
|
||||
|
||||
click_button "Sign in"
|
||||
|
||||
if two_factor_auth
|
||||
fill_in "user_otp_attempt", with: user.reload.current_otp
|
||||
click_button "Verify code"
|
||||
end
|
||||
end
|
||||
|
||||
def login_via(provider, user, uid, remember_me: false, additional_info: {})
|
||||
|
|
Loading…
Reference in New Issue