datadoghq.eu.
api_url:
type: string
- description: "(Advanced) The full URL for your Datadog site"
+ description: Full URL of your Datadog site.
+ api_key:
+ type: string
+ description: API
+ key used for authentication with Datadog.
archive_trace_events:
type: boolean
description: When enabled, job logs are collected by Datadog and displayed
along with pipeline execution traces.
datadog_service:
type: string
- description: Tag all data from this GitLab instance in Datadog. Useful when
- managing several self-managed deployments
+ description: GitLab instance to tag all data from in Datadog. Can be used
+ when managing several self-managed deployments.
datadog_env:
type: string
- description: For self-managed deployments, set the env tag for all the data
- sent to Datadog
+ description: For self-managed deployments, `env` tag for all the data sent
+ to Datadog.
datadog_tags:
type: string
- description: 'Custom tags in Datadog. Specify one tag per line in the format:
- "key:value\nkey2:value2"'
+ description: Custom tags in Datadog. Specify one tag per line in the format
+ `key:value\nkey2:value2`.
pipeline_events:
type: boolean
description: Trigger event when a pipeline status changes.
build_events:
type: boolean
description: Trigger event when a build is created.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- api_key
description: Create/Edit Datadog integration
@@ -46219,6 +48627,10 @@ definitions:
diffblue_access_token_secret:
type: string
description: Access token secret used by Diffblue Cover in pipelines.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- diffblue_license_key
- diffblue_access_token_name
@@ -46309,21 +48721,25 @@ definitions:
deployment_events:
type: boolean
description: Trigger event when a deployment starts or finishes.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- webhook
description: Create/Edit Discord integration
putApiV4ProjectsIdServicesDroneCi:
type: object
properties:
- token:
- type: string
- description: Drone CI token
- drone_url:
- type: string
- description: Drone CI URL
enable_ssl_verification:
type: boolean
- description: Enable SSL verification
+ description: Enable SSL verification. Defaults to `true` (enabled).
+ drone_url:
+ type: string
+ description: Drone CI URL (for example, `http://drone.example.com`).
+ token:
+ type: string
+ description: Drone CI token.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
@@ -46333,31 +48749,41 @@ definitions:
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- - token
- drone_url
+ - token
description: Create/Edit Drone Ci integration
putApiV4ProjectsIdServicesEmailsOnPush:
type: object
properties:
- recipients:
- type: string
- description: Comma-separated list of recipient email addresses
- disable_diffs:
- type: boolean
- description: Disable code diffs
send_from_committer_email:
type: boolean
description: Send from committer
+ disable_diffs:
+ type: boolean
+ description: Disable code diffs
branches_to_be_notified:
type: string
- description: Branches for which notifications are to be sent
+ description: Branches to send notifications for. Valid options are `all`,
+ `default`, `protected`, and `default_and_protected`. The default value is
+ `default`.
+ recipients:
+ type: string
+ description: Emails separated by whitespace.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- recipients
description: Create/Edit Emails On Push integration
@@ -46367,6 +48793,10 @@ definitions:
external_wiki_url:
type: string
description: URL of the external wiki.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- external_wiki_url
description: Create/Edit External Wiki integration
@@ -46471,6 +48901,10 @@ definitions:
alert_events:
type: boolean
description: Trigger event when a new, unique alert is recorded.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
description: Create/Edit Gitlab Slack Application integration
putApiV4ProjectsIdServicesGooglePlay:
type: object
@@ -46487,6 +48921,10 @@ definitions:
google_play_protected_refs:
type: boolean
description: Set variables on protected branches and tags only.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- package_name
- service_account_key_file_name
@@ -46497,10 +48935,15 @@ definitions:
properties:
webhook:
type: string
- description: The Hangouts Chat webhook. e.g. https://chat.googleapis.com/v1/spaces…
+ description: The Hangouts Chat webhook (for example, `https://chat.googleapis.com/v1/spaces...`).
+ notify_only_broken_pipelines:
+ type: boolean
+ description: Send notifications for broken pipelines.
branches_to_be_notified:
type: string
- description: Branches for which notifications are to be sent
+ description: Branches to send notifications for. Valid options are `all`,
+ `default`, `protected`, and `default_and_protected`. The default value is
+ `default`.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
@@ -46529,6 +48972,10 @@ definitions:
wiki_page_events:
type: boolean
description: Trigger event when a wiki page is created or updated.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- webhook
description: Create/Edit Hangouts Chat integration
@@ -46549,6 +48996,10 @@ definitions:
password:
type: string
description: The password of the user.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- url
- project_name
@@ -46577,27 +49028,31 @@ definitions:
push_events:
type: boolean
description: Trigger event for pushes to the repository.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- recipients
description: Create/Edit Irker integration
putApiV4ProjectsIdServicesJenkins:
type: object
properties:
- jenkins_url:
- type: string
- description: Jenkins root URL like https://jenkins.example.com
enable_ssl_verification:
type: boolean
- description: Enable SSL verification
+ description: Enable SSL verification. Defaults to `true` (enabled).
+ jenkins_url:
+ type: string
+ description: URL of the Jenkins server.
project_name:
type: string
- description: 'The URL-friendly project name. Example: my_project_name'
+ description: Name of the Jenkins project.
username:
type: string
- description: A user with access to the Jenkins server, if applicable
+ description: Username of the Jenkins server.
password:
type: string
- description: The password of the user
+ description: Password of the Jenkins server.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
@@ -46607,6 +49062,10 @@ definitions:
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- jenkins_url
- project_name
@@ -46669,16 +49128,106 @@ definitions:
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- url
- password
description: Create/Edit Jira integration
+ putApiV4ProjectsIdServicesJiraCloudApp:
+ type: object
+ properties:
+ jira_cloud_app_service_ids:
+ type: string
+ description: Copy and paste your JSM Service ID here. Use comma (,) to separate
+ multiple IDs.
+ jira_cloud_app_enable_deployment_gating:
+ type: boolean
+ description: Enable to approve or reject blocked GitLab deployments from Jira
+ Service Management.
+ jira_cloud_app_deployment_gating_environments:
+ type: string
+ description: Enter the environment (production,staging,testing,development)
+ where you want to enable deployment gating. Use comma (,) to separate multiple
+ environments.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
+ description: Create/Edit Jira Cloud App integration
+ putApiV4ProjectsIdServicesMatrix:
+ type: object
+ properties:
+ hostname:
+ type: string
+ description: Custom hostname of the Matrix server. The default value is `https://matrix.org`.
+ token:
+ type: string
+ description: The Matrix access token (for example, `syt-zyx57W2v1u123ew11`).
+ room:
+ type: string
+ description: Unique identifier for the target room (in the format `!qPKKM111FFKKsfoCVy:matrix.org`).
+ notify_only_broken_pipelines:
+ type: boolean
+ description: Send notifications for broken pipelines.
+ branches_to_be_notified:
+ type: string
+ description: Branches to send notifications for. Valid options are `all`,
+ `default`, `protected`, and `default_and_protected`. The default value is
+ `default`.
+ push_events:
+ type: boolean
+ description: Trigger event for pushes to the repository.
+ issues_events:
+ type: boolean
+ description: Trigger event when an issue is created, updated, or closed.
+ confidential_issues_events:
+ type: boolean
+ description: Trigger event when a confidential issue is created, updated,
+ or closed.
+ merge_requests_events:
+ type: boolean
+ description: Trigger event when a merge request is created, updated, or merged.
+ note_events:
+ type: boolean
+ description: Trigger event for new comments.
+ confidential_note_events:
+ type: boolean
+ description: Trigger event for new comments on confidential issues.
+ tag_push_events:
+ type: boolean
+ description: Trigger event for new tags pushed to the repository.
+ pipeline_events:
+ type: boolean
+ description: Trigger event when a pipeline status changes.
+ wiki_page_events:
+ type: boolean
+ description: Trigger event when a wiki page is created or updated.
+ incident_events:
+ type: boolean
+ description: Trigger event when an incident is created.
+ vulnerability_events:
+ type: boolean
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
+ required:
+ - token
+ - room
+ description: Create/Edit Matrix integration
putApiV4ProjectsIdServicesMattermostSlashCommands:
type: object
properties:
token:
type: string
description: The Mattermost token.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- token
description: Create/Edit Mattermost Slash Commands integration
@@ -46688,6 +49237,10 @@ definitions:
token:
type: string
description: The Slack token
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- token
description: Create/Edit Slack Slash Commands integration
@@ -46712,6 +49265,10 @@ definitions:
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- username
- token
@@ -46728,6 +49285,10 @@ definitions:
push_events:
type: boolean
description: Trigger event for pushes to the repository.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- project_url
- issues_url
@@ -46750,6 +49311,10 @@ definitions:
pipeline_events:
type: boolean
description: Trigger event when a pipeline status changes.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- recipients
description: Create/Edit Pipelines Email integration
@@ -46766,6 +49331,10 @@ definitions:
push_events:
type: boolean
description: Trigger event for pushes to the repository.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- token
description: Create/Edit Pivotaltracker integration
@@ -46786,6 +49355,10 @@ definitions:
type: string
description: 'Contents of the credentials.json file of your service account,
like: { "type": "service_account", "project_id": ... }'
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- api_url
- google_iap_audience_client_id
@@ -46825,6 +49398,10 @@ definitions:
wiki_page_events:
type: boolean
description: Trigger event when a wiki page is created or updated.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- webhook
description: Create/Edit Pumble integration
@@ -46849,6 +49426,10 @@ definitions:
push_events:
type: boolean
description: Trigger event for pushes to the repository.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- api_key
- user_key
@@ -46871,6 +49452,10 @@ definitions:
push_events:
type: boolean
description: Trigger event for pushes to the repository.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- project_url
- issues_url
@@ -46891,6 +49476,10 @@ definitions:
push_events:
type: boolean
description: Trigger event for pushes to the repository.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- project_url
- issues_url
@@ -46908,6 +49497,10 @@ definitions:
push_events:
type: boolean
description: Trigger event for pushes to the repository.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- project_url
- issues_url
@@ -46924,6 +49517,10 @@ definitions:
push_events:
type: boolean
description: Trigger event for pushes to the repository.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- project_url
- issues_url
@@ -47035,6 +49632,10 @@ definitions:
alert_events:
type: boolean
description: Trigger event when a new, unique alert is recorded.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- webhook
description: Create/Edit Slack integration
@@ -47078,6 +49679,10 @@ definitions:
wiki_page_events:
type: boolean
description: Trigger event when a wiki page is created or updated.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- webhook
description: Create/Edit Microsoft Teams integration
@@ -47185,6 +49790,10 @@ definitions:
description: Trigger event when an incident is created.
vulnerability_events:
type: boolean
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- webhook
description: Create/Edit Mattermost integration
@@ -47212,6 +49821,10 @@ definitions:
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- teamcity_url
- build_type
@@ -47226,22 +49839,23 @@ definitions:
description: Custom hostname of the Telegram API. The default value is `https://api.telegram.org`.
token:
type: string
- description: The Telegram chat token. For example, 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11
+ description: The Telegram bot token (for example, `123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11`).
room:
type: string
- description: Unique identifier for the target chat or username of the target
- channel (in the format @channelusername)
+ description: Unique identifier for the target chat or the username of the
+ target channel (in the format `@channelusername`).
thread:
- type: integer
- format: int32
- description: Unique identifier for the target message thread (topic in a forum
- supergroup)
- branches_to_be_notified:
type: string
- description: Branches for which notifications are to be sent.
+ description: Unique identifier for the target message thread (topic in a forum
+ supergroup).
notify_only_broken_pipelines:
type: boolean
- description: Send notifications for broken pipelines
+ description: Send notifications for broken pipelines.
+ branches_to_be_notified:
+ type: string
+ description: Branches to send notifications for. Valid options are `all`,
+ `default`, `protected`, and `default_and_protected`. The default value is
+ `default`.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
@@ -47275,6 +49889,10 @@ definitions:
description: Trigger event when an incident is created.
vulnerability_events:
type: boolean
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- token
- room
@@ -47284,7 +49902,15 @@ definitions:
properties:
webhook:
type: string
- description: The Unify Circuit webhook. e.g. https://circuit.com/rest/v2/webhooks/incoming/…
+ description: The Unify Circuit webhook (for example, `https://circuit.com/rest/v2/webhooks/incoming/...`).
+ notify_only_broken_pipelines:
+ type: boolean
+ description: Send notifications for broken pipelines.
+ branches_to_be_notified:
+ type: string
+ description: Branches to send notifications for. Valid options are `all`,
+ `default`, `protected`, and `default_and_protected`. The default value is
+ `default`.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
@@ -47313,6 +49939,10 @@ definitions:
wiki_page_events:
type: boolean
description: Trigger event when a wiki page is created or updated.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- webhook
description: Create/Edit Unify Circuit integration
@@ -47358,6 +49988,10 @@ definitions:
wiki_page_events:
type: boolean
description: Trigger event when a wiki page is created or updated.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- webhook
description: Create/Edit Webex Teams integration
@@ -47378,6 +50012,10 @@ definitions:
zentao_product_xid:
type: string
description: The product ID of ZenTao project
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- url
- api_token
@@ -47399,6 +50037,10 @@ definitions:
type: boolean
description: Trigger event when a confidential issue is created, updated,
or closed.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- url
description: Create/Edit Squash Tm integration
@@ -47418,6 +50060,10 @@ definitions:
pipeline_events:
type: boolean
description: Trigger event when a pipeline status changes.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- token
- repository_url
@@ -47427,6 +50073,12 @@ definitions:
properties:
token:
type: string
+ description: Personal access token to authenticate calls to the GitGuardian
+ API.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- token
description: Create/Edit Git Guardian integration
@@ -47435,10 +50087,17 @@ definitions:
properties:
artifact_registry_project_id:
type: string
+ description: ID of the Google Cloud project.
artifact_registry_repositories:
type: string
+ description: Repository of Artifact Registry.
artifact_registry_location:
type: string
+ description: Location of the Artifact Registry repository.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- artifact_registry_project_id
- artifact_registry_repositories
@@ -47459,6 +50118,10 @@ definitions:
workload_identity_pool_provider_id:
type: string
description: ID of the Workload Identity Pool provider.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- workload_identity_federation_project_id
- workload_identity_federation_project_number
@@ -47477,9 +50140,21 @@ definitions:
push_events:
type: boolean
description: Trigger event for pushes to the repository.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- mock_service_url
description: Create/Edit Mock Ci integration
+ putApiV4ProjectsIdServicesMockMonitoring:
+ type: object
+ properties:
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
+ description: Create/Edit Mock Monitoring integration
API_Entities_ProjectIntegration:
type: object
properties:
@@ -47534,6 +50209,8 @@ definitions:
type: boolean
comment_on_event_enabled:
type: boolean
+ inherited:
+ type: boolean
vulnerability_events:
type: boolean
properties:
@@ -47577,6 +50254,10 @@ definitions:
app_store_protected_refs:
type: boolean
description: Set variables on protected branches and tags only.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- app_store_issuer_id
- app_store_key_id
@@ -47597,6 +50278,10 @@ definitions:
push_events:
type: boolean
description: Trigger event for pushes to the repository.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- api_key
description: Create/Edit Asana integration
@@ -47612,6 +50297,10 @@ definitions:
push_events:
type: boolean
description: Trigger event for pushes to the repository.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- token
description: Create/Edit Assembla integration
@@ -47636,6 +50325,10 @@ definitions:
push_events:
type: boolean
description: Trigger event for pushes to the repository.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- bamboo_url
- build_key
@@ -47657,6 +50350,10 @@ definitions:
push_events:
type: boolean
description: Trigger event for pushes to the repository.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- project_url
- issues_url
@@ -47665,16 +50362,17 @@ definitions:
putApiV4ProjectsIdIntegrationsBuildkite:
type: object
properties:
- token:
- type: string
- description: Buildkite project GitLab token
project_url:
type: string
- description: The Buildkite pipeline URL
+ description: Pipeline URL (for example, `https://buildkite.com/example/pipeline`).
+ token:
+ type: string
+ description: Token you get after you create a Buildkite pipeline with a GitLab
+ repository.
enable_ssl_verification:
type: boolean
- description: 'DEPRECATED: This parameter has no effect since SSL verification
- will always be enabled'
+ description: 'DEPRECATED: This parameter has no effect because SSL verification
+ is always enabled.'
push_events:
type: boolean
description: Trigger event for pushes to the repository.
@@ -47684,9 +50382,13 @@ definitions:
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- - token
- project_url
+ - token
description: Create/Edit Buildkite integration
putApiV4ProjectsIdIntegrationsCampfire:
type: object
@@ -47704,6 +50406,10 @@ definitions:
push_events:
type: boolean
description: Trigger event for pushes to the repository.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- token
description: Create/Edit Campfire integration
@@ -47713,6 +50419,10 @@ definitions:
confluence_url:
type: string
description: URL of the Confluence Workspace hosted on `atlassian.net`.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- confluence_url
description: Create/Edit Confluence integration
@@ -47731,6 +50441,10 @@ definitions:
push_events:
type: boolean
description: Trigger event for pushes to the repository.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- project_url
- issues_url
@@ -47739,38 +50453,43 @@ definitions:
putApiV4ProjectsIdIntegrationsDatadog:
type: object
properties:
- api_key:
- type: string
- description: API key used for authentication with Datadog
datadog_site:
type: string
- description: The Datadog site to send data to. To send data to the EU site,
- use datadoghq.eu
+ description: Datadog site to send data to. To send data to the EU site, use
+ datadoghq.eu.
api_url:
type: string
- description: "(Advanced) The full URL for your Datadog site"
+ description: Full URL of your Datadog site.
+ api_key:
+ type: string
+ description: API
+ key used for authentication with Datadog.
archive_trace_events:
type: boolean
description: When enabled, job logs are collected by Datadog and displayed
along with pipeline execution traces.
datadog_service:
type: string
- description: Tag all data from this GitLab instance in Datadog. Useful when
- managing several self-managed deployments
+ description: GitLab instance to tag all data from in Datadog. Can be used
+ when managing several self-managed deployments.
datadog_env:
type: string
- description: For self-managed deployments, set the env tag for all the data
- sent to Datadog
+ description: For self-managed deployments, `env` tag for all the data sent
+ to Datadog.
datadog_tags:
type: string
- description: 'Custom tags in Datadog. Specify one tag per line in the format:
- "key:value\nkey2:value2"'
+ description: Custom tags in Datadog. Specify one tag per line in the format
+ `key:value\nkey2:value2`.
pipeline_events:
type: boolean
description: Trigger event when a pipeline status changes.
build_events:
type: boolean
description: Trigger event when a build is created.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- api_key
description: Create/Edit Datadog integration
@@ -47786,6 +50505,10 @@ definitions:
diffblue_access_token_secret:
type: string
description: Access token secret used by Diffblue Cover in pipelines.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- diffblue_license_key
- diffblue_access_token_name
@@ -47876,21 +50599,25 @@ definitions:
deployment_events:
type: boolean
description: Trigger event when a deployment starts or finishes.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- webhook
description: Create/Edit Discord integration
putApiV4ProjectsIdIntegrationsDroneCi:
type: object
properties:
- token:
- type: string
- description: Drone CI token
- drone_url:
- type: string
- description: Drone CI URL
enable_ssl_verification:
type: boolean
- description: Enable SSL verification
+ description: Enable SSL verification. Defaults to `true` (enabled).
+ drone_url:
+ type: string
+ description: Drone CI URL (for example, `http://drone.example.com`).
+ token:
+ type: string
+ description: Drone CI token.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
@@ -47900,31 +50627,41 @@ definitions:
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- - token
- drone_url
+ - token
description: Create/Edit Drone Ci integration
putApiV4ProjectsIdIntegrationsEmailsOnPush:
type: object
properties:
- recipients:
- type: string
- description: Comma-separated list of recipient email addresses
- disable_diffs:
- type: boolean
- description: Disable code diffs
send_from_committer_email:
type: boolean
description: Send from committer
+ disable_diffs:
+ type: boolean
+ description: Disable code diffs
branches_to_be_notified:
type: string
- description: Branches for which notifications are to be sent
+ description: Branches to send notifications for. Valid options are `all`,
+ `default`, `protected`, and `default_and_protected`. The default value is
+ `default`.
+ recipients:
+ type: string
+ description: Emails separated by whitespace.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- recipients
description: Create/Edit Emails On Push integration
@@ -47934,6 +50671,10 @@ definitions:
external_wiki_url:
type: string
description: URL of the external wiki.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- external_wiki_url
description: Create/Edit External Wiki integration
@@ -48038,6 +50779,10 @@ definitions:
alert_events:
type: boolean
description: Trigger event when a new, unique alert is recorded.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
description: Create/Edit Gitlab Slack Application integration
putApiV4ProjectsIdIntegrationsGooglePlay:
type: object
@@ -48054,6 +50799,10 @@ definitions:
google_play_protected_refs:
type: boolean
description: Set variables on protected branches and tags only.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- package_name
- service_account_key_file_name
@@ -48064,10 +50813,15 @@ definitions:
properties:
webhook:
type: string
- description: The Hangouts Chat webhook. e.g. https://chat.googleapis.com/v1/spaces…
+ description: The Hangouts Chat webhook (for example, `https://chat.googleapis.com/v1/spaces...`).
+ notify_only_broken_pipelines:
+ type: boolean
+ description: Send notifications for broken pipelines.
branches_to_be_notified:
type: string
- description: Branches for which notifications are to be sent
+ description: Branches to send notifications for. Valid options are `all`,
+ `default`, `protected`, and `default_and_protected`. The default value is
+ `default`.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
@@ -48096,6 +50850,10 @@ definitions:
wiki_page_events:
type: boolean
description: Trigger event when a wiki page is created or updated.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- webhook
description: Create/Edit Hangouts Chat integration
@@ -48116,6 +50874,10 @@ definitions:
password:
type: string
description: The password of the user.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- url
- project_name
@@ -48144,27 +50906,31 @@ definitions:
push_events:
type: boolean
description: Trigger event for pushes to the repository.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- recipients
description: Create/Edit Irker integration
putApiV4ProjectsIdIntegrationsJenkins:
type: object
properties:
- jenkins_url:
- type: string
- description: Jenkins root URL like https://jenkins.example.com
enable_ssl_verification:
type: boolean
- description: Enable SSL verification
+ description: Enable SSL verification. Defaults to `true` (enabled).
+ jenkins_url:
+ type: string
+ description: URL of the Jenkins server.
project_name:
type: string
- description: 'The URL-friendly project name. Example: my_project_name'
+ description: Name of the Jenkins project.
username:
type: string
- description: A user with access to the Jenkins server, if applicable
+ description: Username of the Jenkins server.
password:
type: string
- description: The password of the user
+ description: Password of the Jenkins server.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
@@ -48174,6 +50940,10 @@ definitions:
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- jenkins_url
- project_name
@@ -48236,16 +51006,106 @@ definitions:
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- url
- password
description: Create/Edit Jira integration
+ putApiV4ProjectsIdIntegrationsJiraCloudApp:
+ type: object
+ properties:
+ jira_cloud_app_service_ids:
+ type: string
+ description: Copy and paste your JSM Service ID here. Use comma (,) to separate
+ multiple IDs.
+ jira_cloud_app_enable_deployment_gating:
+ type: boolean
+ description: Enable to approve or reject blocked GitLab deployments from Jira
+ Service Management.
+ jira_cloud_app_deployment_gating_environments:
+ type: string
+ description: Enter the environment (production,staging,testing,development)
+ where you want to enable deployment gating. Use comma (,) to separate multiple
+ environments.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
+ description: Create/Edit Jira Cloud App integration
+ putApiV4ProjectsIdIntegrationsMatrix:
+ type: object
+ properties:
+ hostname:
+ type: string
+ description: Custom hostname of the Matrix server. The default value is `https://matrix.org`.
+ token:
+ type: string
+ description: The Matrix access token (for example, `syt-zyx57W2v1u123ew11`).
+ room:
+ type: string
+ description: Unique identifier for the target room (in the format `!qPKKM111FFKKsfoCVy:matrix.org`).
+ notify_only_broken_pipelines:
+ type: boolean
+ description: Send notifications for broken pipelines.
+ branches_to_be_notified:
+ type: string
+ description: Branches to send notifications for. Valid options are `all`,
+ `default`, `protected`, and `default_and_protected`. The default value is
+ `default`.
+ push_events:
+ type: boolean
+ description: Trigger event for pushes to the repository.
+ issues_events:
+ type: boolean
+ description: Trigger event when an issue is created, updated, or closed.
+ confidential_issues_events:
+ type: boolean
+ description: Trigger event when a confidential issue is created, updated,
+ or closed.
+ merge_requests_events:
+ type: boolean
+ description: Trigger event when a merge request is created, updated, or merged.
+ note_events:
+ type: boolean
+ description: Trigger event for new comments.
+ confidential_note_events:
+ type: boolean
+ description: Trigger event for new comments on confidential issues.
+ tag_push_events:
+ type: boolean
+ description: Trigger event for new tags pushed to the repository.
+ pipeline_events:
+ type: boolean
+ description: Trigger event when a pipeline status changes.
+ wiki_page_events:
+ type: boolean
+ description: Trigger event when a wiki page is created or updated.
+ incident_events:
+ type: boolean
+ description: Trigger event when an incident is created.
+ vulnerability_events:
+ type: boolean
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
+ required:
+ - token
+ - room
+ description: Create/Edit Matrix integration
putApiV4ProjectsIdIntegrationsMattermostSlashCommands:
type: object
properties:
token:
type: string
description: The Mattermost token.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- token
description: Create/Edit Mattermost Slash Commands integration
@@ -48255,6 +51115,10 @@ definitions:
token:
type: string
description: The Slack token
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- token
description: Create/Edit Slack Slash Commands integration
@@ -48279,6 +51143,10 @@ definitions:
tag_push_events:
type: boolean
description: Trigger event for new tags pushed to the repository.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- username
- token
@@ -48295,6 +51163,10 @@ definitions:
push_events:
type: boolean
description: Trigger event for pushes to the repository.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- project_url
- issues_url
@@ -48317,6 +51189,10 @@ definitions:
pipeline_events:
type: boolean
description: Trigger event when a pipeline status changes.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- recipients
description: Create/Edit Pipelines Email integration
@@ -48333,6 +51209,10 @@ definitions:
push_events:
type: boolean
description: Trigger event for pushes to the repository.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- token
description: Create/Edit Pivotaltracker integration
@@ -48353,6 +51233,10 @@ definitions:
type: string
description: 'Contents of the credentials.json file of your service account,
like: { "type": "service_account", "project_id": ... }'
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- api_url
- google_iap_audience_client_id
@@ -48392,6 +51276,10 @@ definitions:
wiki_page_events:
type: boolean
description: Trigger event when a wiki page is created or updated.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- webhook
description: Create/Edit Pumble integration
@@ -48416,6 +51304,10 @@ definitions:
push_events:
type: boolean
description: Trigger event for pushes to the repository.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- api_key
- user_key
@@ -48438,6 +51330,10 @@ definitions:
push_events:
type: boolean
description: Trigger event for pushes to the repository.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- project_url
- issues_url
@@ -48458,6 +51354,10 @@ definitions:
push_events:
type: boolean
description: Trigger event for pushes to the repository.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- project_url
- issues_url
@@ -48475,6 +51375,10 @@ definitions:
push_events:
type: boolean
description: Trigger event for pushes to the repository.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- project_url
- issues_url
@@ -48491,6 +51395,10 @@ definitions:
push_events:
type: boolean
description: Trigger event for pushes to the repository.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- project_url
- issues_url
@@ -48602,6 +51510,10 @@ definitions:
alert_events:
type: boolean
description: Trigger event when a new, unique alert is recorded.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- webhook
description: Create/Edit Slack integration
@@ -48645,6 +51557,10 @@ definitions:
wiki_page_events:
type: boolean
description: Trigger event when a wiki page is created or updated.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- webhook
description: Create/Edit Microsoft Teams integration
@@ -48752,6 +51668,10 @@ definitions:
description: Trigger event when an incident is created.
vulnerability_events:
type: boolean
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- webhook
description: Create/Edit Mattermost integration
@@ -48779,6 +51699,10 @@ definitions:
merge_requests_events:
type: boolean
description: Trigger event when a merge request is created, updated, or merged.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- teamcity_url
- build_type
@@ -48793,22 +51717,23 @@ definitions:
description: Custom hostname of the Telegram API. The default value is `https://api.telegram.org`.
token:
type: string
- description: The Telegram chat token. For example, 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11
+ description: The Telegram bot token (for example, `123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11`).
room:
type: string
- description: Unique identifier for the target chat or username of the target
- channel (in the format @channelusername)
+ description: Unique identifier for the target chat or the username of the
+ target channel (in the format `@channelusername`).
thread:
- type: integer
- format: int32
- description: Unique identifier for the target message thread (topic in a forum
- supergroup)
- branches_to_be_notified:
type: string
- description: Branches for which notifications are to be sent.
+ description: Unique identifier for the target message thread (topic in a forum
+ supergroup).
notify_only_broken_pipelines:
type: boolean
- description: Send notifications for broken pipelines
+ description: Send notifications for broken pipelines.
+ branches_to_be_notified:
+ type: string
+ description: Branches to send notifications for. Valid options are `all`,
+ `default`, `protected`, and `default_and_protected`. The default value is
+ `default`.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
@@ -48842,6 +51767,10 @@ definitions:
description: Trigger event when an incident is created.
vulnerability_events:
type: boolean
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- token
- room
@@ -48851,7 +51780,15 @@ definitions:
properties:
webhook:
type: string
- description: The Unify Circuit webhook. e.g. https://circuit.com/rest/v2/webhooks/incoming/…
+ description: The Unify Circuit webhook (for example, `https://circuit.com/rest/v2/webhooks/incoming/...`).
+ notify_only_broken_pipelines:
+ type: boolean
+ description: Send notifications for broken pipelines.
+ branches_to_be_notified:
+ type: string
+ description: Branches to send notifications for. Valid options are `all`,
+ `default`, `protected`, and `default_and_protected`. The default value is
+ `default`.
push_events:
type: boolean
description: Trigger event for pushes to the repository.
@@ -48880,6 +51817,10 @@ definitions:
wiki_page_events:
type: boolean
description: Trigger event when a wiki page is created or updated.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- webhook
description: Create/Edit Unify Circuit integration
@@ -48925,6 +51866,10 @@ definitions:
wiki_page_events:
type: boolean
description: Trigger event when a wiki page is created or updated.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- webhook
description: Create/Edit Webex Teams integration
@@ -48945,6 +51890,10 @@ definitions:
zentao_product_xid:
type: string
description: The product ID of ZenTao project
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- url
- api_token
@@ -48966,6 +51915,10 @@ definitions:
type: boolean
description: Trigger event when a confidential issue is created, updated,
or closed.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- url
description: Create/Edit Squash Tm integration
@@ -48985,6 +51938,10 @@ definitions:
pipeline_events:
type: boolean
description: Trigger event when a pipeline status changes.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- token
- repository_url
@@ -48994,6 +51951,12 @@ definitions:
properties:
token:
type: string
+ description: Personal access token to authenticate calls to the GitGuardian
+ API.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- token
description: Create/Edit Git Guardian integration
@@ -49002,10 +51965,17 @@ definitions:
properties:
artifact_registry_project_id:
type: string
+ description: ID of the Google Cloud project.
artifact_registry_repositories:
type: string
+ description: Repository of Artifact Registry.
artifact_registry_location:
type: string
+ description: Location of the Artifact Registry repository.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- artifact_registry_project_id
- artifact_registry_repositories
@@ -49026,6 +51996,10 @@ definitions:
workload_identity_pool_provider_id:
type: string
description: ID of the Workload Identity Pool provider.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- workload_identity_federation_project_id
- workload_identity_federation_project_number
@@ -49044,9 +52018,21 @@ definitions:
push_events:
type: boolean
description: Trigger event for pushes to the repository.
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
required:
- mock_service_url
description: Create/Edit Mock Ci integration
+ putApiV4ProjectsIdIntegrationsMockMonitoring:
+ type: object
+ properties:
+ use_inherited_settings:
+ type: boolean
+ description: Indicates whether to inherit the default settings. Defaults to
+ `false`.
+ description: Create/Edit Mock Monitoring integration
postApiV4ProjectsIdIntegrationsMattermostSlashCommandsTrigger:
type: object
properties:
@@ -49098,6 +52084,10 @@ definitions:
type: string
description: Source that triggered the member creation process
default: invitations-api
+ member_role_id:
+ type: integer
+ format: int32
+ description: The ID of a member role for the invited user
required:
- access_level
description: Invite non-members by email address to a group or project.
@@ -49118,6 +52108,10 @@ definitions:
type: string
format: date-time
description: Date string in ISO 8601 format (`YYYY-MM-DDTHH:MM:SSZ`)
+ member_role_id:
+ type: integer
+ format: int32
+ description: The ID of a member role for the invited user
description: Updates a group or project invitation.
API_Entities_RelatedIssue:
type: object
@@ -49161,7 +52155,7 @@ definitions:
type: array
items:
type: string
- example: bug
+ example: bug
milestone:
"$ref": "#/definitions/API_Entities_Milestone"
assignees:
@@ -49371,7 +52365,7 @@ definitions:
type: array
items:
type: string
- example: bug
+ example: bug
milestone:
"$ref": "#/definitions/API_Entities_Milestone"
assignees:
@@ -49423,12 +52417,12 @@ definitions:
type: array
items:
type: string
- example: variables config should be a hash of key value pairs
+ example: variables config should be a hash of key value pairs
warnings:
type: array
items:
type: string
- example: jobs:job may allow multiple pipelines ...
+ example: jobs:job may allow multiple pipelines ...
merged_yaml:
type: string
example: |-
@@ -49437,14 +52431,39 @@ definitions:
includes:
type: array
items:
- type: object
- example: '{ "blob": "https://gitlab.com/root/example-project/-/blob/...'
+ "$ref": "#/definitions/API_Entities_Ci_Lint_Result_Include"
+ example: '{ "blob": "https://gitlab.com/root/example-project/-/blob/...'
jobs:
type: array
items:
type: object
- example: '{ "name": "test: .... }'
+ example: '{ "name": "test: .... }'
description: API_Entities_Ci_Lint_Result model
+ API_Entities_Ci_Lint_Result_Include:
+ type: object
+ properties:
+ type:
+ type: string
+ example: local
+ location:
+ type: string
+ example: ".gitlab/ci/build-images.gitlab-ci.yml"
+ blob:
+ type: string
+ example: https://gitlab.com/gitlab-org/gitlab/-/blob/e52d6d0246d7375291850e61f0abc101fbda9dc2/.gitlab/ci/build-images.gitlab-ci.yml
+ raw:
+ type: string
+ example: https://gitlab.com/gitlab-org/gitlab/-/raw/e52d6d0246d7375291850e61f0abc101fbda9dc2/.gitlab/ci/build-images.gitlab-ci.yml
+ extra:
+ type: object
+ example: '{ "job_name": "test", "project": "gitlab-org/gitlab", "ref": "master"
+ }'
+ context_project:
+ type: string
+ example: gitlab-org/gitlab
+ context_sha:
+ type: string
+ example: e52d6d0246d7375291850e61f0abc101fbda9dc2
postApiV4ProjectsIdCiLint:
type: object
properties:
@@ -49468,6 +52487,29 @@ definitions:
required:
- content
description: Validate a CI YAML configuration with a namespace
+ postApiV4ProjectsIdUploads:
+ type: object
+ properties:
+ file:
+ type: file
+ description: The attachment file to be uploaded
+ required:
+ - file
+ description: Upload a file
+ API_Entities_ProjectUpload:
+ type: object
+ properties:
+ id:
+ type: string
+ alt:
+ type: string
+ url:
+ type: string
+ full_path:
+ type: string
+ markdown:
+ type: string
+ description: API_Entities_ProjectUpload model
putApiV4ProjectsIdPackagesMaven*pathFileNameAuthorize:
type: object
properties:
@@ -49536,6 +52578,204 @@ definitions:
required:
- access_level
description: Updates a member of a group or project.
+ API_Entities_MergeRequestApprovals:
+ type: object
+ properties:
+ user_has_approved:
+ type: boolean
+ user_can_approve:
+ type: boolean
+ approved:
+ type: boolean
+ approved_by:
+ "$ref": "#/definitions/API_Entities_Approvals"
+ description: API_Entities_MergeRequestApprovals model
+ API_Entities_Approvals:
+ type: object
+ properties:
+ user:
+ "$ref": "#/definitions/API_Entities_UserBasic"
+ postApiV4ProjectsIdMergeRequestsMergeRequestIidApprove:
+ type: object
+ properties:
+ sha:
+ type: string
+ description: When present, must have the HEAD SHA of the source branch
+ approval_password:
+ type: string
+ description: Current user's password if project is set to require explicit
+ auth on approval
+ example: secret
+ description: Approve a merge request
+ EE_API_Entities_MergeRequestApprovalState:
+ type: object
+ properties:
+ approval_rules_overwritten:
+ type: boolean
+ rules:
+ type: array
+ items:
+ "$ref": "#/definitions/EE_API_Entities_MergeRequestApprovalStateRule"
+ description: EE_API_Entities_MergeRequestApprovalState model
+ EE_API_Entities_MergeRequestApprovalStateRule:
+ type: object
+ properties:
+ id:
+ type: integer
+ format: int32
+ example: 1
+ name:
+ type: string
+ example: QA
+ rule_type:
+ type: string
+ example: regular
+ eligible_approvers:
+ type: array
+ items:
+ "$ref": "#/definitions/API_Entities_UserBasic"
+ approvals_required:
+ type: integer
+ format: int32
+ example: 2
+ users:
+ type: array
+ items:
+ "$ref": "#/definitions/API_Entities_UserBasic"
+ groups:
+ type: array
+ items:
+ "$ref": "#/definitions/API_Entities_Group"
+ contains_hidden_groups:
+ type: boolean
+ report_type:
+ type: string
+ section:
+ type: string
+ example: Backend
+ source_rule:
+ "$ref": "#/definitions/EE_API_Entities_MergeRequestApprovalRule_SourceRule"
+ overridden:
+ type: boolean
+ code_owner:
+ type: boolean
+ approved_by:
+ type: array
+ items:
+ "$ref": "#/definitions/API_Entities_UserBasic"
+ approved:
+ type: boolean
+ EE_API_Entities_MergeRequestApprovalRule_SourceRule:
+ type: object
+ properties:
+ approvals_required:
+ type: integer
+ format: int32
+ example: 2
+ postApiV4ProjectsIdMergeRequestsMergeRequestIidApprovals:
+ type: object
+ properties:
+ approvals_required:
+ type: integer
+ format: int32
+ description: The amount of approvals required. Must be higher than the project
+ approvals
+ example: 2
+ required:
+ - approvals_required
+ description: 'Deprecated in 16.0: Use the merge request approvals API instead.
+ Change approval-related configuration'
+ EE_API_Entities_ApprovalState:
+ type: object
+ properties:
+ id:
+ type: integer
+ format: int32
+ example: 84
+ iid:
+ type: integer
+ format: int32
+ example: 14
+ project_id:
+ type: integer
+ format: int32
+ example: 4
+ title:
+ type: string
+ example: Impedit et ut et dolores vero provident ullam est
+ description:
+ type: string
+ example: Repellendus impedit et vel velit dignissimos.
+ state:
+ type: string
+ example: closed
+ created_at:
+ type: string
+ format: date-time
+ example: '2022-08-17T12:46:35.053Z'
+ updated_at:
+ type: string
+ format: date-time
+ example: '2022-11-14T17:22:01.470Z'
+ merge_status:
+ type: string
+ example: can_be_merged
+ approved:
+ type: boolean
+ approvals_required:
+ type: integer
+ format: int32
+ example: 2
+ approvals_left:
+ type: integer
+ format: int32
+ example: 2
+ require_password_to_approve:
+ type: boolean
+ approved_by:
+ type: array
+ items:
+ "$ref": "#/definitions/API_Entities_Approvals"
+ suggested_approvers:
+ type: array
+ items:
+ "$ref": "#/definitions/API_Entities_UserBasic"
+ approvers:
+ type: string
+ approver_groups:
+ type: string
+ user_has_approved:
+ type: boolean
+ user_can_approve:
+ type: boolean
+ approval_rules_left:
+ type: array
+ items:
+ "$ref": "#/definitions/EE_API_Entities_ApprovalRuleShort"
+ has_approval_rules:
+ type: boolean
+ merge_request_approvers_available:
+ type: boolean
+ multiple_approval_rules_available:
+ type: boolean
+ invalid_approvers_rules:
+ type: array
+ items:
+ "$ref": "#/definitions/EE_API_Entities_ApprovalRuleShort"
+ description: EE_API_Entities_ApprovalState model
+ EE_API_Entities_ApprovalRuleShort:
+ type: object
+ properties:
+ id:
+ type: integer
+ format: int32
+ example: 1
+ name:
+ type: string
+ example: QA
+ rule_type:
+ type: string
+ example: regular
postApiV4ProjectsIdMergeRequestsMergeRequestIidTimeEstimate:
type: object
properties:
@@ -49722,6 +52962,8 @@ definitions:
type: string
detailed_merge_status:
type: string
+ merge_after:
+ type: string
sha:
type: string
merge_commit_sha:
@@ -49907,6 +53149,8 @@ definitions:
type: string
detailed_merge_status:
type: string
+ merge_after:
+ type: string
sha:
type: string
merge_commit_sha:
@@ -49979,6 +53223,18 @@ definitions:
overflow:
type: string
description: API_Entities_MergeRequestChanges model
+ postApiV4ProjectsIdMergeRequestsMergeRequestIidPipelines:
+ type: object
+ properties:
+ async:
+ type: boolean
+ description: Indicates if the merge request pipeline creation should be performed
+ asynchronously. If set to `true`, the pipeline will be created outside of
+ the API request and the endpoint will return an empty response with a `202`
+ status code. When the response is `202`, the creation can still fail outside
+ of this request.
+ default: false
+ description: Create merge request pipeline
putApiV4ProjectsIdMergeRequestsMergeRequestIid:
type: object
properties:
@@ -50148,6 +53404,91 @@ definitions:
diffs:
"$ref": "#/definitions/API_Entities_Diff"
description: API_Entities_MergeRequestDiffFull model
+ putApiV4ProjectsIdPackagesMlModelsModelVersionIdFiles(*path)FileNameAuthorize:
+ type: object
+ properties:
+ path:
+ type: string
+ description: File directory path
+ status:
+ type: string
+ description: Package status
+ enum:
+ - default
+ - hidden
+ description: Workhorse authorize model package file
+ putApiV4ProjectsIdPackagesMlModelsModelVersionIdFiles(*path)FileName:
+ type: object
+ properties:
+ path:
+ type: string
+ description: File directory path
+ status:
+ type: string
+ description: Package status
+ enum:
+ - default
+ - hidden
+ file:
+ type: file
+ description: The package file to be published (generated by Multipart middleware)
+ required:
+ - file
+ description: Workhorse upload model package file
+ putApiV4ProjectsIdPackagesNpmPackage*packageNameDistTagsTag:
+ type: object
+ properties:
+ package_name:
+ type: string
+ description: Package name
+ required:
+ - package_name
+ description: Create or Update the given tag for the given NPM package and version
+ putApiV4ProjectsIdPackagesNpmPackageName:
+ type: object
+ properties:
+ versions:
+ type: object
+ description: Package version info
+ required:
+ - versions
+ description: Create or deprecate NPM package
+ API_Entities_Nuget_PackagesVersions:
+ type: object
+ properties:
+ versions:
+ type: array
+ items:
+ type: string
+ example: 1.3.0.17
+ description: API_Entities_Nuget_PackagesVersions model
+ putApiV4ProjectsIdPackagesNuget:
+ type: object
+ properties:
+ package:
+ type: file
+ description: The package file to be published (generated by Multipart middleware)
+ required:
+ - package
+ description: The NuGet V3 Feed Package Publish endpoint
+ putApiV4ProjectsIdPackagesNugetSymbolpackage:
+ type: object
+ properties:
+ package:
+ type: file
+ description: The package file to be published (generated by Multipart middleware)
+ required:
+ - package
+ description: The NuGet Symbol Package Publish endpoint
+ putApiV4ProjectsIdPackagesNugetV2:
+ type: object
+ properties:
+ package:
+ type: file
+ description: The package file to be published (generated by Multipart middleware)
+ required:
+ - package
+ description: The NuGet V2 Feed Package Publish endpoint
API_Entities_PackageFile:
type: object
properties:
@@ -50432,6 +53773,96 @@ definitions:
format: int32
example: 3
description: API_Entities_ContainerRegistry_TagDetails model
+ postApiV4ProjectsIdDebianDistributions:
+ type: object
+ properties:
+ codename:
+ type: string
+ description: The Debian Codename
+ example: sid
+ suite:
+ type: string
+ description: The Debian Suite
+ example: unstable
+ origin:
+ type: string
+ description: The Debian Origin
+ example: Grep
+ label:
+ type: string
+ description: The Debian Label
+ example: grep.be
+ version:
+ type: string
+ description: The Debian Version
+ example: '12'
+ description:
+ type: string
+ description: The Debian Description
+ example: My description
+ valid_time_duration_seconds:
+ type: integer
+ format: int32
+ description: The duration before the Release file should be considered expired
+ by the client
+ example: 604800
+ components:
+ type: array
+ description: The list of Components
+ example: main
+ items:
+ type: string
+ architectures:
+ type: array
+ description: The list of Architectures
+ example: amd64
+ items:
+ type: string
+ required:
+ - codename
+ description: Create a Debian Distribution
+ putApiV4ProjectsIdDebianDistributionsCodename:
+ type: object
+ properties:
+ suite:
+ type: string
+ description: The Debian Suite
+ example: unstable
+ origin:
+ type: string
+ description: The Debian Origin
+ example: Grep
+ label:
+ type: string
+ description: The Debian Label
+ example: grep.be
+ version:
+ type: string
+ description: The Debian Version
+ example: '12'
+ description:
+ type: string
+ description: The Debian Description
+ example: My description
+ valid_time_duration_seconds:
+ type: integer
+ format: int32
+ description: The duration before the Release file should be considered expired
+ by the client
+ example: 604800
+ components:
+ type: array
+ description: The list of Components
+ example: main
+ items:
+ type: string
+ architectures:
+ type: array
+ description: The list of Architectures
+ example: amd64
+ items:
+ type: string
+ description: Update a Debian Distribution
API_Entities_Event:
type: object
properties:
@@ -50592,12 +54023,12 @@ definitions:
example: '2020-05-07T04:27:17.016Z'
export_status:
type: string
- example: finished
enum:
- queued
- started
- finished
- failed
+ example: finished
_links:
type: object
properties:
@@ -50635,6 +54066,24 @@ definitions:
type: boolean
description: Whether to export in batches
description: Start relations export
+ putApiV4ProjectsIdHooksHookIdUrlVariablesKey:
+ type: object
+ properties:
+ value:
+ type: string
+ description: The value of the variable
+ required:
+ - value
+ description: Set a url variable
+ putApiV4ProjectsIdHooksHookIdCustomHeadersKey:
+ type: object
+ properties:
+ value:
+ type: string
+ description: The value of the custom header
+ required:
+ - value
+ description: Set a custom header
API_Entities_ProjectHook:
type: object
properties:
@@ -50675,11 +54124,23 @@ definitions:
type: array
items:
type: object
- example:
- token: secr3t
+ example:
+ token: secr3t
+ push_events_branch_filter:
+ type: string
+ example: my-branch-*
+ branch_filter_strategy:
+ type: string
+ example: wildcard
custom_webhook_template:
type: string
example: '{"event":"{{object_kind}}"}'
+ custom_headers:
+ type: array
+ items:
+ type: object
+ example:
+ X-Custom-Header: value
project_id:
type: string
example: 1
@@ -50697,18 +54158,130 @@ definitions:
type: boolean
deployment_events:
type: boolean
+ feature_flag_events:
+ type: boolean
job_events:
type: boolean
releases_events:
type: boolean
- push_events_branch_filter:
- type: string
- example: my-branch-*
emoji_events:
type: boolean
resource_access_token_events:
type: boolean
description: API_Entities_ProjectHook model
+ putApiV4ProjectsIdHooksHookId:
+ type: object
+ properties:
+ url:
+ type: string
+ description: The URL to send the request to
+ name:
+ type: string
+ description: Name of the hook
+ description:
+ type: string
+ description: Description of the hook
+ push_events:
+ type: boolean
+ description: Trigger hook on push events
+ issues_events:
+ type: boolean
+ description: Trigger hook on issues events
+ confidential_issues_events:
+ type: boolean
+ description: Trigger hook on confidential issues events
+ merge_requests_events:
+ type: boolean
+ description: Trigger hook on merge request events
+ tag_push_events:
+ type: boolean
+ description: Trigger hook on tag push events
+ note_events:
+ type: boolean
+ description: Trigger hook on note (comment) events
+ confidential_note_events:
+ type: boolean
+ description: Trigger hook on confidential note (comment) events
+ job_events:
+ type: boolean
+ description: Trigger hook on job events
+ pipeline_events:
+ type: boolean
+ description: Trigger hook on pipeline events
+ wiki_page_events:
+ type: boolean
+ description: Trigger hook on wiki events
+ deployment_events:
+ type: boolean
+ description: Trigger hook on deployment events
+ feature_flag_events:
+ type: boolean
+ description: Trigger hook on feature flag events
+ releases_events:
+ type: boolean
+ description: Trigger hook on release events
+ emoji_events:
+ type: boolean
+ description: Trigger hook on emoji events
+ resource_access_token_events:
+ type: boolean
+ description: Trigger hook on project access token expiry events
+ enable_ssl_verification:
+ type: boolean
+ description: Do SSL verification when triggering the hook
+ token:
+ type: string
+ description: Secret token to validate received payloads; this will not be
+ returned in the response
+ push_events_branch_filter:
+ type: string
+ description: Trigger hook on specified branch only
+ custom_webhook_template:
+ type: string
+ description: Custom template for the request payload
+ branch_filter_strategy:
+ type: string
+ description: Filter push events by branch. Possible values are `wildcard`
+ (default), `regex`, and `all_branches`
+ enum:
+ - wildcard
+ - regex
+ - all_branches
+ url_variables:
+ type: array
+ description: URL variables for interpolation
+ items:
+ type: object
+ properties:
+ key:
+ type: string
+ description: Name of the variable
+ example: token
+ value:
+ type: string
+ description: Value of the variable
+ example: '123'
+ required:
+ - key
+ - value
+ custom_headers:
+ type: array
+ description: Custom headers
+ items:
+ type: object
+ properties:
+ key:
+ type: string
+ description: Name of the header
+ example: X-Custom-Header
+ value:
+ type: string
+ description: Value of the header
+ example: value
+ required:
+ - key
+ - value
+ description: Edit project hook
postApiV4ProjectsIdHooks:
type: object
properties:
@@ -50755,6 +54328,9 @@ definitions:
deployment_events:
type: boolean
description: Trigger hook on deployment events
+ feature_flag_events:
+ type: boolean
+ description: Trigger hook on feature flag events
releases_events:
type: boolean
description: Trigger hook on release events
@@ -50777,6 +54353,14 @@ definitions:
custom_webhook_template:
type: string
description: Custom template for the request payload
+ branch_filter_strategy:
+ type: string
+ description: Filter push events by branch. Possible values are `wildcard`
+ (default), `regex`, and `all_branches`
+ enum:
+ - wildcard
+ - regex
+ - all_branches
url_variables:
type: array
description: URL variables for interpolation
@@ -50794,94 +54378,26 @@ definitions:
required:
- key
- value
+ custom_headers:
+ type: array
+ description: Custom headers
+ items:
+ type: object
+ properties:
+ key:
+ type: string
+ description: Name of the header
+ example: X-Custom-Header
+ value:
+ type: string
+ description: Value of the header
+ example: value
+ required:
+ - key
+ - value
required:
- url
description: Add project hook
- putApiV4ProjectsIdHooksHookId:
- type: object
- properties:
- url:
- type: string
- description: The URL to send the request to
- name:
- type: string
- description: Name of the hook
- description:
- type: string
- description: Description of the hook
- push_events:
- type: boolean
- description: Trigger hook on push events
- issues_events:
- type: boolean
- description: Trigger hook on issues events
- confidential_issues_events:
- type: boolean
- description: Trigger hook on confidential issues events
- merge_requests_events:
- type: boolean
- description: Trigger hook on merge request events
- tag_push_events:
- type: boolean
- description: Trigger hook on tag push events
- note_events:
- type: boolean
- description: Trigger hook on note (comment) events
- confidential_note_events:
- type: boolean
- description: Trigger hook on confidential note (comment) events
- job_events:
- type: boolean
- description: Trigger hook on job events
- pipeline_events:
- type: boolean
- description: Trigger hook on pipeline events
- wiki_page_events:
- type: boolean
- description: Trigger hook on wiki events
- deployment_events:
- type: boolean
- description: Trigger hook on deployment events
- releases_events:
- type: boolean
- description: Trigger hook on release events
- emoji_events:
- type: boolean
- description: Trigger hook on emoji events
- resource_access_token_events:
- type: boolean
- description: Trigger hook on project access token expiry events
- enable_ssl_verification:
- type: boolean
- description: Do SSL verification when triggering the hook
- token:
- type: string
- description: Secret token to validate received payloads; this will not be
- returned in the response
- push_events_branch_filter:
- type: string
- description: Trigger hook on specified branch only
- custom_webhook_template:
- type: string
- description: Custom template for the request payload
- url_variables:
- type: array
- description: URL variables for interpolation
- items:
- type: object
- properties:
- key:
- type: string
- description: Name of the variable
- example: token
- value:
- type: string
- description: Value of the variable
- example: '123'
- required:
- - key
- - value
- description: Edit project hook
API_Entities_ProjectImportStatus:
type: object
properties:
@@ -51017,6 +54533,81 @@ definitions:
required:
- target_group_id
description: Add target group to allowlist.
+ API_Entities_Projects_Packages_Protection_Rule:
+ type: object
+ properties:
+ id:
+ type: integer
+ format: int32
+ example: 1
+ project_id:
+ type: integer
+ format: int32
+ example: 1
+ package_name_pattern:
+ type: string
+ example: flightjs/flight
+ package_type:
+ type: string
+ example: npm
+ minimum_access_level_for_push:
+ type: string
+ example: maintainer
+ description: API_Entities_Projects_Packages_Protection_Rule model
+ postApiV4ProjectsIdPackagesProtectionRules:
+ type: object
+ properties:
+ package_name_pattern:
+ type: string
+ description: |-
+ Package name protected by the rule. For example @my-scope/my-package-*.
+ Wildcard character * allowed.
+ package_type:
+ type: string
+ description: Package type protected by the rule. For example npm.
+ enum:
+ - conan
+ - npm
+ - pypi
+ minimum_access_level_for_push:
+ type: string
+ description: |-
+ Minimum GitLab access level able to push a package. Must be at least `maintainer`.
+ For example `maintainer`, `owner` or `admin`.
+ enum:
+ - maintainer
+ - owner
+ - admin
+ required:
+ - package_name_pattern
+ - package_type
+ - minimum_access_level_for_push
+ description: Create a package protection rule for a project
+ patchApiV4ProjectsIdPackagesProtectionRulesPackageProtectionRuleId:
+ type: object
+ properties:
+ package_name_pattern:
+ type: string
+ description: |-
+ Package name protected by the rule. For example @my-scope/my-package-*.
+ Wildcard character * allowed.
+ package_type:
+ type: string
+ description: Package type protected by the rule. For example npm.
+ enum:
+ - conan
+ - npm
+ - pypi
+ minimum_access_level_for_push:
+ type: string
+ description: |-
+ Minimum GitLab access level able to push a package. Must be at least `maintainer`.
+ For example `maintainer`, `owner` or `admin`.
+ enum:
+ - maintainer
+ - owner
+ - admin
+ description: Update a package protection rule for a project
API_Entities_Projects_RepositoryStorageMove:
type: object
properties:
@@ -51099,7 +54690,7 @@ definitions:
type: array
items:
type: string
- example: e0d123e5f316bef78bfdf5a008837577
+ example: e0d123e5f316bef78bfdf5a008837577
imported:
type: boolean
example: false
@@ -51275,17 +54866,17 @@ definitions:
type: array
items:
type: string
- example: include-copyright
+ example: include-copyright
permissions:
type: array
items:
type: string
- example: commercial-use
+ example: commercial-use
limitations:
type: array
items:
type: string
- example: liability
+ example: liability
content:
type: string
example: GNU GENERAL PUBLIC LICENSE
@@ -51612,9 +55203,6 @@ definitions:
issue_branch_template:
type: string
description: Template used to create a branch from an issue
- initialize_with_readme:
- type: boolean
- description: Initialize a project with a README.md
auto_devops_enabled:
type: boolean
description: Flag indication if Auto DevOps is enabled
@@ -51656,10 +55244,10 @@ definitions:
description: How many approvers should approve merge request by default
mirror:
type: boolean
- description: Enables pull mirroring in a project
+ description: "[Deprecated] Enables pull mirroring in a project"
mirror_trigger_builds:
type: boolean
- description: Pull mirroring triggers builds
+ description: "[Deprecated] Pull mirroring triggers builds"
external_authorization_classification_label:
type: string
description: The classification label for the project
@@ -51680,6 +55268,9 @@ definitions:
enum:
- sha1
- sha256
+ initialize_with_readme:
+ type: boolean
+ description: Initialize a project with a README.md
use_custom_template:
type: boolean
description: Use custom template
@@ -52015,9 +55606,6 @@ definitions:
issue_branch_template:
type: string
description: Template used to create a branch from an issue
- initialize_with_readme:
- type: boolean
- description: Initialize a project with a README.md
auto_devops_enabled:
type: boolean
description: Flag indication if Auto DevOps is enabled
@@ -52059,10 +55647,10 @@ definitions:
description: How many approvers should approve merge request by default
mirror:
type: boolean
- description: Enables pull mirroring in a project
+ description: "[Deprecated] Enables pull mirroring in a project"
mirror_trigger_builds:
type: boolean
- description: Pull mirroring triggers builds
+ description: "[Deprecated] Pull mirroring triggers builds"
external_authorization_classification_label:
type: string
description: The classification label for the project
@@ -52083,6 +55671,9 @@ definitions:
enum:
- sha1
- sha256
+ initialize_with_readme:
+ type: boolean
+ description: Initialize a project with a README.md
use_custom_template:
type: boolean
description: Use custom template
@@ -52141,12 +55732,12 @@ definitions:
type: array
items:
type: string
- example: tag
+ example: tag
topics:
type: array
items:
type: string
- example: topic
+ example: topic
ssh_url_to_repo:
type: string
example: git@gitlab.example.com:gitlab/gitlab.git
@@ -52186,6 +55777,8 @@ definitions:
repository_storage:
type: string
example: default
+ forked_from_project:
+ "$ref": "#/definitions/API_Entities_BasicProjectDetails"
container_registry_image_prefix:
type: string
example: registry.gitlab.example.com/gitlab/gitlab-client
@@ -52319,8 +55912,6 @@ definitions:
type: integer
format: int32
example: 1
- forked_from_project:
- "$ref": "#/definitions/API_Entities_BasicProjectDetails"
mr_default_target_self:
type: boolean
import_url:
@@ -52359,6 +55950,10 @@ definitions:
type: boolean
ci_allow_fork_pipelines_to_run_in_parent_project:
type: boolean
+ ci_id_token_sub_claim_components:
+ type: array
+ items:
+ type: string
build_git_strategy:
type: string
example: fetch
@@ -52389,6 +55984,8 @@ definitions:
auto_devops_deploy_strategy:
type: string
example: continuous
+ ci_push_repository_for_job_token_allowed:
+ type: boolean
ci_config_path:
type: string
example: ''
@@ -52460,6 +56057,8 @@ definitions:
type: string
security_and_compliance_enabled:
type: string
+ pre_receive_secret_detection_enabled:
+ type: boolean
compliance_frameworks:
type: string
issues_template:
@@ -52858,9 +56457,6 @@ definitions:
issue_branch_template:
type: string
description: Template used to create a branch from an issue
- initialize_with_readme:
- type: boolean
- description: Initialize a project with a README.md
auto_devops_enabled:
type: boolean
description: Flag indication if Auto DevOps is enabled
@@ -52902,10 +56498,10 @@ definitions:
description: How many approvers should approve merge request by default
mirror:
type: boolean
- description: Enables pull mirroring in a project
+ description: "[Deprecated] Enables pull mirroring in a project"
mirror_trigger_builds:
type: boolean
- description: Pull mirroring triggers builds
+ description: "[Deprecated] Pull mirroring triggers builds"
external_authorization_classification_label:
type: string
description: The classification label for the project
@@ -52941,7 +56537,7 @@ definitions:
description: Enable or disable separated caches based on branch protection.
restrict_user_defined_variables:
type: boolean
- description: Restrict ability to override variables when triggering a pipeline
+ description: Restrict use of user-defined variables when triggering a pipeline
ci_pipeline_variables_minimum_override_role:
type: string
description: Limit ability to override CI/CD variables when triggering a pipeline
@@ -52951,23 +56547,36 @@ definitions:
- developer
- maintainer
- owner
+ ci_push_repository_for_job_token_allowed:
+ type: boolean
+ description: Allow pushing to this project's repository by authenticating
+ with a CI/CD job token generated in this project.
+ ci_id_token_sub_claim_components:
+ type: array
+ description: Claims that will be used to build the sub claim in id tokens
+ items:
+ type: string
+ enum:
+ - project_path
+ - ref_type
+ - ref
allow_pipeline_trigger_approve_deployment:
type: boolean
description: Allow pipeline triggerer to approve deployments
mirror_user_id:
type: integer
format: int32
- description: User responsible for all the activity surrounding a pull mirror
- event. Can only be set by admins
+ description: "[Deprecated] User responsible for all the activity surrounding
+ a pull mirror event. Can only be set by admins"
only_mirror_protected_branches:
type: boolean
- description: Only mirror protected branches
+ description: "[Deprecated] Only mirror protected branches"
mirror_branch_regex:
type: string
- description: Only mirror branches match regex
+ description: "[Deprecated] Only mirror branches match regex"
mirror_overwrites_diverged_branches:
type: boolean
- description: Pull mirror overwrites diverged branches
+ description: "[Deprecated] Pull mirror overwrites diverged branches"
import_url:
type: string
description: URL from which the project is imported
@@ -53047,27 +56656,6 @@ definitions:
format: date
example: '2016-09-26'
description: API_Entities_ProjectGroupLink model
- postApiV4ProjectsIdUploads:
- type: object
- properties:
- file:
- type: file
- description: The attachment file to be uploaded
- required:
- - file
- description: Upload a file
- API_Entities_ProjectUpload:
- type: object
- properties:
- alt:
- type: string
- url:
- type: string
- full_path:
- type: string
- markdown:
- type: string
- description: API_Entities_ProjectUpload model
API_Entities_PublicGroupDetails:
type: object
properties:
@@ -53233,6 +56821,10 @@ definitions:
- 40
- 60
- 0
+ deploy_key_id:
+ type: integer
+ format: int32
+ example: 1
user_id:
type: integer
format: int32
@@ -53341,6 +56933,10 @@ definitions:
- 40
- 60
- 0
+ deploy_key_id:
+ type: integer
+ format: int32
+ example: 1
user_id:
type: integer
format: int32
@@ -53465,9 +57061,55 @@ definitions:
group_id:
type: integer
format: int32
+ deploy_key_id:
+ type: integer
+ format: int32
required:
- name
description: Protect a single tag or wildcard
+ postApiV4ProjectsIdPackagesPypi:
+ type: object
+ properties:
+ content:
+ type: file
+ description: The package file to be published (generated by Multipart middleware)
+ name:
+ type: string
+ example: my.pypi.package
+ version:
+ type: string
+ example: 1.3.7
+ requires_python:
+ type: string
+ example: ">=3.7"
+ md5_digest:
+ type: string
+ example: 900150983cd24fb0d6963f7d28e17f72
+ sha256_digest:
+ type: string
+ example: ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad
+ metadata_version:
+ type: string
+ example: '2.3'
+ author_email:
+ type: string
+ example: cschultz@example.com, snoopy@peanuts.com
+ description:
+ type: string
+ description_content_type:
+ type: string
+ example: text/markdown; charset=UTF-8; variant=GFM
+ summary:
+ type: string
+ example: A module for collecting votes from beagles.
+ keywords:
+ type: string
+ example: dog,puppy,voting,election
+ required:
+ - content
+ - name
+ - version
+ description: The PyPi Package upload endpoint
postApiV4ProjectsIdReleases:
type: object
properties:
@@ -53574,6 +57216,61 @@ definitions:
`milestones` parameter. To remove all milestones from the release, specify
`[]`
description: Update a release
+ postApiV4ProjectsIdReleasesTagNameAssetsLinks:
+ type: object
+ properties:
+ name:
+ type: string
+ description: The name of the link. Link names must be unique in the release
+ url:
+ type: string
+ description: The URL of the link. Link URLs must be unique in the release.
+ direct_asset_path:
+ type: string
+ description: Optional path for a direct asset link
+ filepath:
+ type: string
+ description: 'Deprecated: optional path for a direct asset link'
+ link_type:
+ type: string
+ description: 'The type of the link: `other`, `runbook`, `image`, or `package`.
+ Defaults to `other`'
+ enum:
+ - other
+ - runbook
+ - image
+ - package
+ default: other
+ required:
+ - name
+ - url
+ description: Create a release link
+ putApiV4ProjectsIdReleasesTagNameAssetsLinksLinkId:
+ type: object
+ properties:
+ name:
+ type: string
+ description: The name of the link
+ url:
+ type: string
+ description: The URL of the link
+ direct_asset_path:
+ type: string
+ description: Optional path for a direct asset link
+ filepath:
+ type: string
+ description: 'Deprecated: optional path for a direct asset link'
+ link_type:
+ type: string
+ description: 'The type of the link: `other`, `runbook`, `image`, or `package`.
+ Defaults to `other`'
+ enum:
+ - other
+ - runbook
+ - image
+ - package
+ default: other
+ description: Update a release link
API_Entities_RemoteMirror:
type: object
properties:
@@ -53799,6 +57496,7 @@ definitions:
- api
- read_api
- create_runner
+ - manage_runner
- k8s_proxy
- read_repository
- write_repository
@@ -53809,7 +57507,7 @@ definitions:
type: string
format: date
description: The expiration date of the token
- default: '2025-05-23T21:13:09.000Z'
+ default: '2025-11-22T14:26:34.481Z'
example: "\"2021-01-31"
access_level:
type: integer
@@ -53866,6 +57564,15 @@ definitions:
type: string
example: active
description: API_Entities_ResourceMilestoneEvent model
+ postApiV4ProjectsIdPackagesRubygemsApiV1Gems:
+ type: object
+ properties:
+ file:
+ type: file
+ description: The package file to be published (generated by Multipart middleware)
+ required:
+ - file
+ description: Upload a gem
putApiV4ProjectsIdRepositorySubmodulesSubmodule:
type: object
properties:
@@ -53947,6 +57654,48 @@ definitions:
signature:
type: string
description: API_Entities_TagSignature model
+ putApiV4ProjectsIdPackagesTerraformModulesModuleNameModuleSystem*moduleVersionFileAuthorize:
+ type: object
+ properties:
+ module_version:
+ type: string
+ description: Module version
+ required:
+ - module_version
+ description: Workhorse authorize Terraform Module package file
+ postApiV4ProjectsIdTerraformStateNameLock:
+ type: object
+ properties:
+ ID:
+ type: string
+ description: Terraform state lock ID
+ Operation:
+ type: string
+ description: Terraform operation
+ Info:
+ type: string
+ description: Terraform info
+ Who:
+ type: string
+ description: Terraform state lock owner
+ Version:
+ type: string
+ description: Terraform version
+ Created:
+ type: string
+ description: Terraform state lock timestamp
+ Path:
+ type: string
+ description: Terraform path
+ required:
+ - ID
+ - Operation
+ - Info
+ - Who
+ - Version
+ - Created
+ - Path
+ description: Lock a Terraform state of a certain name
postApiV4ProjectsIdWikis:
type: object
properties:
@@ -54014,1036 +57763,6 @@ definitions:
required:
- file
description: Upload an attachment to the wiki repository
- API_Entities_MetricImage:
- type: object
- properties:
- id:
- type: integer
- format: int32
- example: 23
- created_at:
- type: string
- format: date-time
- example: '2020-11-13T00:06:18.084Z'
- filename:
- type: string
- example: file.png
- file_path:
- type: string
- example: "/uploads/-/system/alert_metric_image/file/23/file.png"
- url:
- type: string
- example: https://example.com/metric
- url_text:
- type: string
- example: An example metric
- description: API_Entities_MetricImage model
- API_Entities_Clusters_AgentTokenBasic:
- type: object
- properties:
- id:
- type: string
- name:
- type: string
- description:
- type: string
- agent_id:
- type: string
- status:
- type: string
- created_at:
- type: string
- created_by_user_id:
- type: string
- description: API_Entities_Clusters_AgentTokenBasic model
- API_Entities_Clusters_AgentToken:
- type: object
- properties:
- id:
- type: string
- name:
- type: string
- description:
- type: string
- agent_id:
- type: string
- status:
- type: string
- created_at:
- type: string
- created_by_user_id:
- type: string
- last_used_at:
- type: string
- description: API_Entities_Clusters_AgentToken model
- postApiV4ProjectsIdClusterAgentsAgentIdTokens:
- type: object
- properties:
- name:
- type: string
- description: The name for the token
- description:
- type: string
- description: The description for the token
- required:
- - name
- description: Create an agent token
- API_Entities_Clusters_AgentTokenWithToken:
- type: object
- properties:
- id:
- type: string
- name:
- type: string
- description:
- type: string
- agent_id:
- type: string
- status:
- type: string
- created_at:
- type: string
- created_by_user_id:
- type: string
- last_used_at:
- type: string
- token:
- type: string
- description: API_Entities_Clusters_AgentTokenWithToken model
- postApiV4ProjectsIdPackagesComposer:
- type: object
- properties:
- branch:
- type: string
- description: The name of the branch
- example: release
- tag:
- type: string
- description: The name of the tag
- example: v1.0.0
- description: Composer packages endpoint for registering packages
- API_Entities_ConanPackage_ConanPackageSnapshot:
- type: object
- properties:
- package_snapshot:
- type: object
- example: '{ "conan_package.tgz": "749b29bdf72587081ca03ec033ee59dc" }'
- description: API_Entities_ConanPackage_ConanPackageSnapshot model
- API_Entities_ConanPackage_ConanRecipeSnapshot:
- type: object
- properties:
- recipe_snapshot:
- type: object
- example: '{ "conan_sources.tgz": "eadf19b33f4c3c7e113faabf26e76277" }'
- description: API_Entities_ConanPackage_ConanRecipeSnapshot model
- API_Entities_ConanPackage_ConanPackageManifest:
- type: object
- properties:
- package_urls:
- type: object
- example: '{ "conan_package.tgz": "https://gitlab.example.com/api/v4/packages/conan/v1/files/my-package/1.0/my-group+my-project/stable/packages/103f6067a947f366ef91fc1b7da351c588d1827f/0/conan_package.tgz"'
- description: API_Entities_ConanPackage_ConanPackageManifest model
- API_Entities_ConanPackage_ConanRecipeManifest:
- type: object
- properties:
- recipe_urls:
- type: object
- example: '{ "conan_sources.tgz": "https://gitlab.example.com/api/v4/packages/conan/v1/files/my-package/1.0/my-group+my-project/stable/0/export/conan_sources.tgz"
- }'
- description: API_Entities_ConanPackage_ConanRecipeManifest model
- API_Entities_ConanPackage_ConanUploadUrls:
- type: object
- properties:
- upload_urls:
- type: object
- example: '{ "conan_package.tgz": "https://gitlab.example.com/api/v4/packages/conan/v1/files/my-package/1.0/my-group+my-project/stable/0/package/103f6067a947f366ef91fc1b7da351c588d1827f/0/conan_package.tgz"
- }'
- description: API_Entities_ConanPackage_ConanUploadUrls model
- putApiV4ProjectsIdPackagesConanV1FilesPackageNamePackageVersionPackageUsernamePackageChannelRecipeRevisionExportFileName:
- type: object
- properties:
- file:
- type: file
- description: The package file to be published (generated by Multipart middleware)
- required:
- - file
- description: Upload recipe package files
- ? putApiV4ProjectsIdPackagesConanV1FilesPackageNamePackageVersionPackageUsernamePackageChannelRecipeRevisionPackageConanPackageReferencePackageRevisionFileName
- : type: object
- properties:
- file:
- type: file
- description: The package file to be published (generated by Multipart middleware)
- required:
- - file
- description: Upload package files
- putApiV4ProjectsIdPackagesDebianFileName:
- type: object
- properties:
- file:
- type: file
- description: The package file to be published (generated by Multipart middleware)
- distribution:
- type: string
- description: The Debian Codename or Suite
- component:
- type: string
- description: The Debian Component
- required:
- - file
- - component
- description: Upload Debian package
- putApiV4ProjectsIdPackagesDebianFileNameAuthorize:
- type: object
- properties:
- distribution:
- type: string
- description: The Debian Codename or Suite
- component:
- type: string
- description: The Debian Component
- required:
- - component
- description: Authorize Debian package upload
- API_Entities_ErrorTracking_ClientKey:
- type: object
- properties:
- id:
- type: integer
- format: int32
- example: 1
- active:
- type: boolean
- public_key:
- type: string
- example: glet_aa77551d849c083f76d0bc545ed053a3
- sentry_dsn:
- type: string
- example: https://glet_aa77551d849c083f76d0bc545ed053a3@example.com/errortracking/api/v1/projects/5
- description: API_Entities_ErrorTracking_ClientKey model
- API_Entities_FeatureFlag:
- type: object
- properties:
- name:
- type: string
- example: merge_train
- description:
- type: string
- example: merge train feature flag
- active:
- type: boolean
- version:
- type: string
- example: new_version_flag
- created_at:
- type: string
- format: date-time
- example: '2019-11-04T08:13:51.423Z'
- updated_at:
- type: string
- format: date-time
- example: '2019-11-04T08:13:51.423Z'
- scopes:
- type: string
- strategies:
- "$ref": "#/definitions/API_Entities_FeatureFlag_Strategy"
- description: API_Entities_FeatureFlag model
- API_Entities_FeatureFlag_Strategy:
- type: object
- properties:
- id:
- type: integer
- format: int32
- example: 1
- name:
- type: string
- example: userWithId
- parameters:
- type: string
- example: '{"userIds": "user1"}'
- scopes:
- "$ref": "#/definitions/API_Entities_FeatureFlag_Scope"
- user_list:
- "$ref": "#/definitions/API_Entities_FeatureFlag_BasicUserList"
- API_Entities_FeatureFlag_Scope:
- type: object
- properties:
- id:
- type: integer
- format: int32
- example: 1
- environment_scope:
- type: string
- example: production
- API_Entities_FeatureFlag_BasicUserList:
- type: object
- properties:
- id:
- type: integer
- format: int32
- example: 1
- iid:
- type: integer
- format: int32
- example: 1
- name:
- type: string
- example: user_list
- user_xids:
- type: string
- example: user1,user2
- postApiV4ProjectsIdFeatureFlags:
- type: object
- properties:
- name:
- type: string
- description: The name of the feature flag
- description:
- type: string
- description: The description of the feature flag
- active:
- type: boolean
- description: The active state of the flag. Defaults to `true`. Supported in
- GitLab 13.3 and later
- version:
- type: string
- description: The version of the feature flag. Must be `new_version_flag`.
- Omit to create a Legacy feature flag.
- strategies:
- type: array
- items:
- type: object
- properties:
- name:
- type: string
- description: The strategy name. Can be `default`, `gradualRolloutUserId`,
- `userWithId`, or `gitlabUserList`. In GitLab 13.5 and later, can be
- `flexibleRollout`
- parameters:
- type: string
- description: The strategy parameters as a JSON-formatted string e.g.
- `{"userIds":"user1"}`
- user_list_id:
- type: integer
- format: int32
- description: The ID of the feature flag user list. If strategy is `gitlabUserList`.
- scopes:
- type: array
- items:
- type: object
- properties:
- environment_scope:
- type: string
- description: The environment scope of the scope
- required:
- - environment_scope
- required:
- - name
- required:
- - name
- description: Create a new feature flag
- putApiV4ProjectsIdFeatureFlagsFeatureFlagName:
- type: object
- properties:
- name:
- type: string
- description: The new name of the feature flag. Supported in GitLab 13.3 and
- later
- description:
- type: string
- description: The description of the feature flag
- active:
- type: boolean
- description: The active state of the flag. Supported in GitLab 13.3 and later
- strategies:
- type: array
- items:
- type: object
- properties:
- id:
- type: integer
- format: int32
- description: The feature flag strategy ID
- name:
- type: string
- description: The strategy name
- parameters:
- type: string
- description: The strategy parameters as a JSON-formatted string e.g.
- `{"userIds":"user1"}`
- user_list_id:
- type: integer
- format: int32
- description: The ID of the feature flag user list
- _destroy:
- type: boolean
- description: Delete the strategy when true
- scopes:
- type: array
- items:
- type: object
- properties:
- id:
- type: integer
- format: int32
- description: The scope id
- environment_scope:
- type: string
- description: The environment scope of the scope
- _destroy:
- type: boolean
- description: Delete the scope when true
- description: Update a feature flag
- API_Entities_FeatureFlag_UserList:
- type: object
- properties:
- id:
- type: integer
- format: int32
- example: 1
- iid:
- type: integer
- format: int32
- example: 1
- name:
- type: string
- example: user_list
- user_xids:
- type: string
- example: user1,user2
- project_id:
- type: integer
- format: int32
- example: 2
- created_at:
- type: string
- format: date-time
- example: '2020-02-04T08:13:10.507Z'
- updated_at:
- type: string
- format: date-time
- example: '2020-02-04T08:13:10.507Z'
- path:
- type: string
- edit_path:
- type: string
- description: API_Entities_FeatureFlag_UserList model
- postApiV4ProjectsIdFeatureFlagsUserLists:
- type: object
- properties:
- name:
- type: string
- description: The name of the list
- user_xids:
- type: string
- description: A comma separated list of external user ids
- required:
- - name
- - user_xids
- description: Create a feature flag user list
- putApiV4ProjectsIdFeatureFlagsUserListsIid:
- type: object
- properties:
- name:
- type: string
- description: The name of the list
- user_xids:
- type: string
- description: A comma separated list of external user ids
- description: Update a feature flag user list
- putApiV4ProjectsIdPackagesGenericPackageName*packageVersion(*path)FileNameAuthorize:
- type: object
- properties:
- package_version:
- type: string
- description: Package version
- status:
- type: string
- description: Package status
- enum:
- - default
- - hidden
- path:
- type: integer
- format: int32
- required:
- - package_version
- - path
- description: Workhorse authorize generic package file
- putApiV4ProjectsIdPackagesGenericPackageName*packageVersion(*path)FileName:
- type: object
- properties:
- package_version:
- type: string
- description: Package version
- path:
- type: string
- description: File directory path
- status:
- type: string
- description: Package status
- enum:
- - default
- - hidden
- file:
- type: file
- description: The package file to be published (generated by Multipart middleware)
- select:
- type: string
- enum:
- - package_file
- required:
- - package_version
- - file
- description: Upload package file
- API_Entities_GoModuleVersion:
- type: object
- properties:
- Version:
- type: string
- example: v1.0.0
- Time:
- type: string
- example: 1617822312 -0600
- description: API_Entities_GoModuleVersion model
- postApiV4ProjectsIdPackagesHelmApiChannelCharts:
- type: object
- properties:
- chart:
- type: file
- description: The chart file to be published (generated by Multipart middleware)
- required:
- - chart
- description: Upload a chart
- API_Entities_MergeRequestApprovals:
- type: object
- properties:
- user_has_approved:
- type: boolean
- user_can_approve:
- type: boolean
- approved:
- type: boolean
- approved_by:
- "$ref": "#/definitions/API_Entities_Approvals"
- description: API_Entities_MergeRequestApprovals model
- API_Entities_Approvals:
- type: object
- properties:
- user:
- "$ref": "#/definitions/API_Entities_UserBasic"
- postApiV4ProjectsIdMergeRequestsMergeRequestIidApprove:
- type: object
- properties:
- sha:
- type: string
- description: When present, must have the HEAD SHA of the source branch
- approval_password:
- type: string
- description: Current user's password if project is set to require explicit
- auth on approval
- example: secret
- description: Approve a merge request
- EE_API_Entities_MergeRequestApprovalState:
- type: object
- properties:
- approval_rules_overwritten:
- type: boolean
- rules:
- type: array
- items:
- "$ref": "#/definitions/EE_API_Entities_MergeRequestApprovalStateRule"
- description: EE_API_Entities_MergeRequestApprovalState model
- EE_API_Entities_MergeRequestApprovalStateRule:
- type: object
- properties:
- id:
- type: integer
- format: int32
- example: 1
- name:
- type: string
- example: QA
- rule_type:
- type: string
- example: regular
- eligible_approvers:
- type: array
- items:
- "$ref": "#/definitions/API_Entities_UserBasic"
- approvals_required:
- type: integer
- format: int32
- example: 2
- users:
- type: array
- items:
- "$ref": "#/definitions/API_Entities_UserBasic"
- groups:
- type: array
- items:
- "$ref": "#/definitions/API_Entities_Group"
- contains_hidden_groups:
- type: boolean
- section:
- type: string
- example: Backend
- source_rule:
- "$ref": "#/definitions/EE_API_Entities_MergeRequestApprovalRule_SourceRule"
- overridden:
- type: boolean
- code_owner:
- type: boolean
- approved_by:
- type: array
- items:
- "$ref": "#/definitions/API_Entities_UserBasic"
- approved:
- type: boolean
- EE_API_Entities_MergeRequestApprovalRule_SourceRule:
- type: object
- properties:
- approvals_required:
- type: integer
- format: int32
- example: 2
- postApiV4ProjectsIdMergeRequestsMergeRequestIidApprovals:
- type: object
- properties:
- approvals_required:
- type: integer
- format: int32
- description: The amount of approvals required. Must be higher than the project
- approvals
- example: 2
- required:
- - approvals_required
- description: 'Deprecated in 16.0: Use the merge request approvals API instead.
- Change approval-related configuration'
- EE_API_Entities_ApprovalState:
- type: object
- properties:
- id:
- type: integer
- format: int32
- example: 84
- iid:
- type: integer
- format: int32
- example: 14
- project_id:
- type: integer
- format: int32
- example: 4
- title:
- type: string
- example: Impedit et ut et dolores vero provident ullam est
- description:
- type: string
- example: Repellendus impedit et vel velit dignissimos.
- state:
- type: string
- example: closed
- created_at:
- type: string
- format: date-time
- example: '2022-08-17T12:46:35.053Z'
- updated_at:
- type: string
- format: date-time
- example: '2022-11-14T17:22:01.470Z'
- merge_status:
- type: string
- example: can_be_merged
- approved:
- type: boolean
- approvals_required:
- type: integer
- format: int32
- example: 2
- approvals_left:
- type: integer
- format: int32
- example: 2
- require_password_to_approve:
- type: boolean
- approved_by:
- type: array
- items:
- "$ref": "#/definitions/API_Entities_Approvals"
- suggested_approvers:
- type: array
- items:
- "$ref": "#/definitions/API_Entities_UserBasic"
- approvers:
- type: string
- approver_groups:
- type: string
- user_has_approved:
- type: boolean
- user_can_approve:
- type: boolean
- approval_rules_left:
- type: array
- items:
- "$ref": "#/definitions/EE_API_Entities_ApprovalRuleShort"
- has_approval_rules:
- type: boolean
- merge_request_approvers_available:
- type: boolean
- multiple_approval_rules_available:
- type: boolean
- invalid_approvers_rules:
- type: array
- items:
- "$ref": "#/definitions/EE_API_Entities_ApprovalRuleShort"
- description: EE_API_Entities_ApprovalState model
- EE_API_Entities_ApprovalRuleShort:
- type: object
- properties:
- id:
- type: integer
- format: int32
- example: 1
- name:
- type: string
- example: QA
- rule_type:
- type: string
- example: regular
- putApiV4ProjectsIdPackagesMlModelsModelVersionIdFiles(*path)FileNameAuthorize:
- type: object
- properties:
- path:
- type: string
- description: File directory path
- status:
- type: string
- description: Package status
- enum:
- - default
- - hidden
- description: Workhorse authorize model package file
- putApiV4ProjectsIdPackagesMlModelsModelVersionIdFiles(*path)FileName:
- type: object
- properties:
- path:
- type: string
- description: File directory path
- status:
- type: string
- description: Package status
- enum:
- - default
- - hidden
- file:
- type: file
- description: The package file to be published (generated by Multipart middleware)
- required:
- - file
- description: Workhorse upload model package file
- putApiV4ProjectsIdPackagesNpmPackageName:
- type: object
- properties:
- versions:
- type: object
- description: Package version info
- required:
- - versions
- description: Create or deprecate NPM package
- putApiV4ProjectsIdPackagesNpmPackage*packageNameDistTagsTag:
- type: object
- properties:
- package_name:
- type: string
- description: Package name
- required:
- - package_name
- description: Create or Update the given tag for the given NPM package and version
- putApiV4ProjectsIdPackagesNuget:
- type: object
- properties:
- package:
- type: file
- description: The package file to be published (generated by Multipart middleware)
- required:
- - package
- description: The NuGet V3 Feed Package Publish endpoint
- putApiV4ProjectsIdPackagesNugetSymbolpackage:
- type: object
- properties:
- package:
- type: file
- description: The package file to be published (generated by Multipart middleware)
- required:
- - package
- description: The NuGet Symbol Package Publish endpoint
- putApiV4ProjectsIdPackagesNugetV2:
- type: object
- properties:
- package:
- type: file
- description: The package file to be published (generated by Multipart middleware)
- required:
- - package
- description: The NuGet V2 Feed Package Publish endpoint
- API_Entities_Nuget_PackagesVersions:
- type: object
- properties:
- versions:
- type: array
- items:
- type: string
- example: 1.3.0.17
- description: API_Entities_Nuget_PackagesVersions model
- postApiV4ProjectsIdDebianDistributions:
- type: object
- properties:
- codename:
- type: string
- description: The Debian Codename
- example: sid
- suite:
- type: string
- description: The Debian Suite
- example: unstable
- origin:
- type: string
- description: The Debian Origin
- example: Grep
- label:
- type: string
- description: The Debian Label
- example: grep.be
- version:
- type: string
- description: The Debian Version
- example: '12'
- description:
- type: string
- description: The Debian Description
- example: My description
- valid_time_duration_seconds:
- type: integer
- format: int32
- description: The duration before the Release file should be considered expired
- by the client
- example: 604800
- components:
- type: array
- description: The list of Components
- example: main
- items:
- type: string
- architectures:
- type: array
- description: The list of Architectures
- example: amd64
- items:
- type: string
- required:
- - codename
- description: Create a Debian Distribution
- putApiV4ProjectsIdDebianDistributionsCodename:
- type: object
- properties:
- suite:
- type: string
- description: The Debian Suite
- example: unstable
- origin:
- type: string
- description: The Debian Origin
- example: Grep
- label:
- type: string
- description: The Debian Label
- example: grep.be
- version:
- type: string
- description: The Debian Version
- example: '12'
- description:
- type: string
- description: The Debian Description
- example: My description
- valid_time_duration_seconds:
- type: integer
- format: int32
- description: The duration before the Release file should be considered expired
- by the client
- example: 604800
- components:
- type: array
- description: The list of Components
- example: main
- items:
- type: string
- architectures:
- type: array
- description: The list of Architectures
- example: amd64
- items:
- type: string
- description: Update a Debian Distribution
- postApiV4ProjectsIdPackagesPypi:
- type: object
- properties:
- content:
- type: file
- description: The package file to be published (generated by Multipart middleware)
- name:
- type: string
- example: my.pypi.package
- version:
- type: string
- example: 1.3.7
- requires_python:
- type: string
- example: ">=3.7"
- md5_digest:
- type: string
- example: 900150983cd24fb0d6963f7d28e17f72
- sha256_digest:
- type: string
- example: ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad
- metadata_version:
- type: string
- example: '2.3'
- author_email:
- type: string
- example: cschultz@example.com, snoopy@peanuts.com
- description:
- type: string
- description_content_type:
- type: string
- example: text/markdown; charset=UTF-8; variant=GFM
- summary:
- type: string
- example: A module for collecting votes from beagles.
- keywords:
- type: string
- example: dog,puppy,voting,election
- required:
- - content
- - name
- - version
- description: The PyPi Package upload endpoint
- postApiV4ProjectsIdReleasesTagNameAssetsLinks:
- type: object
- properties:
- name:
- type: string
- description: The name of the link. Link names must be unique in the release
- url:
- type: string
- description: The URL of the link. Link URLs must be unique in the release.
- direct_asset_path:
- type: string
- description: Optional path for a direct asset link
- filepath:
- type: string
- description: 'Deprecated: optional path for a direct asset link'
- link_type:
- type: string
- description: 'The type of the link: `other`, `runbook`, `image`, or `package`.
- Defaults to `other`'
- enum:
- - other
- - runbook
- - image
- - package
- default: other
- required:
- - name
- - url
- description: Create a release link
- putApiV4ProjectsIdReleasesTagNameAssetsLinksLinkId:
- type: object
- properties:
- name:
- type: string
- description: The name of the link
- url:
- type: string
- description: The URL of the link
- direct_asset_path:
- type: string
- description: Optional path for a direct asset link
- filepath:
- type: string
- description: 'Deprecated: optional path for a direct asset link'
- link_type:
- type: string
- description: 'The type of the link: `other`, `runbook`, `image`, or `package`.
- Defaults to `other`'
- enum:
- - other
- - runbook
- - image
- - package
- default: other
- description: Update a release link
- postApiV4ProjectsIdPackagesRubygemsApiV1Gems:
- type: object
- properties:
- file:
- type: file
- description: The package file to be published (generated by Multipart middleware)
- required:
- - file
- description: Upload a gem
- putApiV4ProjectsIdPackagesTerraformModulesModuleNameModuleSystem*moduleVersionFileAuthorize:
- type: object
- properties:
- module_version:
- type: string
- description: Module version
- required:
- - module_version
- description: Workhorse authorize Terraform Module package file
- postApiV4ProjectsIdTerraformStateNameLock:
- type: object
- properties:
- ID:
- type: string
- description: Terraform state lock ID
- Operation:
- type: string
- description: Terraform operation
- Info:
- type: string
- description: Terraform info
- Who:
- type: string
- description: Terraform state lock owner
- Version:
- type: string
- description: Terraform version
- Created:
- type: string
- description: Terraform state lock timestamp
- Path:
- type: string
- description: Terraform path
- required:
- - ID
- - Operation
- - Info
- - Who
- - Version
- - Created
- - Path
- description: Lock a Terraform state of a certain name
- putApiV4ProjectsIdHooksHookIdUrlVariablesKey:
- type: object
- properties:
- value:
- type: string
- description: The value of the variable
- required:
- - value
- description: Set a url variable
API_Entities_BatchedBackgroundMigration:
type: object
properties:
@@ -55080,7 +57799,7 @@ definitions:
enum:
- main
- ci
- - main_clusterwide
+ - sec
- embedding
- geo
default: main
@@ -55094,7 +57813,7 @@ definitions:
enum:
- main
- ci
- - main_clusterwide
+ - sec
- embedding
- geo
default: main
@@ -55167,7 +57886,7 @@ definitions:
type: array
items:
type: string
- example: database
+ example: database
description: API_Entities_Dictionary_Table model
postApiV4AdminClustersAdd:
type: object
@@ -55285,7 +58004,7 @@ definitions:
enum:
- main
- ci
- - main_clusterwide
+ - sec
- embedding
- geo
default: main
@@ -55313,6 +58032,8 @@ definitions:
type: string
dismissable:
type: string
+ theme:
+ type: string
active:
type: string
description: API_Entities_System_BroadcastMessage model
@@ -55334,10 +58055,10 @@ definitions:
default: {}
color:
type: string
- description: Background color
+ description: Background color (Deprecated. Use "theme" instead.)
font:
type: string
- description: Foreground color
+ description: Foreground color (Deprecated. Use "theme" instead.)
target_access_levels:
type: array
description: Target user roles
@@ -55363,6 +58084,20 @@ definitions:
dismissable:
type: boolean
description: Is dismissable
+ theme:
+ type: string
+ description: The theme for the message
+ enum:
+ - indigo
+ - light-indigo
+ - blue
+ - light-blue
+ - green
+ - light-green
+ - red
+ - light-red
+ - dark
+ - light
required:
- message
description: Create a broadcast message
@@ -55382,10 +58117,10 @@ definitions:
description: Ending time
color:
type: string
- description: Background color
+ description: Background color (Deprecated. Use "theme" instead.)
font:
type: string
- description: Foreground color
+ description: Foreground color (Deprecated. Use "theme" instead.)
target_access_levels:
type: array
description: Target user roles
@@ -55410,6 +58145,20 @@ definitions:
dismissable:
type: boolean
description: Is dismissable
+ theme:
+ type: string
+ description: The theme for the message
+ enum:
+ - indigo
+ - light-indigo
+ - blue
+ - light-blue
+ - green
+ - light-green
+ - red
+ - light-red
+ - dark
+ - light
description: Update a broadcast message
postApiV4Applications:
type: object
@@ -55492,16 +58241,19 @@ definitions:
example: 1
status:
type: string
- example: finished
enum:
- created
- started
- finished
- timeout
- failed
+ example: finished
source_type:
type: string
example: gitlab
+ source_url:
+ type: string
+ example: https://source.gitlab.com/
created_at:
type: string
format: date-time
@@ -55527,13 +58279,13 @@ definitions:
example: 1
status:
type: string
- example: created
enum:
- created
- started
- finished
- timeout
- failed
+ example: created
entity_type:
type: string
enum:
@@ -55581,6 +58333,9 @@ definitions:
migrate_projects:
type: boolean
example: true
+ migrate_memberships:
+ type: boolean
+ example: true
has_failures:
type: boolean
example: false
@@ -55730,11 +58485,11 @@ definitions:
example: true
runner_type:
type: string
- example: instance_type
enum:
- instance_type
- group_type
- project_type
+ example: instance_type
name:
type: string
example: test
@@ -56027,6 +58782,7 @@ definitions:
- requirements_v2
- annotations
- repository_xray
+ - jacoco
default: archive
description: Authorize uploading job artifact
postApiV4JobsIdArtifacts:
@@ -56076,6 +58832,7 @@ definitions:
- requirements_v2
- annotations
- repository_xray
+ - jacoco
default: archive
artifact_format:
type: string
@@ -56736,6 +59493,7 @@ definitions:
- read_api
- read_user
- create_runner
+ - manage_runner
- k8s_proxy
- read_repository
- write_repository
@@ -56882,8 +59640,8 @@ definitions:
type: array
items:
type: string
- example:
- - refs/pipelines/1
+ example:
+ - refs/pipelines/1
description: EE_API_Entities_Geo_PipelineRefs model
postApiV4GeoStatus:
type: object
@@ -57458,206 +60216,6 @@ definitions:
type: string
container_repositories_replication_enabled:
type: string
- lfs_objects_count:
- type: string
- lfs_objects_checksum_total_count:
- type: string
- lfs_objects_checksummed_count:
- type: string
- lfs_objects_checksum_failed_count:
- type: string
- lfs_objects_synced_count:
- type: string
- lfs_objects_failed_count:
- type: string
- lfs_objects_registry_count:
- type: string
- lfs_objects_verification_total_count:
- type: string
- lfs_objects_verified_count:
- type: string
- lfs_objects_verification_failed_count:
- type: string
- merge_request_diffs_count:
- type: string
- merge_request_diffs_checksum_total_count:
- type: string
- merge_request_diffs_checksummed_count:
- type: string
- merge_request_diffs_checksum_failed_count:
- type: string
- merge_request_diffs_synced_count:
- type: string
- merge_request_diffs_failed_count:
- type: string
- merge_request_diffs_registry_count:
- type: string
- merge_request_diffs_verification_total_count:
- type: string
- merge_request_diffs_verified_count:
- type: string
- merge_request_diffs_verification_failed_count:
- type: string
- package_files_count:
- type: string
- package_files_checksum_total_count:
- type: string
- package_files_checksummed_count:
- type: string
- package_files_checksum_failed_count:
- type: string
- package_files_synced_count:
- type: string
- package_files_failed_count:
- type: string
- package_files_registry_count:
- type: string
- package_files_verification_total_count:
- type: string
- package_files_verified_count:
- type: string
- package_files_verification_failed_count:
- type: string
- terraform_state_versions_count:
- type: string
- terraform_state_versions_checksum_total_count:
- type: string
- terraform_state_versions_checksummed_count:
- type: string
- terraform_state_versions_checksum_failed_count:
- type: string
- terraform_state_versions_synced_count:
- type: string
- terraform_state_versions_failed_count:
- type: string
- terraform_state_versions_registry_count:
- type: string
- terraform_state_versions_verification_total_count:
- type: string
- terraform_state_versions_verified_count:
- type: string
- terraform_state_versions_verification_failed_count:
- type: string
- snippet_repositories_count:
- type: string
- snippet_repositories_checksum_total_count:
- type: string
- snippet_repositories_checksummed_count:
- type: string
- snippet_repositories_checksum_failed_count:
- type: string
- snippet_repositories_synced_count:
- type: string
- snippet_repositories_failed_count:
- type: string
- snippet_repositories_registry_count:
- type: string
- snippet_repositories_verification_total_count:
- type: string
- snippet_repositories_verified_count:
- type: string
- snippet_repositories_verification_failed_count:
- type: string
- group_wiki_repositories_count:
- type: string
- group_wiki_repositories_checksum_total_count:
- type: string
- group_wiki_repositories_checksummed_count:
- type: string
- group_wiki_repositories_checksum_failed_count:
- type: string
- group_wiki_repositories_synced_count:
- type: string
- group_wiki_repositories_failed_count:
- type: string
- group_wiki_repositories_registry_count:
- type: string
- group_wiki_repositories_verification_total_count:
- type: string
- group_wiki_repositories_verified_count:
- type: string
- group_wiki_repositories_verification_failed_count:
- type: string
- pipeline_artifacts_count:
- type: string
- pipeline_artifacts_checksum_total_count:
- type: string
- pipeline_artifacts_checksummed_count:
- type: string
- pipeline_artifacts_checksum_failed_count:
- type: string
- pipeline_artifacts_synced_count:
- type: string
- pipeline_artifacts_failed_count:
- type: string
- pipeline_artifacts_registry_count:
- type: string
- pipeline_artifacts_verification_total_count:
- type: string
- pipeline_artifacts_verified_count:
- type: string
- pipeline_artifacts_verification_failed_count:
- type: string
- pages_deployments_count:
- type: string
- pages_deployments_checksum_total_count:
- type: string
- pages_deployments_checksummed_count:
- type: string
- pages_deployments_checksum_failed_count:
- type: string
- pages_deployments_synced_count:
- type: string
- pages_deployments_failed_count:
- type: string
- pages_deployments_registry_count:
- type: string
- pages_deployments_verification_total_count:
- type: string
- pages_deployments_verified_count:
- type: string
- pages_deployments_verification_failed_count:
- type: string
- uploads_count:
- type: string
- uploads_checksum_total_count:
- type: string
- uploads_checksummed_count:
- type: string
- uploads_checksum_failed_count:
- type: string
- uploads_synced_count:
- type: string
- uploads_failed_count:
- type: string
- uploads_registry_count:
- type: string
- uploads_verification_total_count:
- type: string
- uploads_verified_count:
- type: string
- uploads_verification_failed_count:
- type: string
- job_artifacts_count:
- type: string
- job_artifacts_checksum_total_count:
- type: string
- job_artifacts_checksummed_count:
- type: string
- job_artifacts_checksum_failed_count:
- type: string
- job_artifacts_synced_count:
- type: string
- job_artifacts_failed_count:
- type: string
- job_artifacts_registry_count:
- type: string
- job_artifacts_verification_total_count:
- type: string
- job_artifacts_verified_count:
- type: string
- job_artifacts_verification_failed_count:
- type: string
ci_secure_files_count:
type: string
ci_secure_files_checksum_total_count:
@@ -57738,26 +60296,6 @@ definitions:
type: string
dependency_proxy_manifests_verification_failed_count:
type: string
- project_wiki_repositories_count:
- type: string
- project_wiki_repositories_checksum_total_count:
- type: string
- project_wiki_repositories_checksummed_count:
- type: string
- project_wiki_repositories_checksum_failed_count:
- type: string
- project_wiki_repositories_synced_count:
- type: string
- project_wiki_repositories_failed_count:
- type: string
- project_wiki_repositories_registry_count:
- type: string
- project_wiki_repositories_verification_total_count:
- type: string
- project_wiki_repositories_verified_count:
- type: string
- project_wiki_repositories_verification_failed_count:
- type: string
design_management_repositories_count:
type: string
design_management_repositories_checksum_total_count:
@@ -57778,6 +60316,146 @@ definitions:
type: string
design_management_repositories_verification_failed_count:
type: string
+ group_wiki_repositories_count:
+ type: string
+ group_wiki_repositories_checksum_total_count:
+ type: string
+ group_wiki_repositories_checksummed_count:
+ type: string
+ group_wiki_repositories_checksum_failed_count:
+ type: string
+ group_wiki_repositories_synced_count:
+ type: string
+ group_wiki_repositories_failed_count:
+ type: string
+ group_wiki_repositories_registry_count:
+ type: string
+ group_wiki_repositories_verification_total_count:
+ type: string
+ group_wiki_repositories_verified_count:
+ type: string
+ group_wiki_repositories_verification_failed_count:
+ type: string
+ job_artifacts_count:
+ type: string
+ job_artifacts_checksum_total_count:
+ type: string
+ job_artifacts_checksummed_count:
+ type: string
+ job_artifacts_checksum_failed_count:
+ type: string
+ job_artifacts_synced_count:
+ type: string
+ job_artifacts_failed_count:
+ type: string
+ job_artifacts_registry_count:
+ type: string
+ job_artifacts_verification_total_count:
+ type: string
+ job_artifacts_verified_count:
+ type: string
+ job_artifacts_verification_failed_count:
+ type: string
+ lfs_objects_count:
+ type: string
+ lfs_objects_checksum_total_count:
+ type: string
+ lfs_objects_checksummed_count:
+ type: string
+ lfs_objects_checksum_failed_count:
+ type: string
+ lfs_objects_synced_count:
+ type: string
+ lfs_objects_failed_count:
+ type: string
+ lfs_objects_registry_count:
+ type: string
+ lfs_objects_verification_total_count:
+ type: string
+ lfs_objects_verified_count:
+ type: string
+ lfs_objects_verification_failed_count:
+ type: string
+ merge_request_diffs_count:
+ type: string
+ merge_request_diffs_checksum_total_count:
+ type: string
+ merge_request_diffs_checksummed_count:
+ type: string
+ merge_request_diffs_checksum_failed_count:
+ type: string
+ merge_request_diffs_synced_count:
+ type: string
+ merge_request_diffs_failed_count:
+ type: string
+ merge_request_diffs_registry_count:
+ type: string
+ merge_request_diffs_verification_total_count:
+ type: string
+ merge_request_diffs_verified_count:
+ type: string
+ merge_request_diffs_verification_failed_count:
+ type: string
+ package_files_count:
+ type: string
+ package_files_checksum_total_count:
+ type: string
+ package_files_checksummed_count:
+ type: string
+ package_files_checksum_failed_count:
+ type: string
+ package_files_synced_count:
+ type: string
+ package_files_failed_count:
+ type: string
+ package_files_registry_count:
+ type: string
+ package_files_verification_total_count:
+ type: string
+ package_files_verified_count:
+ type: string
+ package_files_verification_failed_count:
+ type: string
+ pages_deployments_count:
+ type: string
+ pages_deployments_checksum_total_count:
+ type: string
+ pages_deployments_checksummed_count:
+ type: string
+ pages_deployments_checksum_failed_count:
+ type: string
+ pages_deployments_synced_count:
+ type: string
+ pages_deployments_failed_count:
+ type: string
+ pages_deployments_registry_count:
+ type: string
+ pages_deployments_verification_total_count:
+ type: string
+ pages_deployments_verified_count:
+ type: string
+ pages_deployments_verification_failed_count:
+ type: string
+ pipeline_artifacts_count:
+ type: string
+ pipeline_artifacts_checksum_total_count:
+ type: string
+ pipeline_artifacts_checksummed_count:
+ type: string
+ pipeline_artifacts_checksum_failed_count:
+ type: string
+ pipeline_artifacts_synced_count:
+ type: string
+ pipeline_artifacts_failed_count:
+ type: string
+ pipeline_artifacts_registry_count:
+ type: string
+ pipeline_artifacts_verification_total_count:
+ type: string
+ pipeline_artifacts_verified_count:
+ type: string
+ pipeline_artifacts_verification_failed_count:
+ type: string
project_repositories_count:
type: string
project_repositories_checksum_total_count:
@@ -57798,6 +60476,86 @@ definitions:
type: string
project_repositories_verification_failed_count:
type: string
+ project_wiki_repositories_count:
+ type: string
+ project_wiki_repositories_checksum_total_count:
+ type: string
+ project_wiki_repositories_checksummed_count:
+ type: string
+ project_wiki_repositories_checksum_failed_count:
+ type: string
+ project_wiki_repositories_synced_count:
+ type: string
+ project_wiki_repositories_failed_count:
+ type: string
+ project_wiki_repositories_registry_count:
+ type: string
+ project_wiki_repositories_verification_total_count:
+ type: string
+ project_wiki_repositories_verified_count:
+ type: string
+ project_wiki_repositories_verification_failed_count:
+ type: string
+ snippet_repositories_count:
+ type: string
+ snippet_repositories_checksum_total_count:
+ type: string
+ snippet_repositories_checksummed_count:
+ type: string
+ snippet_repositories_checksum_failed_count:
+ type: string
+ snippet_repositories_synced_count:
+ type: string
+ snippet_repositories_failed_count:
+ type: string
+ snippet_repositories_registry_count:
+ type: string
+ snippet_repositories_verification_total_count:
+ type: string
+ snippet_repositories_verified_count:
+ type: string
+ snippet_repositories_verification_failed_count:
+ type: string
+ terraform_state_versions_count:
+ type: string
+ terraform_state_versions_checksum_total_count:
+ type: string
+ terraform_state_versions_checksummed_count:
+ type: string
+ terraform_state_versions_checksum_failed_count:
+ type: string
+ terraform_state_versions_synced_count:
+ type: string
+ terraform_state_versions_failed_count:
+ type: string
+ terraform_state_versions_registry_count:
+ type: string
+ terraform_state_versions_verification_total_count:
+ type: string
+ terraform_state_versions_verified_count:
+ type: string
+ terraform_state_versions_verification_failed_count:
+ type: string
+ uploads_count:
+ type: string
+ uploads_checksum_total_count:
+ type: string
+ uploads_checksummed_count:
+ type: string
+ uploads_checksum_failed_count:
+ type: string
+ uploads_synced_count:
+ type: string
+ uploads_failed_count:
+ type: string
+ uploads_registry_count:
+ type: string
+ uploads_verification_total_count:
+ type: string
+ uploads_verified_count:
+ type: string
+ uploads_verification_failed_count:
+ type: string
git_fetch_event_count_weekly:
type: string
git_push_event_count_weekly:
@@ -57810,46 +60568,6 @@ definitions:
type: string
replication_slots_used_in_percentage:
type: string
- lfs_objects_synced_in_percentage:
- type: string
- lfs_objects_verified_in_percentage:
- type: string
- merge_request_diffs_synced_in_percentage:
- type: string
- merge_request_diffs_verified_in_percentage:
- type: string
- package_files_synced_in_percentage:
- type: string
- package_files_verified_in_percentage:
- type: string
- terraform_state_versions_synced_in_percentage:
- type: string
- terraform_state_versions_verified_in_percentage:
- type: string
- snippet_repositories_synced_in_percentage:
- type: string
- snippet_repositories_verified_in_percentage:
- type: string
- group_wiki_repositories_synced_in_percentage:
- type: string
- group_wiki_repositories_verified_in_percentage:
- type: string
- pipeline_artifacts_synced_in_percentage:
- type: string
- pipeline_artifacts_verified_in_percentage:
- type: string
- pages_deployments_synced_in_percentage:
- type: string
- pages_deployments_verified_in_percentage:
- type: string
- uploads_synced_in_percentage:
- type: string
- uploads_verified_in_percentage:
- type: string
- job_artifacts_synced_in_percentage:
- type: string
- job_artifacts_verified_in_percentage:
- type: string
ci_secure_files_synced_in_percentage:
type: string
ci_secure_files_verified_in_percentage:
@@ -57866,18 +60584,58 @@ definitions:
type: string
dependency_proxy_manifests_verified_in_percentage:
type: string
- project_wiki_repositories_synced_in_percentage:
- type: string
- project_wiki_repositories_verified_in_percentage:
- type: string
design_management_repositories_synced_in_percentage:
type: string
design_management_repositories_verified_in_percentage:
type: string
+ group_wiki_repositories_synced_in_percentage:
+ type: string
+ group_wiki_repositories_verified_in_percentage:
+ type: string
+ job_artifacts_synced_in_percentage:
+ type: string
+ job_artifacts_verified_in_percentage:
+ type: string
+ lfs_objects_synced_in_percentage:
+ type: string
+ lfs_objects_verified_in_percentage:
+ type: string
+ merge_request_diffs_synced_in_percentage:
+ type: string
+ merge_request_diffs_verified_in_percentage:
+ type: string
+ package_files_synced_in_percentage:
+ type: string
+ package_files_verified_in_percentage:
+ type: string
+ pages_deployments_synced_in_percentage:
+ type: string
+ pages_deployments_verified_in_percentage:
+ type: string
+ pipeline_artifacts_synced_in_percentage:
+ type: string
+ pipeline_artifacts_verified_in_percentage:
+ type: string
project_repositories_synced_in_percentage:
type: string
project_repositories_verified_in_percentage:
type: string
+ project_wiki_repositories_synced_in_percentage:
+ type: string
+ project_wiki_repositories_verified_in_percentage:
+ type: string
+ snippet_repositories_synced_in_percentage:
+ type: string
+ snippet_repositories_verified_in_percentage:
+ type: string
+ terraform_state_versions_synced_in_percentage:
+ type: string
+ terraform_state_versions_verified_in_percentage:
+ type: string
+ uploads_synced_in_percentage:
+ type: string
+ uploads_verified_in_percentage:
+ type: string
repositories_count:
type: string
replication_slots_count:
@@ -58283,49 +61041,6 @@ definitions:
trial:
type: boolean
description: API_Entities_Namespace model
- postApiV4NamespacesIdGitlabSubscription:
- type: object
- properties:
- start_date:
- type: string
- format: date
- description: The date when subscription was started
- seats:
- type: integer
- format: int32
- description: Number of seats in subscription
- max_seats_used:
- type: integer
- format: int32
- description: Highest number of active users in the last month
- plan_code:
- type: string
- description: Subscription tier code
- end_date:
- type: string
- format: date
- description: End date of subscription
- auto_renew:
- type: boolean
- description: Whether subscription will auto renew on end date
- trial:
- type: boolean
- description: Whether the subscription is a trial
- trial_ends_on:
- type: string
- format: date
- description: End date of trial
- trial_starts_on:
- type: string
- format: date
- description: Start date of trial
- trial_extension_type:
- type: integer
- format: int32
- description: Whether subscription is an extended or reactivated trial
- required:
- - start_date
- description: Create a subscription for the namespace
API_Entities_GitlabSubscription:
type: object
properties:
@@ -58365,47 +61080,6 @@ definitions:
trial_ends_on:
type: string
description: API_Entities_GitlabSubscription model
- putApiV4NamespacesIdGitlabSubscription:
- type: object
- properties:
- start_date:
- type: string
- format: date
- description: Start date of subscription
- seats:
- type: integer
- format: int32
- description: Number of seats in subscription
- max_seats_used:
- type: integer
- format: int32
- description: Highest number of active users in the last month
- plan_code:
- type: string
- description: Subscription tier code
- end_date:
- type: string
- format: date
- description: End date of subscription
- auto_renew:
- type: boolean
- description: Whether subscription will auto renew on end date
- trial:
- type: boolean
- description: Whether the subscription is a trial
- trial_ends_on:
- type: string
- format: date
- description: End date of trial
- trial_starts_on:
- type: string
- format: date
- description: Start date of trial
- trial_extension_type:
- type: integer
- format: int32
- description: Whether subscription is an extended or reactivated trial
- description: Update the subscription for the namespace
postApiV4NamespacesIdStorageLimitExclusion:
type: object
properties:
@@ -58442,8 +61116,58 @@ definitions:
type: array
items:
type: string
- example: my-group1
+ example: my-group1
description: API_Entities_NamespaceExistence model
+ postApiV4Organizations:
+ type: object
+ properties:
+ name:
+ type: string
+ description: The name of the organization
+ path:
+ type: string
+ description: The path of the organization
+ description:
+ type: string
+ description: The description of the organization
+ avatar:
+ type: file
+ description: The avatar image for the organization
+ required:
+ - name
+ - path
+ description: Create an organization
+ API_Entities_Organizations_Organization:
+ type: object
+ properties:
+ id:
+ type: integer
+ format: int32
+ example: 1
+ name:
+ type: string
+ example: GitLab
+ path:
+ type: string
+ example: gitlab
+ description:
+ type: string
+ example: My description
+ created_at:
+ type: string
+ format: date-time
+ example: '2022-02-24T20:22:30.097Z'
+ updated_at:
+ type: string
+ format: date-time
+ example: '2022-02-24T20:22:30.097Z'
+ web_url:
+ type: string
+ example: https://example.com/-/organizations/gitlab
+ avatar_url:
+ type: string
+ example: https://example.com/uploads/-/system/organizations/organization_detail/avatar/1/avatar.png
+ description: API_Entities_Organizations_Organization model
API_Entities_PagesDomainBasic:
type: object
properties:
@@ -58588,7 +61312,7 @@ definitions:
type: array
items:
type: string
- example: e0d123e5f316bef78bfdf5a008837577
+ example: e0d123e5f316bef78bfdf5a008837577
imported:
type: boolean
example: false
@@ -58647,7 +61371,7 @@ definitions:
type: array
items:
type: string
- example: e0d123e5f316bef78bfdf5a008837577
+ example: e0d123e5f316bef78bfdf5a008837577
imported:
type: boolean
example: false
@@ -58882,6 +61606,24 @@ definitions:
- ids
description: Apply multiple suggestion patches in the Merge Request where they
were created
+ putApiV4HooksHookIdUrlVariablesKey:
+ type: object
+ properties:
+ value:
+ type: string
+ description: The value of the variable
+ required:
+ - value
+ description: Set a url variable
+ putApiV4HooksHookIdCustomHeadersKey:
+ type: object
+ properties:
+ value:
+ type: string
+ description: The value of the custom header
+ required:
+ - value
+ description: Set a custom header
API_Entities_Hook:
type: object
properties:
@@ -58922,11 +61664,23 @@ definitions:
type: array
items:
type: object
- example:
- token: secr3t
+ example:
+ token: secr3t
+ push_events_branch_filter:
+ type: string
+ example: my-branch-*
+ branch_filter_strategy:
+ type: string
+ example: wildcard
custom_webhook_template:
type: string
example: '{"event":"{{object_kind}}"}'
+ custom_headers:
+ type: array
+ items:
+ type: object
+ example:
+ X-Custom-Header: value
description: API_Entities_Hook model
postApiV4Hooks:
type: object
@@ -58960,6 +61714,17 @@ definitions:
enable_ssl_verification:
type: boolean
description: Do SSL verification when triggering the hook
+ push_events_branch_filter:
+ type: string
+ description: Trigger hook on specified branch only
+ branch_filter_strategy:
+ type: string
+ description: Filter push events by branch. Possible values are `wildcard`
+ (default), `regex`, and `all_branches`
+ enum:
+ - wildcard
+ - regex
+ - all_branches
url_variables:
type: array
description: URL variables for interpolation
@@ -58977,6 +61742,23 @@ definitions:
required:
- key
- value
+ custom_headers:
+ type: array
+ description: Custom headers
+ items:
+ type: object
+ properties:
+ key:
+ type: string
+ description: Name of the header
+ example: X-Custom-Header
+ value:
+ type: string
+ description: Value of the header
+ example: value
+ required:
+ - key
+ - value
required:
- url
description: Add new system hook
@@ -59011,6 +61793,17 @@ definitions:
enable_ssl_verification:
type: boolean
description: Do SSL verification when triggering the hook
+ push_events_branch_filter:
+ type: string
+ description: Trigger hook on specified branch only
+ branch_filter_strategy:
+ type: string
+ description: Filter push events by branch. Possible values are `wildcard`
+ (default), `regex`, and `all_branches`
+ enum:
+ - wildcard
+ - regex
+ - all_branches
url_variables:
type: array
description: URL variables for interpolation
@@ -59028,16 +61821,24 @@ definitions:
required:
- key
- value
+ custom_headers:
+ type: array
+ description: Custom headers
+ items:
+ type: object
+ properties:
+ key:
+ type: string
+ description: Name of the header
+ example: X-Custom-Header
+ value:
+ type: string
+ description: Value of the header
+ example: value
+ required:
+ - key
+ - value
description: Edit system hook
- putApiV4HooksHookIdUrlVariablesKey:
- type: object
- properties:
- value:
- type: string
- description: The value of the variable
- required:
- - value
- description: Set a url variable
postApiV4FeatureFlagsUnleashProjectIdClientRegister:
type: object
properties:
@@ -59093,9 +61894,59 @@ definitions:
format: int32
description: Project ID
example: 1234
+ additional_properties:
+ type: object
+ description: Additional properties to be tracked
+ example:
+ label: login_button
+ value: 1
+ send_to_snowplow:
+ type: boolean
+ description: Send the tracked event to Snowplow
+ default: false
+ example: true
required:
- event
description: Track gitlab internal events
+ postApiV4UsageDataTrackEvents:
+ type: object
+ properties:
+ events:
+ type: array
+ description: An array of internal events. Maximum 50 events allowed.
+ items:
+ type: object
+ properties:
+ event:
+ type: string
+ description: The event name that should be tracked
+ example: i_quickactions_page
+ namespace_id:
+ type: integer
+ format: int32
+ description: Namespace ID
+ example: 1234
+ project_id:
+ type: integer
+ format: int32
+ description: Project ID
+ example: 1234
+ additional_properties:
+ type: object
+ description: Additional properties to be tracked
+ example:
+ label: login_button
+ value: 1
+ send_to_snowplow:
+ type: boolean
+ description: Send the tracked event to Snowplow
+ default: false
+ example: true
+ required:
+ - event
+ required:
+ - events
+ description: Track multiple gitlab internal events
postApiV4UserKeys:
type: object
properties:
@@ -59157,6 +62008,15 @@ definitions:
zuora_payment_method_xid:
type: string
description: The Zuora payment method ID
+ stripe_setup_intent_xid:
+ type: string
+ description: The Stripe setup intent ID
+ stripe_payment_method_xid:
+ type: string
+ description: The Stripe payment method ID
+ stripe_card_fingerprint:
+ type: string
+ description: The Stripe credit card fingerprint
required:
- credit_card_validated_at
- credit_card_expiration_month
@@ -59283,6 +62143,30 @@ definitions:
required:
- avatar
description: Set the avatar of the current user
+ postApiV4UserPersonalAccessTokens:
+ type: object
+ properties:
+ name:
+ type: string
+ description: The name of the personal access token
+ scopes:
+ type: array
+ description: The array of scopes of the personal access token
+ items:
+ type: string
+ enum:
+ - k8s_proxy
+ expires_at:
+ type: string
+ format: date
+ description: The expiration date in the format YEAR-MONTH-DAY of the personal
+ access token
+ default: {}
+ required:
+ - name
+ - scopes
+ description: Create a personal access token with limited scopes for the currently
+ authenticated user
postApiV4UserRunners:
type: object
properties:
@@ -59341,30 +62225,6 @@ definitions:
- group_id
- project_id
description: Create a runner owned by currently authenticated user
- postApiV4UserPersonalAccessTokens:
- type: object
- properties:
- name:
- type: string
- description: The name of the personal access token
- scopes:
- type: array
- description: The array of scopes of the personal access token
- items:
- type: string
- enum:
- - k8s_proxy
- expires_at:
- type: string
- format: date
- description: The expiration date in the format YEAR-MONTH-DAY of the personal
- access token
- default: {}
- required:
- - name
- - scopes
- description: Create a personal access token with limited scopes for the currently
- authenticated user
API_Entities_UserCounts:
type: object
properties:
@@ -59428,6 +62288,14 @@ definitions:
type: integer
format: int32
example: 3221225472
+ dotenv_variables:
+ type: integer
+ format: int32
+ example: 20
+ dotenv_size:
+ type: integer
+ format: int32
+ example: 5120
enforcement_limit:
type: integer
format: int32
@@ -59533,6 +62401,14 @@ definitions:
type: integer
format: int32
description: Maximum Conan package file size in bytes
+ dotenv_size:
+ type: integer
+ format: int32
+ description: Maximum size of a dotenv artifact in bytes
+ dotenv_variables:
+ type: integer
+ format: int32
+ description: Maximum number of variables in a dotenv artifact
enforcement_limit:
type: integer
format: int32
@@ -59679,6 +62555,23 @@ definitions:
example: 21
description: Number of active users
description: API_Entities_ApplicationStatistics model
+ postApiV4DeployKeys:
+ type: object
+ properties:
+ key:
+ type: string
+ description: New deploy key
+ title:
+ type: string
+ description: New deploy key's title
+ expires_at:
+ type: string
+ format: date-time
+ description: The expiration date of the SSH key in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ)
+ required:
+ - key
+ - title
+ description: Create a deploy key
postApiV4ImportBitbucket:
type: object
properties:
@@ -59721,18 +62614,21 @@ definitions:
example: GitLab Org / GitLab
refs_url:
type: string
+ forked:
+ type: boolean
+ example: true
import_source:
type: string
example: source/source-repo
import_status:
type: string
- example: scheduled
enum:
- scheduled
- started
- finished
- failed
- canceled
+ example: scheduled
human_import_status_name:
type: string
example: canceled
@@ -59801,6 +62697,9 @@ definitions:
example: GitLab Org / GitLab
refs_url:
type: string
+ forked:
+ type: boolean
+ example: true
description: ProjectEntity model
postApiV4ImportGithub:
type: object
@@ -59820,7 +62719,8 @@ definitions:
description: Namespace or group to import repository into
github_hostname:
type: string
- description: Custom GitHub enterprise hostname
+ description: 'Custom GitHub enterprise hostname. For example: https://github.example.com.
+ From GitLab 16.5 to GitLab 17.1, you must include the path `/api/v3`.'
optional_stages:
type: object
description: Optional stages of import to be performed
@@ -59880,6 +62780,9 @@ definitions:
externalUrl:
type: string
example: grpc://gitlab.example.com:8150
+ externalK8sProxyUrl:
+ type: string
+ example: https://gitlab.example.com:8150/k8s-proxy
version:
type: string
example: 15.0.0
@@ -59899,14 +62802,11 @@ definitions:
type: string
total_projects_count:
type: string
+ organization_id:
+ type: string
avatar_url:
type: string
description: API_Entities_Projects_Topic model
- API_Entities_Web_Commits:
- type: object
- properties:
- public_key:
- type: string
postApiV4Topics:
type: object
properties:
@@ -59922,6 +62822,11 @@ definitions:
avatar:
type: file
description: Avatar image for topic
+ organization_id:
+ type: integer
+ format: int32
+ description: The organization id for the topic
+ default: {}
required:
- name
- title
diff --git a/doc/development/database/avoiding_downtime_in_migrations.md b/doc/development/database/avoiding_downtime_in_migrations.md
index f4b11a188dd..b30e8cda014 100644
--- a/doc/development/database/avoiding_downtime_in_migrations.md
+++ b/doc/development/database/avoiding_downtime_in_migrations.md
@@ -306,7 +306,7 @@ Changing column defaults is difficult because of how Rails handles values
that are equal to the default.
NOTE:
-Rails ignores sending the default values to PostgreSQL when writing records. It leaves this task to
+Rails ignores sending the default values to PostgreSQL when inserting records, if the [partial_inserts](https://gitlab.com/gitlab-org/gitlab/-/blob/55ac06c9083434e6c18e0a2aaf8be5f189ef34eb/config/application.rb#L40) config has been enabled. It leaves this task to
the database. When migrations change the default values of the columns, the running application is unaware
of this change due to the schema cache. The application is then under the risk of accidentally writing
wrong data to the database, especially when deploying the new version of the code
diff --git a/doc/development/documentation/styleguide/word_list.md b/doc/development/documentation/styleguide/word_list.md
index c9ddf615d1a..0ac2d630c0e 100644
--- a/doc/development/documentation/styleguide/word_list.md
+++ b/doc/development/documentation/styleguide/word_list.md
@@ -650,6 +650,7 @@ Use **default role** when referring to the following predefined roles that have
no customized permissions added:
- Guest
+- Planner
- Reporter
- Developer
- Maintainer
@@ -693,13 +694,16 @@ See also: [ancestor](#ancestor), [child](#child), and [subgroup](#subgroup).
When writing about the Developer role:
- Use a capital **D**.
-- Do not use bold.
-- Do not use the phrase, **if you are a developer** to mean someone who is assigned the Developer
- role. Instead, write it out. For example, **if you are assigned the Developer role**.
-- To describe a situation where the Developer role is the minimum required:
+- Write it out.
+ - Use: if you are assigned the Developer role
+ - Instead of: if you are a Developer
+
+- When the Developer role is the minimum required role:
- Use: at least the Developer role
- Instead of: the Developer role or higher
+Do not use bold.
+
Do not use **Developer permissions**. A user who is assigned the Developer role has a set of associated permissions.
## DevSecOps platform
@@ -1832,6 +1836,23 @@ Use sentence case for **personal access token**.
Capitalize the first word when you refer to the UI.
+## Planner
+
+When writing about the Planner role:
+
+- Use a capital **P**.
+- Write it out.
+ - Use: if you are assigned the Planner role
+ - Instead of: if you are a Planner
+
+- When the Planner role is the minimum required role:
+ - Use: at least the Planner role
+ - Instead of: the Planner role or higher
+
+Do not use bold.
+
+Do not use **Planner permissions**. A user who is assigned the Planner role has a set of associated permissions.
+
## please
Do not use **please** in the product documentation.
diff --git a/doc/user/enterprise_user/index.md b/doc/user/enterprise_user/index.md
index 45939ede7f4..b8f0d4efbf0 100644
--- a/doc/user/enterprise_user/index.md
+++ b/doc/user/enterprise_user/index.md
@@ -248,6 +248,10 @@ Changing an enterprise user's primary email to an email from a non-verified doma
A top-level group Owner can [disable password authentication for enterprise users](../group/saml_sso/index.md#disable-password-authentication-for-enterprise-users).
+## Related topics
+
+- [Group enterprise users API](../../api/group_enterprise_users.md)
+
## Troubleshooting
### Cannot disable two-factor authentication for an enterprise user
diff --git a/doc/user/group/import/direct_transfer_migrations.md b/doc/user/group/import/direct_transfer_migrations.md
index 88ee653a555..8b1afe92e37 100644
--- a/doc/user/group/import/direct_transfer_migrations.md
+++ b/doc/user/group/import/direct_transfer_migrations.md
@@ -70,7 +70,7 @@ GitLab 16.8.
- For [a whole instance](../../../administration/settings/visibility_and_access_controls.md#define-which-roles-can-create-projects).
- For [specific groups](../index.md#specify-who-can-add-projects-to-a-group).
-## User contributions and membership mapping
+## User contribution and membership mapping
DETAILS:
**Offering:** Self-managed, GitLab Dedicated
@@ -80,11 +80,11 @@ DETAILS:
> - Full support for mapping inherited membership [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/458834) in GitLab 17.1.
> - Removed from GitLab.com direct transfer migrations in GitLab 17.5 in favor of [the alternative](../../project/import/index.md#user-contribution-and-membership-mapping).
-This method of user contributions and membership mapping is available for
+This method of user contribution and membership mapping is available for
GitLab self-managed without enabled feature flags.
For information on the other method available for GitLab self-managed
with enabled feature flags and for GitLab.com,
-see [User contribution and membership mapping](../../project/import/index.md#user-contribution-and-membership-mapping).
+see [user contribution and membership mapping](../../project/import/index.md#user-contribution-and-membership-mapping).
Users are never created during a migration. Instead, contributions and membership of users on the source instance are
mapped to users on the destination instance. The type of mapping of a user's membership depends on the
diff --git a/doc/user/group/import/migrated_items.md b/doc/user/group/import/migrated_items.md
index 590ffabe38e..507d4a3bdb5 100644
--- a/doc/user/group/import/migrated_items.md
+++ b/doc/user/group/import/migrated_items.md
@@ -53,13 +53,13 @@ Group items that are migrated to the destination GitLab instance include:
**Footnotes:**
-1. Epic resource state events [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/291983) in GitLab 15.4, label
- associations [introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/62074) in GitLab 13.12, state and
- state ID [introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28203) in GitLab 13.7, and system note
- metadata [introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/63551) in GitLab 14.0.
-1. Group Labels cannot retain any associated Label Priorities during import. These labels will need to be re-prioritized manually
- once the relevant Project is migrated to the destination instance.
-1. See [User contributions and membership mapping](direct_transfer_migrations.md#user-contributions-and-membership-mapping).
+1. State and state ID [introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28203) in GitLab 13.7.
+ Label associations [introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/62074) in GitLab 13.12.
+ System note metadata [introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/63551) in GitLab 14.0.
+ Epic resource state events [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/291983) in GitLab 15.4.
+1. Group labels cannot retain any associated label priorities during import.
+ You must prioritize these labels again manually after you migrate the relevant project to the destination instance.
+1. See [user contribution and membership mapping](direct_transfer_migrations.md#user-contribution-and-membership-mapping).
@@ -143,9 +143,9 @@ Project items that are migrated to the destination GitLab instance include:
**Footnotes:**
-1. Imported branches respect the [default branch protection settings](../../project/repository/branches/protected.md)
- of the destination group, which could cause an unprotected branch to be imported as protected.
-1. See [User contributions and membership mapping](direct_transfer_migrations.md#user-contributions-and-membership-mapping).
+1. Imported branches respect the [default branch protection settings](../../project/repository/branches/protected.md) of the destination group.
+ These settings might cause an unprotected branch to be imported as protected.
+1. See [user contribution and membership mapping](direct_transfer_migrations.md#user-contribution-and-membership-mapping).
### Issue-related items
diff --git a/doc/user/permissions.md b/doc/user/permissions.md
index 6f427c4ff70..c2b6a11de67 100644
--- a/doc/user/permissions.md
+++ b/doc/user/permissions.md
@@ -30,6 +30,8 @@ It's okay to list multiple related objects per line (for example, "View pipeline
## Roles
+> - Planner role [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/482733) in GitLab 17.7.
+
You can assign users a default role or a [custom role](custom_roles.md).
The available default roles are:
diff --git a/doc/user/project/import/gitea.md b/doc/user/project/import/gitea.md
index c3cf2aed44d..a26c77fc5f9 100644
--- a/doc/user/project/import/gitea.md
+++ b/doc/user/project/import/gitea.md
@@ -100,4 +100,4 @@ This method of user contribution mapping is available for GitLab self-managed wi
For information on the other method available for GitLab self-managed
with enabled feature flags and for GitLab.com,
-see [User contribution and membership mapping](../../project/import/index.md#user-contribution-and-membership-mapping).
+see [user contribution and membership mapping](../../project/import/index.md#user-contribution-and-membership-mapping).
diff --git a/doc/user/project/import/index.md b/doc/user/project/import/index.md
index 52c467eaffa..5a67aa5742f 100644
--- a/doc/user/project/import/index.md
+++ b/doc/user/project/import/index.md
@@ -97,14 +97,14 @@ For more information, see the history.
NOTE:
To leave feedback about this feature, add a comment to [issue 502565](https://gitlab.com/gitlab-org/gitlab/-/issues/502565).
-This method of user contributions and membership mapping is available for
+This method of user contribution and membership mapping is available for
[direct transfer migrations](../../group/import/index.md) on:
- GitLab.com
- GitLab self-managed when two feature flags are enabled
For information on the other method available for GitLab self-managed without enabled feature flags,
-see [User contributions and membership mapping](../../group/import/direct_transfer_migrations.md#user-contributions-and-membership-mapping).
+see [user contribution and membership mapping](../../group/import/direct_transfer_migrations.md#user-contribution-and-membership-mapping).
With user contribution and membership mapping, you can assign imported contributions and memberships to users on the
destination instance after import has completed. Unlike the previous method of user contribution and membership mapping,
diff --git a/lib/api/groups.rb b/lib/api/groups.rb
index 93e7e6418f3..c0c37d1d371 100644
--- a/lib/api/groups.rb
+++ b/lib/api/groups.rb
@@ -30,7 +30,7 @@ module API
optional :order_by, type: String, values: %w[name path id similarity], default: 'name', desc: 'Order by name, path, id or similarity if searching'
optional :sort, type: String, values: %w[asc desc], default: 'asc', desc: 'Sort by asc (ascending) or desc (descending)'
optional :min_access_level, type: Integer, values: Gitlab::Access.all_values, desc: 'Minimum access level of authenticated user'
- optional :top_level_only, type: Boolean, desc: 'Only include top level groups'
+ optional :top_level_only, type: Boolean, desc: 'Only include top-level groups'
use :optional_group_list_params_ee
use :pagination
end
@@ -539,14 +539,14 @@ module API
present_groups params, groups, serializer: Entities::PublicGroupDetails
end
- desc 'Transfer a group to a new parent group or promote a subgroup to a root group' do
+ desc 'Transfer a group to a new parent group or promote a subgroup to a top-level group' do
tags %w[groups]
end
params do
optional :group_id,
type: Integer,
desc: 'The ID of the target group to which the group needs to be transferred to.'\
- 'If not provided, the source group will be promoted to a root group.'
+ 'If not provided, the source group will be promoted to a top-level group.'
end
post ':id/transfer', feature_category: :groups_and_projects do
group = find_group!(params[:id])
diff --git a/lib/gitlab/background_migration/backfill_software_license_spdx_identifier_for_software_license_policies.rb b/lib/gitlab/background_migration/backfill_software_license_spdx_identifier_for_software_license_policies.rb
new file mode 100644
index 00000000000..f2e306c1378
--- /dev/null
+++ b/lib/gitlab/background_migration/backfill_software_license_spdx_identifier_for_software_license_policies.rb
@@ -0,0 +1,13 @@
+# frozen_string_literal: true
+
+module Gitlab
+ module BackgroundMigration
+ class BackfillSoftwareLicenseSpdxIdentifierForSoftwareLicensePolicies < BatchedMigrationJob
+ feature_category :security_policy_management
+
+ def perform; end
+ end
+ end
+end
+
+Gitlab::BackgroundMigration::BackfillSoftwareLicenseSpdxIdentifierForSoftwareLicensePolicies.prepend_mod_with('Gitlab::BackgroundMigration::BackfillSoftwareLicenseSpdxIdentifierForSoftwareLicensePolicies') # rubocop:disable Layout/LineLength -- ignore
diff --git a/lib/gitlab/database/alter_cell_sequences_range.rb b/lib/gitlab/database/alter_cell_sequences_range.rb
index 08c4624dcbf..e2077126355 100644
--- a/lib/gitlab/database/alter_cell_sequences_range.rb
+++ b/lib/gitlab/database/alter_cell_sequences_range.rb
@@ -20,7 +20,7 @@ module Gitlab
sequences.each do |sequence|
with_lock_retries do
connection.execute(alter_sequence_query(sequence.seq_name))
- logger.info("Altered cell sequence #{sequence}. Updated with (#{minval}, #{maxval})")
+ logger.info("Altered cell sequence #{sequence.seq_name}. Updated with (#{minval}, #{maxval})")
end
end
end
diff --git a/lib/tasks/gitlab/db/alter_cell_sequences_range.rake b/lib/tasks/gitlab/db/alter_cell_sequences_range.rake
index 6dc6979470f..a187e0454ef 100644
--- a/lib/tasks/gitlab/db/alter_cell_sequences_range.rake
+++ b/lib/tasks/gitlab/db/alter_cell_sequences_range.rake
@@ -7,6 +7,9 @@ namespace :gitlab do
task :alter_cell_sequences_range, [:minval, :maxval] => :environment do |_t, args|
next unless Gitlab.com_except_jh? || Gitlab.dev_or_test_env?
+ # This is a safety check to ensure this rake does not alters the sequences for the Legacy Cell
+ next if Gitlab.config.skip_sequence_alteration?
+
Gitlab::Database::EachDatabase.each_connection do |connection, _database_name|
Gitlab::Database::AlterCellSequencesRange.new(args.minval&.to_i, args.maxval&.to_i, connection).execute
end
diff --git a/package.json b/package.json
index 8267f3c3af0..9c2fe62dcd1 100644
--- a/package.json
+++ b/package.json
@@ -75,7 +75,7 @@
"@gitlab/fonts": "^1.3.0",
"@gitlab/query-language": "^0.0.5-a-20241112",
"@gitlab/svgs": "3.121.0",
- "@gitlab/ui": "103.1.0",
+ "@gitlab/ui": "103.5.0",
"@gitlab/vue-router-vue3": "npm:vue-router@4.1.6",
"@gitlab/vuex-vue3": "npm:vuex@4.0.0",
"@gitlab/web-ide": "^0.0.1-dev-20240909013227",
diff --git a/scripts/frontend/quarantined_vue3_specs.txt b/scripts/frontend/quarantined_vue3_specs.txt
index 5e1169f7b20..18c05862a84 100644
--- a/scripts/frontend/quarantined_vue3_specs.txt
+++ b/scripts/frontend/quarantined_vue3_specs.txt
@@ -103,7 +103,6 @@ ee/spec/frontend/security_configuration/components/app_spec.js
ee/spec/frontend/security_configuration/components/dynamic_fields_spec.js
ee/spec/frontend/security_configuration/components/expandable_section_spec.js
ee/spec/frontend/security_configuration/dast_profiles/components/dast_profiles_list_spec.js
-ee/spec/frontend/security_configuration/dast_profiles/dast_scanner_profiles_form/components/dast_scanner_profiles_form_spec.js
ee/spec/frontend/security_dashboard/components/project/security_scanner_alert_spec.js
ee/spec/frontend/security_dashboard/components/shared/empty_states/dashboard_has_no_vulnerabilities_spec.js
ee/spec/frontend/security_dashboard/components/shared/filters/querystring_sync_spec.js
@@ -352,8 +351,6 @@ spec/frontend/super_sidebar/components/flyout_menu_spec.js
spec/frontend/super_sidebar/components/global_search/components/frequent_items_spec.js
spec/frontend/super_sidebar/components/nav_item_router_link_spec.js
spec/frontend/super_sidebar/components/organization_switcher_spec.js
-spec/frontend/super_sidebar/components/sidebar_hover_peek_behavior_spec.js
-spec/frontend/super_sidebar/components/sidebar_peek_behavior_spec.js
spec/frontend/super_sidebar/components/sidebar_portal_spec.js
spec/frontend/super_sidebar/components/user_menu_spec.js
spec/frontend/tags/components/delete_tag_modal_spec.js
diff --git a/spec/features/work_items/work_item_children_spec.rb b/spec/features/work_items/work_item_children_spec.rb
index 69a56cf26d5..36017b2f64c 100644
--- a/spec/features/work_items/work_item_children_spec.rb
+++ b/spec/features/work_items/work_item_children_spec.rb
@@ -3,12 +3,16 @@
require 'spec_helper'
RSpec.describe 'Work item children', :js, feature_category: :team_planning do
+ include DragTo
+
let_it_be(:group) { create(:group) }
let_it_be(:project) { create(:project, :public, namespace: group) }
let_it_be(:user) { create(:user) }
let_it_be(:issue) { create(:issue, project: project) }
context 'for signed in user' do
+ let(:child_item) { create(:work_item, :task, project: project) }
+
before do
project.add_developer(user)
@@ -21,27 +25,7 @@ RSpec.describe 'Work item children', :js, feature_category: :team_planning do
wait_for_requests
end
- it 'are not displayed when issue does not have work item children', :aggregate_failures do
- within_testid('work-item-links') do
- expect(find_by_testid('crud-body')).to have_content(_('No child items are currently assigned.'))
- expect(page).not_to have_selector('[data-testid="add-links-form"]')
- expect(page).not_to have_selector('[data-testid="links-child"]')
- end
- end
-
- it 'toggles widget body', :aggregate_failures do
- within_testid('work-item-links') do
- expect(page).to have_selector('[data-testid="crud-body"]')
-
- click_button 'Collapse'
-
- expect(page).not_to have_selector('[data-testid="crud-body"]')
-
- click_button 'Expand'
-
- expect(page).to have_selector('[data-testid="crud-body"]')
- end
- end
+ it_behaves_like 'work items hierarchy', 'work-item-links', :task
it 'toggles form', :aggregate_failures do
within_testid('work-item-links') do
@@ -58,86 +42,7 @@ RSpec.describe 'Work item children', :js, feature_category: :team_planning do
end
end
- it 'adds a new child task', :aggregate_failures,
- quarantine: 'https://gitlab.com/gitlab-org/gitlab/-/issues/461666' do
- allow(Gitlab::QueryLimiting::Transaction).to receive(:threshold).and_return(108)
-
- within_testid('work-item-links') do
- click_button 'Add'
- click_button 'New task'
-
- expect(page).to have_button('Create task', disabled: true)
- fill_in 'Add a title', with: 'Task 1'
-
- expect(page).to have_button('Create task', disabled: false)
-
- click_button 'Create task'
-
- wait_for_all_requests
-
- expect(find_by_testid('links-child')).to have_content('Task 1')
- end
- end
-
- it 'removes a child task and undoing', :aggregate_failures do
- allow(Gitlab::QueryLimiting::Transaction).to receive(:threshold).and_return(112)
- within_testid('work-item-links') do
- click_button 'Add'
- click_button 'New task'
- fill_in 'Add a title', with: 'Task 1'
- click_button 'Create task'
- wait_for_all_requests
-
- expect(find_by_testid('links-child')).to have_content('Task 1')
- expect(find_by_testid('crud-count')).to have_content('1')
-
- find_by_testid('links-child').hover
- find_by_testid('remove-work-item-link').click
-
- wait_for_all_requests
-
- expect(page).not_to have_content('Task 1')
- expect(find_by_testid('crud-count')).to have_content('0')
- end
-
- page.within('.gl-toast') do
- expect(find('.toast-body')).to have_content(_('Child removed'))
- find('.b-toaster a', text: 'Undo').click
- end
-
- wait_for_all_requests
-
- within_testid('work-item-links') do
- expect(find_by_testid('links-child')).to have_content('Task 1')
- expect(find_by_testid('crud-count')).to have_content('1')
- end
- end
-
context 'with existing task' do
- let_it_be(:task) { create(:work_item, :task, project: project) }
-
- it 'adds an existing child task', :aggregate_failures do
- within_testid('work-item-links') do
- click_button 'Add'
- click_button 'Existing task'
-
- expect(page).to have_button('Add task', disabled: true)
- find_by_testid('work-item-token-select-input').set(task.title)
- wait_for_all_requests
- click_button task.title
-
- expect(page).to have_button('Add task', disabled: false)
-
- send_keys :escape
-
- click_button('Add task')
-
- wait_for_all_requests
-
- expect(find_by_testid('links-child')).to have_content(task.title)
- end
- end
-
context 'with confidential issue' do
let_it_be_with_reload(:issue) { create(:issue, :confidential, project: project) }
let_it_be(:task) { create(:work_item, :confidential, :task, project: project) }
diff --git a/spec/frontend/admin/application_settings/inactive_project_deletion/components/form_spec.js b/spec/frontend/admin/application_settings/inactive_project_deletion/components/form_spec.js
index bda38db9595..f89ab6a4c0e 100644
--- a/spec/frontend/admin/application_settings/inactive_project_deletion/components/form_spec.js
+++ b/spec/frontend/admin/application_settings/inactive_project_deletion/components/form_spec.js
@@ -9,16 +9,16 @@ describe('Form component', () => {
const findProjectDeletionSettings = () =>
wrapper.findByTestId('inactive-project-deletion-settings');
const findMinSizeGroup = () => wrapper.findByTestId('min-size-group');
- const findMinSizeInputGroup = () => wrapper.findByTestId('min-size-input-group');
+ const findMinSizeInputGroupText = () => wrapper.findByTestId('min-size-input-group-text');
const findMinSizeInput = () => wrapper.findByTestId('min-size-input');
const findDeleteAfterMonthsGroup = () => wrapper.findByTestId('delete-after-months-group');
- const findDeleteAfterMonthsInputGroup = () =>
- wrapper.findByTestId('delete-after-months-input-group');
+ const findDeleteAfterMonthsInputGroupText = () =>
+ wrapper.findByTestId('delete-after-months-input-group-text');
const findDeleteAfterMonthsInput = () => wrapper.findByTestId('delete-after-months-input');
const findSendWarningEmailAfterMonthsGroup = () =>
wrapper.findByTestId('send-warning-email-after-months-group');
- const findSendWarningEmailAfterMonthsInputGroup = () =>
- wrapper.findByTestId('send-warning-email-after-months-input-group');
+ const findSendWarningEmailAfterMonthsInputGroupText = () =>
+ wrapper.findByTestId('send-warning-email-after-months-input-group-text');
const findSendWarningEmailAfterMonthsInput = () =>
wrapper.findByTestId('send-warning-email-after-months-input');
@@ -60,7 +60,7 @@ describe('Form component', () => {
});
it('has the appended text on the field', () => {
- expect(findMinSizeInputGroup().text()).toContain('MB');
+ expect(findMinSizeInputGroupText().text()).toContain('MB');
});
it.each`
@@ -89,7 +89,7 @@ describe('Form component', () => {
});
it('has the appended text on the field', () => {
- expect(findDeleteAfterMonthsInputGroup().text()).toContain('months');
+ expect(findDeleteAfterMonthsInputGroupText().text()).toContain('months');
});
it.each`
@@ -124,7 +124,7 @@ describe('Form component', () => {
});
it('has the appended text on the field', () => {
- expect(findSendWarningEmailAfterMonthsInputGroup().text()).toContain('months');
+ expect(findSendWarningEmailAfterMonthsInputGroupText().text()).toContain('months');
});
it.each`
diff --git a/spec/frontend/error_tracking_settings/components/app_spec.js b/spec/frontend/error_tracking_settings/components/app_spec.js
index 2e50e3aa90a..40ca2da8dfa 100644
--- a/spec/frontend/error_tracking_settings/components/app_spec.js
+++ b/spec/frontend/error_tracking_settings/components/app_spec.js
@@ -33,6 +33,7 @@ describe('error tracking settings app', () => {
function mountComponent({
glFeatures = { integratedErrorTracking: false },
props = defaultProps,
+ stubs = {},
} = {}) {
wrapper = extendedWrapper(
shallowMount(ErrorTrackingSettings, {
@@ -43,6 +44,7 @@ describe('error tracking settings app', () => {
},
stubs: {
GlFormInputGroup, // we need this non-shallow to query for a component within a slot
+ ...stubs,
},
}),
);
@@ -165,14 +167,27 @@ describe('error tracking settings app', () => {
expect(findDsnSettings().exists()).toBe(true);
});
- it('contains copy-to-clipboard functionality for the GitLab DSN string', async () => {
+ it('renders GitLab DSN string in readonly input', async () => {
+ mountComponent({
+ glFeatures: { integratedErrorTracking: true },
+ stubs: {
+ GlFormInputGroup: true,
+ },
+ });
+
await enableGitLabErrorTracking();
const clipBoardInput = findDsnSettings().findComponent(GlFormInputGroup);
- const clipBoardButton = findDsnSettings().findComponent(ClipboardButton);
expect(clipBoardInput.props('value')).toBe(TEST_GITLAB_DSN);
expect(clipBoardInput.attributes('readonly')).toBe('');
+ });
+
+ it('contains copy-to-clipboard functionality for the GitLab DSN string', async () => {
+ await enableGitLabErrorTracking();
+
+ const clipBoardButton = findDsnSettings().findComponent(ClipboardButton);
+
expect(clipBoardButton.props('text')).toBe(TEST_GITLAB_DSN);
});
});
diff --git a/spec/frontend/packages_and_registries/dependency_proxy/components/manifests_empty_state_spec.js b/spec/frontend/packages_and_registries/dependency_proxy/components/manifests_empty_state_spec.js
index 00c1469994b..777051ce86e 100644
--- a/spec/frontend/packages_and_registries/dependency_proxy/components/manifests_empty_state_spec.js
+++ b/spec/frontend/packages_and_registries/dependency_proxy/components/manifests_empty_state_spec.js
@@ -56,6 +56,8 @@ describe('manifests empty state', () => {
});
it('renders a form input group', () => {
+ createComponent({ stubs: { GlFormInputGroup: true } });
+
expect(findFormInputGroup().exists()).toBe(true);
expect(findFormInputGroup().attributes('id')).toBe('code-example');
expect(findFormInputGroup().props('value')).toBe(ManifestsEmptyState.codeExample);
diff --git a/spec/frontend/projects/new/components/new_project_push_tip_popover_spec.js b/spec/frontend/projects/new/components/new_project_push_tip_popover_spec.js
index ec617868a46..e4fe5678ebd 100644
--- a/spec/frontend/projects/new/components/new_project_push_tip_popover_spec.js
+++ b/spec/frontend/projects/new/components/new_project_push_tip_popover_spec.js
@@ -16,13 +16,14 @@ describe('New project push tip popover', () => {
const findHelpLink = () => wrapper.find('a');
const findTarget = () => document.getElementById(targetId);
- const buildWrapper = () => {
+ const buildWrapper = ({ stubs = {} } = {}) => {
wrapper = shallowMount(NewProjectPushTipPopover, {
propsData: {
target: findTarget(),
},
stubs: {
GlFormInputGroup,
+ ...stubs,
},
provide: {
pushToCreateProjectCommand,
@@ -52,6 +53,8 @@ describe('New project push tip popover', () => {
});
it('renders a readonly form input with the push to create command', () => {
+ buildWrapper({ stubs: { GlFormInputGroup: true } });
+
expect(findFormInput().props()).toMatchObject({
value: pushToCreateProjectCommand,
selectOnClick: true,
diff --git a/spec/frontend/super_sidebar/components/sidebar_hover_peek_behavior_spec.js b/spec/frontend/super_sidebar/components/sidebar_hover_peek_behavior_spec.js
index 75b834ee7c9..9bf9dd9301c 100644
--- a/spec/frontend/super_sidebar/components/sidebar_hover_peek_behavior_spec.js
+++ b/spec/frontend/super_sidebar/components/sidebar_hover_peek_behavior_spec.js
@@ -36,6 +36,22 @@ describe('SidebarHoverPeek component', () => {
const lastNChangeEvents = (n = 1) => wrapper.emitted('change').slice(-n).flat();
+ /**
+ * Simulates destroying the component. This is unusual! It's needed for tests
+ * that verify the clean up behavior of the component.
+ *
+ * Normally `wrapper.destroy()` would be the correct way to do this, but:
+ *
+ * - VTU@2 removes emitted event history on unmount/destroy:
+ * https://github.com/vuejs/test-utils/blob/3207debb67591d63932f6a4228e2d21d7525450c/src/vueWrapper.ts#L271-L272
+ * - Attaching listeners via a harness/dummy component isn't sufficient, as
+ * the listeners are removed anyway on destroy, so the tests would pass
+ * whether or not the clean up behavior actually happens.
+ * - Spying on `EventTarget#removeEventListener` is another possible
+ * approach, but that's brittle. Selectors/event names could change.
+ */
+ const simulateDestroy = () => SidebarHoverPeek.beforeDestroy.call(wrapper.vm);
+
beforeEach(() => {
toggle = document.createElement('button');
toggle.classList.add(JS_TOGGLE_EXPAND_CLASS);
@@ -159,14 +175,14 @@ describe('SidebarHoverPeek component', () => {
expect(lastNChangeEvents(1)).toEqual([STATE_OPEN]);
- wrapper.destroy();
+ simulateDestroy();
mouseLeave(toggle);
expect(lastNChangeEvents(1)).toEqual([STATE_OPEN]);
});
it('cleans up its timers before destroy', () => {
- wrapper.destroy();
+ simulateDestroy();
jest.runOnlyPendingTimers();
expect(lastNChangeEvents(1)).toEqual([STATE_WILL_OPEN]);
@@ -175,7 +191,7 @@ describe('SidebarHoverPeek component', () => {
it('cleans up document mouseleave listener before destroy', () => {
mouseEnter(toggle);
- wrapper.destroy();
+ simulateDestroy();
moveMouseOutOfDocument();
@@ -205,7 +221,7 @@ describe('SidebarHoverPeek component', () => {
expect(lastNChangeEvents(1)).toEqual([STATE_CLOSED]);
- wrapper.destroy();
+ simulateDestroy();
mouseEnter(toggle);
expect(lastNChangeEvents(1)).toEqual([STATE_CLOSED]);
diff --git a/spec/frontend/super_sidebar/components/sidebar_peek_behavior_spec.js b/spec/frontend/super_sidebar/components/sidebar_peek_behavior_spec.js
index 90a950c5f35..299ab6a95d5 100644
--- a/spec/frontend/super_sidebar/components/sidebar_peek_behavior_spec.js
+++ b/spec/frontend/super_sidebar/components/sidebar_peek_behavior_spec.js
@@ -43,6 +43,22 @@ describe('SidebarPeek component', () => {
const lastNChangeEvents = (n = 1) => wrapper.emitted('change').slice(-n).flat();
+ /**
+ * Simulates destroying the component. This is unusual! It's needed for tests
+ * that verify the clean up behavior of the component.
+ *
+ * Normally `wrapper.destroy()` would be the correct way to do this, but:
+ *
+ * - VTU@2 removes emitted event history on unmount/destroy:
+ * https://github.com/vuejs/test-utils/blob/3207debb67591d63932f6a4228e2d21d7525450c/src/vueWrapper.ts#L271-L272
+ * - Attaching listeners via a harness/dummy component isn't sufficient, as
+ * the listeners are removed anyway on destroy, so the tests would pass
+ * whether or not the clean up behavior actually happens.
+ * - Spying on `EventTarget#removeEventListener` is another possible
+ * approach, but that's brittle. Selectors/event names could change.
+ */
+ const simulateDestroy = () => SidebarPeek.beforeDestroy.call(wrapper.vm);
+
beforeEach(() => {
createComponent();
trackingSpy = mockTracking(undefined, undefined, jest.spyOn);
@@ -177,7 +193,7 @@ describe('SidebarPeek component', () => {
moveMouse(0);
jest.runOnlyPendingTimers();
- wrapper.destroy();
+ simulateDestroy();
moveMouse(X_AWAY_FROM_SIDEBAR);
expect(lastNChangeEvents(1)).toEqual([STATE_OPEN]);
@@ -186,7 +202,7 @@ describe('SidebarPeek component', () => {
it('cleans up its timers before destroy', () => {
moveMouse(0);
- wrapper.destroy();
+ simulateDestroy();
jest.runOnlyPendingTimers();
expect(lastNChangeEvents(1)).toEqual([STATE_WILL_OPEN]);
@@ -210,7 +226,7 @@ describe('SidebarPeek component', () => {
it('cleans up document mouseleave listener before destroy', () => {
moveMouse(0);
- wrapper.destroy();
+ simulateDestroy();
moveMouseOutOfDocument();
diff --git a/spec/lib/gitlab/database/dictionary_spec.rb b/spec/lib/gitlab/database/dictionary_spec.rb
index bfdbc837740..6580fabb126 100644
--- a/spec/lib/gitlab/database/dictionary_spec.rb
+++ b/spec/lib/gitlab/database/dictionary_spec.rb
@@ -223,7 +223,7 @@ RSpec.describe Gitlab::Database::Dictionary, feature_category: :database do
describe '#allow_cross_to_schemas' do
it 'returns the list of allowed schemas' do
expect(database_dictionary.allow_cross_to_schemas(:foreign_keys))
- .to contain_exactly(:gitlab_main_clusterwide)
+ .to be_empty
end
end
end
diff --git a/spec/migrations/20241115211552_queue_backfill_software_license_spdx_identifier_for_software_license_policies_spec.rb b/spec/migrations/20241115211552_queue_backfill_software_license_spdx_identifier_for_software_license_policies_spec.rb
new file mode 100644
index 00000000000..317a5dd1330
--- /dev/null
+++ b/spec/migrations/20241115211552_queue_backfill_software_license_spdx_identifier_for_software_license_policies_spec.rb
@@ -0,0 +1,27 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+require_migration!
+
+RSpec.describe QueueBackfillSoftwareLicenseSpdxIdentifierForSoftwareLicensePolicies, migration: :gitlab_main_cell, feature_category: :security_policy_management do
+ let!(:batched_migration) { described_class::MIGRATION }
+
+ it 'schedules a new batched migration' do
+ reversible_migration do |migration|
+ migration.before -> {
+ expect(batched_migration).not_to have_scheduled_batched_migration
+ }
+
+ migration.after -> {
+ expect(batched_migration).to have_scheduled_batched_migration(
+ gitlab_schema: :gitlab_main,
+ table_name: :software_license_policies,
+ column_name: :id,
+ interval: described_class::DELAY_INTERVAL,
+ batch_size: described_class::BATCH_SIZE,
+ sub_batch_size: described_class::SUB_BATCH_SIZE
+ )
+ }
+ end
+ end
+end
diff --git a/spec/support/shared_examples/features/work_items/work_items_shared_examples.rb b/spec/support/shared_examples/features/work_items/work_items_shared_examples.rb
index 6c999ab9f04..ca221932c76 100644
--- a/spec/support/shared_examples/features/work_items/work_items_shared_examples.rb
+++ b/spec/support/shared_examples/features/work_items/work_items_shared_examples.rb
@@ -762,3 +762,107 @@ RSpec.shared_examples 'work items health status' do
end
end
end
+
+RSpec.shared_examples 'work items color' do
+ it 'updates and clears color', :aggregate_failures do
+ within_testid 'work-item-color' do
+ click_button 'Edit'
+ click_link 'Purple'
+
+ expect(page).to have_text 'Purple'
+
+ click_button 'Edit'
+ send_keys(:backspace, :backspace, :backspace, :backspace, :backspace, :backspace, 112233, :escape)
+
+ expect(page).to have_text 'Custom'
+
+ click_button 'Edit'
+ click_button 'Reset'
+
+ expect(page).to have_text('Blue')
+ end
+ end
+end
+
+RSpec.shared_examples 'work items hierarchy' do |testid, type|
+ it 'shows no child items by default and toggles card', :aggregate_failures do
+ within_testid testid do
+ expect(page).to have_css('h2', text: 'Child items')
+ expect(page).to have_text('No child items are currently assigned.')
+
+ click_button 'Collapse'
+
+ expect(page).not_to have_text('No child items are currently assigned.')
+
+ click_button 'Expand'
+
+ expect(page).to have_text('No child items are currently assigned.')
+ end
+ end
+
+ it 'creates, removes, and reverts removal of child item', :aggregate_failures do
+ # https://gitlab.com/gitlab-org/gitlab/-/issues/467207
+ allow(Gitlab::QueryLimiting::Transaction).to receive(:threshold).and_return(300)
+
+ within_testid testid do
+ create_child(type, 'Child 1')
+
+ expect(page).to have_link 'Child 1'
+
+ click_button 'Remove'
+
+ expect(page).not_to have_link 'Child 1'
+ end
+
+ within '.gl-toast' do
+ expect(page).to have_content(_('Child removed'))
+
+ find('a', text: 'Undo').click # click_link doesn't work here for some reason
+ end
+
+ within_testid testid do
+ expect(page).to have_link 'Child 1'
+ end
+ end
+
+ it 'adds an existing child item', :aggregate_failures do
+ within_testid testid do
+ click_button 'Add'
+ click_button "Existing #{type}"
+ fill_in 'Search existing items', with: child_item.title
+ click_button child_item.title
+ send_keys :escape
+ click_button "Add #{type}"
+
+ expect(page).to have_link child_item.title
+ end
+ end
+
+ it 'creates and reorders child items', :aggregate_failures do
+ # https://gitlab.com/gitlab-org/gitlab/-/issues/467207
+ allow(Gitlab::QueryLimiting::Transaction).to receive(:threshold).and_return(300)
+
+ within_testid testid do
+ create_child(type, 'Child 1')
+ create_child(type, 'Child 2')
+ create_child(type, 'Child 3')
+
+ expect(page).to have_css('.tree-item:nth-child(1) .item-title', text: 'Child 3')
+ expect(page).to have_css('.tree-item:nth-child(2) .item-title', text: 'Child 2')
+ expect(page).to have_css('.tree-item:nth-child(3) .item-title', text: 'Child 1')
+
+ drag_to(selector: '.sortable-container', from_index: 0, to_index: 2)
+
+ expect(page).to have_css('.tree-item:nth-child(1) .item-title', text: 'Child 2')
+ expect(page).to have_css('.tree-item:nth-child(2) .item-title', text: 'Child 1')
+ expect(page).to have_css('.tree-item:nth-child(3) .item-title', text: 'Child 3')
+ end
+ end
+
+ def create_child(type, title)
+ click_button 'Add'
+ click_button "New #{type}"
+ fill_in 'Add a title', with: title
+ click_button "Create #{type}"
+ end
+end
diff --git a/spec/tasks/gitlab/db/alter_cell_sequences_range_rake_spec.rb b/spec/tasks/gitlab/db/alter_cell_sequences_range_rake_spec.rb
index 750ab053d0c..26518795758 100644
--- a/spec/tasks/gitlab/db/alter_cell_sequences_range_rake_spec.rb
+++ b/spec/tasks/gitlab/db/alter_cell_sequences_range_rake_spec.rb
@@ -13,18 +13,6 @@ RSpec.describe 'gitlab:db:alter_cell_sequences_range', :silence_stdout, feature_
subject(:run_rake) { run_rake_task('gitlab:db:alter_cell_sequences_range', minval, maxval) }
- context 'when run in non Gitlab.com/dev/test environment' do
- before do
- allow(Gitlab).to receive_messages(com_except_jh?: false, dev_or_test_env?: false)
- end
-
- it 'does not attempt to alter sequence range' do
- expect(Gitlab::Database::AlterCellSequencesRange).not_to receive(:new)
-
- run_rake
- end
- end
-
shared_examples 'alters cell sequences range' do
it 'executes AlterCellSequencesRange' do
Gitlab::Database::EachDatabase.each_connection do |connection, _database_name|
@@ -38,9 +26,36 @@ RSpec.describe 'gitlab:db:alter_cell_sequences_range', :silence_stdout, feature_
end
end
+ shared_examples 'does not alter cell sequences range' do
+ it 'does not executes AlterCellSequencesRange' do
+ expect(Gitlab::Database::AlterCellSequencesRange).not_to receive(:new)
+
+ run_rake
+ end
+ end
+
+ context 'when run in non Gitlab.com/dev/test environment' do
+ before do
+ allow(Gitlab).to receive_messages(com_except_jh?: false, dev_or_test_env?: false)
+ allow(Settings).to receive(:skip_sequence_alteration?).and_return(false)
+ end
+
+ it_behaves_like 'does not alter cell sequences range'
+ end
+
+ context 'when run for legacy cell' do
+ before do
+ allow(Gitlab).to receive_messages(com_except_jh?: true, dev_or_test_env?: true)
+ allow(Settings).to receive(:skip_sequence_alteration?).and_return(true)
+ end
+
+ it_behaves_like 'does not alter cell sequences range'
+ end
+
context 'when run in Gitlab.com but not jh instance' do
before do
allow(Gitlab).to receive(:com_except_jh?).and_return(true)
+ allow(Settings).to receive(:skip_sequence_alteration?).and_return(false)
end
it_behaves_like 'alters cell sequences range'
@@ -49,6 +64,7 @@ RSpec.describe 'gitlab:db:alter_cell_sequences_range', :silence_stdout, feature_
context 'when run in dev or test env' do
before do
allow(Gitlab).to receive(:dev_or_test_env?).and_return(true)
+ allow(Settings).to receive(:skip_sequence_alteration?).and_return(false)
end
it_behaves_like 'alters cell sequences range'
diff --git a/yarn.lock b/yarn.lock
index 32d93a9d9f4..200947768f5 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1429,10 +1429,10 @@
resolved "https://registry.yarnpkg.com/@gitlab/svgs/-/svgs-3.121.0.tgz#57cacc895929aef4320632396373797a64b230ff"
integrity sha512-ZekVjdMZrjrNEjdrOHsJYCu7A+ea3AkuNUxWIZ3FaNgJj4Oh21RlTP7bQKnRSXVhBbV1jg1PgzQ1ANEoCW8t4g==
-"@gitlab/ui@103.1.0":
- version "103.1.0"
- resolved "https://registry.yarnpkg.com/@gitlab/ui/-/ui-103.1.0.tgz#7b446e72873ed9608211482b1f80419a0def3d4c"
- integrity sha512-KpmJHY1+armClHecG1FoLrERpYgDK4GesbB82HsYEF1EydSZeyQPrrQEYdY83rqF1POYXBHOEzugmteOA5nUvg==
+"@gitlab/ui@103.5.0":
+ version "103.5.0"
+ resolved "https://registry.yarnpkg.com/@gitlab/ui/-/ui-103.5.0.tgz#8d954104213417c5fcc07e224bffc99f3dcc19f8"
+ integrity sha512-cHohuHX4Kp8yEfbOitN8rxMzgKrljscwrogco2yNhhyPEUayNGWE2TQoN5cabcCeXRoWIGViso7YWca92GLqCg==
dependencies:
"@floating-ui/dom" "1.4.3"
echarts "^5.3.2"