Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.rubocop.yml5
-rw-r--r--.rubocop_manual_todo.yml171
-rw-r--r--Gemfile2
-rw-r--r--Gemfile.lock4
-rw-r--r--app/assets/javascripts/pipelines/components/pipelines_list/pipeline_url.vue13
-rw-r--r--app/assets/stylesheets/framework/dropdowns.scss3
-rw-r--r--app/assets/stylesheets/framework/variables.scss1
-rw-r--r--app/assets/stylesheets/page_bundles/_ide_theme_overrides.scss5
-rw-r--r--app/controllers/projects/merge_requests_controller.rb3
-rw-r--r--app/graphql/mutations/admin/sidekiq_queues/delete_jobs.rb4
-rw-r--r--app/graphql/mutations/alert_management/base.rb10
-rw-r--r--app/graphql/mutations/alert_management/http_integration/create.rb6
-rw-r--r--app/graphql/mutations/alert_management/http_integration/destroy.rb2
-rw-r--r--app/graphql/mutations/alert_management/http_integration/http_integration_base.rb2
-rw-r--r--app/graphql/mutations/alert_management/http_integration/reset_token.rb2
-rw-r--r--app/graphql/mutations/alert_management/http_integration/update.rb6
-rw-r--r--app/graphql/mutations/alert_management/prometheus_integration/create.rb6
-rw-r--r--app/graphql/mutations/alert_management/prometheus_integration/prometheus_integration_base.rb2
-rw-r--r--app/graphql/mutations/alert_management/prometheus_integration/reset_token.rb2
-rw-r--r--app/graphql/mutations/alert_management/prometheus_integration/update.rb6
-rw-r--r--app/graphql/mutations/alert_management/update_alert_status.rb2
-rw-r--r--app/graphql/mutations/award_emojis/base.rb4
-rw-r--r--app/graphql/mutations/boards/destroy.rb4
-rw-r--r--app/graphql/mutations/boards/issues/issue_move_list.rb14
-rw-r--r--app/graphql/mutations/boards/lists/base.rb4
-rw-r--r--app/graphql/mutations/boards/lists/create.rb4
-rw-r--r--app/graphql/mutations/boards/lists/update.rb6
-rw-r--r--app/graphql/mutations/branches/create.rb8
-rw-r--r--app/graphql/mutations/commits/create.rb10
-rw-r--r--app/graphql/mutations/concerns/mutations/resolves_resource_parent.rb4
-rw-r--r--app/graphql/mutations/concerns/mutations/resolves_subscription.rb2
-rw-r--r--app/graphql/mutations/concerns/mutations/spammable_mutation_fields.rb2
-rw-r--r--app/graphql/mutations/container_expiration_policies/update.rb4
-rw-r--r--app/graphql/mutations/container_repositories/destroy_tags.rb2
-rw-r--r--app/graphql/mutations/custom_emoji/create.rb8
-rw-r--r--app/graphql/mutations/design_management/base.rb4
-rw-r--r--app/graphql/mutations/design_management/delete.rb4
-rw-r--r--app/graphql/mutations/design_management/move.rb8
-rw-r--r--app/graphql/mutations/design_management/upload.rb4
-rw-r--r--app/graphql/mutations/discussions/toggle_resolve.rb6
-rw-r--r--app/graphql/mutations/environments/canary_ingress/update.rb4
-rw-r--r--app/graphql/mutations/issues/base.rb6
-rw-r--r--app/graphql/mutations/issues/create.rb18
-rw-r--r--app/graphql/mutations/issues/move.rb2
-rw-r--r--app/graphql/mutations/issues/set_due_date.rb2
-rw-r--r--app/graphql/mutations/issues/set_locked.rb2
-rw-r--r--app/graphql/mutations/issues/update.rb8
-rw-r--r--app/graphql/mutations/jira_import/import_users.rb4
-rw-r--r--app/graphql/mutations/jira_import/start.rb10
-rw-r--r--app/graphql/mutations/labels/create.rb8
-rw-r--r--app/graphql/mutations/merge_requests/base.rb6
-rw-r--r--app/graphql/mutations/merge_requests/create.rb4
-rw-r--r--app/graphql/mutations/metrics/dashboard/annotations/create.rb14
-rw-r--r--app/graphql/mutations/metrics/dashboard/annotations/delete.rb2
-rw-r--r--app/graphql/mutations/notes/base.rb2
-rw-r--r--app/graphql/mutations/notes/create/base.rb2
-rw-r--r--app/graphql/mutations/notes/create/note.rb2
-rw-r--r--app/graphql/mutations/notes/destroy.rb2
-rw-r--r--app/graphql/mutations/notes/reposition_image_diff_note.rb2
-rw-r--r--app/graphql/mutations/notes/update/base.rb2
-rw-r--r--app/graphql/mutations/releases/base.rb2
-rw-r--r--app/graphql/mutations/releases/create.rb12
-rw-r--r--app/graphql/mutations/releases/update.rb8
-rw-r--r--app/graphql/mutations/snippets/base.rb2
-rw-r--r--app/graphql/mutations/snippets/create.rb14
-rw-r--r--app/graphql/mutations/snippets/destroy.rb2
-rw-r--r--app/graphql/mutations/snippets/mark_as_spam.rb2
-rw-r--r--app/graphql/mutations/snippets/update.rb10
-rw-r--r--app/graphql/mutations/terraform/state/base.rb2
-rw-r--r--app/graphql/mutations/todos/create.rb4
-rw-r--r--app/graphql/mutations/todos/mark_all_done.rb4
-rw-r--r--app/graphql/mutations/todos/mark_done.rb4
-rw-r--r--app/graphql/mutations/todos/restore.rb4
-rw-r--r--app/graphql/mutations/todos/restore_many.rb6
-rw-r--r--app/services/ci/destroy_expired_job_artifacts_service.rb2
-rw-r--r--app/services/ci/pipeline_artifacts/destroy_expired_artifacts_service.rb52
-rw-r--r--app/workers/all_queues.yml8
-rw-r--r--app/workers/ci/pipeline_artifacts/expire_artifacts_worker.rb25
-rw-r--r--changelogs/unreleased/mw-replace-dropdown-input-fa-color-with-gray-500.yml5
-rw-r--r--config/feature_flags/development/ci_split_pipeline_artifacts_removal.yml8
-rw-r--r--config/feature_flags/development/usage_data_incident_management_alerts_total_unique_counts.yml8
-rw-r--r--config/feature_flags/development/usage_data_incident_management_incidents_total_unique_counts.yml8
-rw-r--r--config/gitlab.yml.example3
-rw-r--r--config/initializers/1_settings.rb3
-rw-r--r--doc/administration/geo/index.md6
-rw-r--r--doc/administration/monitoring/prometheus/gitlab_metrics.md1
-rw-r--r--doc/api/graphql/reference/gitlab_schema.graphql536
-rw-r--r--doc/api/graphql/reference/gitlab_schema.json536
-rw-r--r--doc/api/graphql/reference/index.md164
-rw-r--r--doc/development/product_analytics/usage_ping.md6
-rw-r--r--lib/gitlab/usage_data_counters/aggregated_metrics/common.yml2
-rw-r--r--locale/gitlab.pot2
-rw-r--r--spec/features/merge_request/user_sees_merge_request_pipelines_spec.rb22
-rw-r--r--spec/features/merge_request/user_sees_pipelines_spec.rb2
-rw-r--r--spec/lib/gitlab/auth_spec.rb5
-rw-r--r--spec/services/ci/destroy_expired_job_artifacts_service_spec.rb12
-rw-r--r--spec/services/ci/pipeline_artifacts/destroy_expired_artifacts_service_spec.rb81
-rw-r--r--spec/workers/ci/pipeline_artifacts/expire_artifacts_worker_spec.rb36
-rw-r--r--tooling/overcommit/Gemfile2
-rw-r--r--tooling/overcommit/Gemfile.lock4
100 files changed, 1166 insertions, 910 deletions
diff --git a/.rubocop.yml b/.rubocop.yml
index b133ecbcf93..1ae4ac47bca 100644
--- a/.rubocop.yml
+++ b/.rubocop.yml
@@ -48,6 +48,11 @@ Cop/StaticTranslationDefinition:
- 'spec/**/*'
- 'ee/spec/**/*'
+InternalAffairs/DeprecateCopHelper:
+ Enabled: true
+ Include:
+ - spec/rubocop/**/*.rb
+
Lint/LastKeywordArgument:
Enabled: true
Safe: false
diff --git a/.rubocop_manual_todo.yml b/.rubocop_manual_todo.yml
index 1436ec9e484..fbb4e7d5cc8 100644
--- a/.rubocop_manual_todo.yml
+++ b/.rubocop_manual_todo.yml
@@ -29,6 +29,110 @@ FactoryBot/InlineAssociation:
- 'spec/factories/uploads.rb'
- 'spec/factories/wiki_pages.rb'
+InternalAffairs/DeprecateCopHelper:
+ Exclude:
+ - 'spec/rubocop/code_reuse_helpers_spec.rb'
+ - 'spec/rubocop/qa_helpers_spec.rb'
+ - 'spec/rubocop/migration_helpers_spec.rb'
+ - 'spec/rubocop/cop/group_public_or_visible_to_user_spec.rb'
+ - 'spec/rubocop/cop/static_translation_definition_spec.rb'
+ - 'spec/rubocop/cop/lint/last_keyword_argument_spec.rb'
+ - 'spec/rubocop/cop/usage_data/large_table_spec.rb'
+ - 'spec/rubocop/cop/usage_data/distinct_count_by_large_foreign_key_spec.rb'
+ - 'spec/rubocop/cop/filename_length_spec.rb'
+ - 'spec/rubocop/cop/put_project_routes_under_scope_spec.rb'
+ - 'spec/rubocop/cop/gitlab/rails_logger_spec.rb'
+ - 'spec/rubocop/cop/gitlab/module_with_instance_variables_spec.rb'
+ - 'spec/rubocop/cop/gitlab/avoid_uploaded_file_from_params_spec.rb'
+ - 'spec/rubocop/cop/gitlab/duplicate_spec_location_spec.rb'
+ - 'spec/rubocop/cop/gitlab/bulk_insert_spec.rb'
+ - 'spec/rubocop/cop/gitlab/intersect_spec.rb'
+ - 'spec/rubocop/cop/gitlab/json_spec.rb'
+ - 'spec/rubocop/cop/gitlab/httparty_spec.rb'
+ - 'spec/rubocop/cop/gitlab/policy_rule_boolean_spec.rb'
+ - 'spec/rubocop/cop/gitlab/except_spec.rb'
+ - 'spec/rubocop/cop/gitlab/const_get_inherit_false_spec.rb'
+ - 'spec/rubocop/cop/gitlab/change_timezone_spec.rb'
+ - 'spec/rubocop/cop/gitlab/predicate_memoization_spec.rb'
+ - 'spec/rubocop/cop/gitlab/union_spec.rb'
+ - 'spec/rubocop/cop/gitlab/finder_with_find_by_spec.rb'
+ - 'spec/rubocop/cop/ruby_interpolation_in_translation_spec.rb'
+ - 'spec/rubocop/cop/active_record_association_reload_spec.rb'
+ - 'spec/rubocop/cop/ban_catch_throw_spec.rb'
+ - 'spec/rubocop/cop/avoid_break_from_strong_memoize_spec.rb'
+ - 'spec/rubocop/cop/avoid_becomes_spec.rb'
+ - 'spec/rubocop/cop/qa/ambiguous_page_object_name_spec.rb'
+ - 'spec/rubocop/cop/qa/element_with_pattern_spec.rb'
+ - 'spec/rubocop/cop/inject_enterprise_edition_module_spec.rb'
+ - 'spec/rubocop/cop/code_reuse/finder_spec.rb'
+ - 'spec/rubocop/cop/code_reuse/worker_spec.rb'
+ - 'spec/rubocop/cop/code_reuse/service_class_spec.rb'
+ - 'spec/rubocop/cop/code_reuse/presenter_spec.rb'
+ - 'spec/rubocop/cop/code_reuse/serializer_spec.rb'
+ - 'spec/rubocop/cop/avoid_keyword_arguments_in_sidekiq_workers_spec.rb'
+ - 'spec/rubocop/cop/default_scope_spec.rb'
+ - 'spec/rubocop/cop/graphql/resolver_type_spec.rb'
+ - 'spec/rubocop/cop/graphql/descriptions_spec.rb'
+ - 'spec/rubocop/cop/graphql/json_type_spec.rb'
+ - 'spec/rubocop/cop/graphql/gid_expected_type_spec.rb'
+ - 'spec/rubocop/cop/graphql/authorize_types_spec.rb'
+ - 'spec/rubocop/cop/graphql/id_type_spec.rb'
+ - 'spec/rubocop/cop/scalability/bulk_perform_with_context_spec.rb'
+ - 'spec/rubocop/cop/scalability/idempotent_worker_spec.rb'
+ - 'spec/rubocop/cop/scalability/cron_worker_context_spec.rb'
+ - 'spec/rubocop/cop/scalability/file_uploads_spec.rb'
+ - 'spec/rubocop/cop/api/grape_array_missing_coerce_spec.rb'
+ - 'spec/rubocop/cop/api/base_spec.rb'
+ - 'spec/rubocop/cop/destroy_all_spec.rb'
+ - 'spec/rubocop/cop/safe_params_spec.rb'
+ - 'spec/rubocop/cop/include_sidekiq_worker_spec.rb'
+ - 'spec/rubocop/cop/rspec/factories_in_migration_specs_spec.rb'
+ - 'spec/rubocop/cop/rspec/timecop_freeze_spec.rb'
+ - 'spec/rubocop/cop/rspec/any_instance_of_spec.rb'
+ - 'spec/rubocop/cop/rspec/factory_bot/inline_association_spec.rb'
+ - 'spec/rubocop/cop/rspec/top_level_describe_path_spec.rb'
+ - 'spec/rubocop/cop/rspec/be_success_matcher_spec.rb'
+ - 'spec/rubocop/cop/rspec/htt_party_basic_auth_spec.rb'
+ - 'spec/rubocop/cop/rspec/modify_sidekiq_middleware_spec.rb'
+ - 'spec/rubocop/cop/rspec/expect_gitlab_tracking_spec.rb'
+ - 'spec/rubocop/cop/rspec/have_gitlab_http_status_spec.rb'
+ - 'spec/rubocop/cop/rspec/timecop_travel_spec.rb'
+ - 'spec/rubocop/cop/rspec/env_assignment_spec.rb'
+ - 'spec/rubocop/cop/performance/ar_exists_and_present_blank_spec.rb'
+ - 'spec/rubocop/cop/performance/ar_count_each_spec.rb'
+ - 'spec/rubocop/cop/performance/readlines_each_spec.rb'
+ - 'spec/rubocop/cop/project_path_helper_spec.rb'
+ - 'spec/rubocop/cop/migration/safer_boolean_column_spec.rb'
+ - 'spec/rubocop/cop/migration/remove_index_spec.rb'
+ - 'spec/rubocop/cop/migration/add_index_spec.rb'
+ - 'spec/rubocop/cop/migration/drop_table_spec.rb'
+ - 'spec/rubocop/cop/migration/hash_index_spec.rb'
+ - 'spec/rubocop/cop/migration/datetime_spec.rb'
+ - 'spec/rubocop/cop/migration/add_column_with_default_spec.rb'
+ - 'spec/rubocop/cop/migration/prevent_strings_spec.rb'
+ - 'spec/rubocop/cop/migration/add_timestamps_spec.rb'
+ - 'spec/rubocop/cop/migration/add_concurrent_index_spec.rb'
+ - 'spec/rubocop/cop/migration/update_column_in_batches_spec.rb'
+ - 'spec/rubocop/cop/migration/complex_indexes_require_name_spec.rb'
+ - 'spec/rubocop/cop/migration/refer_to_index_by_name_spec.rb'
+ - 'spec/rubocop/cop/migration/schedule_async_spec.rb'
+ - 'spec/rubocop/cop/migration/timestamps_spec.rb'
+ - 'spec/rubocop/cop/migration/remove_concurrent_index_spec.rb'
+ - 'spec/rubocop/cop/migration/add_columns_to_wide_tables_spec.rb'
+ - 'spec/rubocop/cop/migration/with_lock_retries_disallowed_method_spec.rb'
+ - 'spec/rubocop/cop/migration/add_reference_spec.rb'
+ - 'spec/rubocop/cop/migration/remove_column_spec.rb'
+ - 'spec/rubocop/cop/migration/create_table_with_foreign_keys_spec.rb'
+ - 'spec/rubocop/cop/migration/add_concurrent_foreign_key_spec.rb'
+ - 'spec/rubocop/cop/migration/with_lock_retries_with_change_spec.rb'
+ - 'spec/rubocop/cop/migration/add_limit_to_text_columns_spec.rb'
+ - 'spec/rubocop/cop/avoid_return_from_blocks_spec.rb'
+ - 'spec/rubocop/cop/avoid_route_redirect_leading_slash_spec.rb'
+ - 'spec/rubocop/cop/put_group_routes_under_scope_spec.rb'
+ - 'spec/rubocop/cop/sidekiq_options_queue_spec.rb'
+ - 'spec/rubocop/cop/ignored_columns_spec.rb'
+ - 'spec/rubocop/cop/prefer_class_methods_over_module_spec.rb'
+
Rails/SaveBang:
Exclude:
- 'ee/spec/controllers/projects/merge_requests_controller_spec.rb'
@@ -662,73 +766,6 @@ RSpec/TimecopTravel:
Graphql/Descriptions:
Exclude:
- - 'app/graphql/mutations/admin/sidekiq_queues/delete_jobs.rb'
- - 'app/graphql/mutations/alert_management/base.rb'
- - 'app/graphql/mutations/alert_management/http_integration/create.rb'
- - 'app/graphql/mutations/alert_management/http_integration/destroy.rb'
- - 'app/graphql/mutations/alert_management/http_integration/http_integration_base.rb'
- - 'app/graphql/mutations/alert_management/http_integration/reset_token.rb'
- - 'app/graphql/mutations/alert_management/http_integration/update.rb'
- - 'app/graphql/mutations/alert_management/prometheus_integration/create.rb'
- - 'app/graphql/mutations/alert_management/prometheus_integration/prometheus_integration_base.rb'
- - 'app/graphql/mutations/alert_management/prometheus_integration/reset_token.rb'
- - 'app/graphql/mutations/alert_management/prometheus_integration/update.rb'
- - 'app/graphql/mutations/alert_management/update_alert_status.rb'
- - 'app/graphql/mutations/award_emojis/base.rb'
- - 'app/graphql/mutations/boards/destroy.rb'
- - 'app/graphql/mutations/boards/issues/issue_move_list.rb'
- - 'app/graphql/mutations/boards/lists/base.rb'
- - 'app/graphql/mutations/boards/lists/create.rb'
- - 'app/graphql/mutations/boards/lists/update.rb'
- - 'app/graphql/mutations/branches/create.rb'
- - 'app/graphql/mutations/ci/base.rb'
- - 'app/graphql/mutations/ci/pipeline_retry.rb'
- - 'app/graphql/mutations/commits/create.rb'
- - 'app/graphql/mutations/concerns/mutations/resolves_resource_parent.rb'
- - 'app/graphql/mutations/concerns/mutations/resolves_subscription.rb'
- - 'app/graphql/mutations/concerns/mutations/spammable_mutation_fields.rb'
- - 'app/graphql/mutations/container_expiration_policies/update.rb'
- - 'app/graphql/mutations/container_repositories/destroy_tags.rb'
- - 'app/graphql/mutations/custom_emoji/create.rb'
- - 'app/graphql/mutations/design_management/base.rb'
- - 'app/graphql/mutations/design_management/delete.rb'
- - 'app/graphql/mutations/design_management/move.rb'
- - 'app/graphql/mutations/design_management/upload.rb'
- - 'app/graphql/mutations/discussions/toggle_resolve.rb'
- - 'app/graphql/mutations/environments/canary_ingress/update.rb'
- - 'app/graphql/mutations/issues/base.rb'
- - 'app/graphql/mutations/issues/create.rb'
- - 'app/graphql/mutations/issues/move.rb'
- - 'app/graphql/mutations/issues/set_due_date.rb'
- - 'app/graphql/mutations/issues/set_locked.rb'
- - 'app/graphql/mutations/issues/update.rb'
- - 'app/graphql/mutations/jira_import/import_users.rb'
- - 'app/graphql/mutations/jira_import/start.rb'
- - 'app/graphql/mutations/labels/create.rb'
- - 'app/graphql/mutations/merge_requests/base.rb'
- - 'app/graphql/mutations/merge_requests/create.rb'
- - 'app/graphql/mutations/metrics/dashboard/annotations/create.rb'
- - 'app/graphql/mutations/metrics/dashboard/annotations/delete.rb'
- - 'app/graphql/mutations/notes/base.rb'
- - 'app/graphql/mutations/notes/create/base.rb'
- - 'app/graphql/mutations/notes/create/note.rb'
- - 'app/graphql/mutations/notes/destroy.rb'
- - 'app/graphql/mutations/notes/reposition_image_diff_note.rb'
- - 'app/graphql/mutations/notes/update/base.rb'
- - 'app/graphql/mutations/releases/base.rb'
- - 'app/graphql/mutations/releases/create.rb'
- - 'app/graphql/mutations/releases/update.rb'
- - 'app/graphql/mutations/snippets/base.rb'
- - 'app/graphql/mutations/snippets/create.rb'
- - 'app/graphql/mutations/snippets/destroy.rb'
- - 'app/graphql/mutations/snippets/mark_as_spam.rb'
- - 'app/graphql/mutations/snippets/update.rb'
- - 'app/graphql/mutations/terraform/state/base.rb'
- - 'app/graphql/mutations/todos/create.rb'
- - 'app/graphql/mutations/todos/mark_all_done.rb'
- - 'app/graphql/mutations/todos/mark_done.rb'
- - 'app/graphql/mutations/todos/restore.rb'
- - 'app/graphql/mutations/todos/restore_many.rb'
- 'app/graphql/resolvers/admin/analytics/instance_statistics/measurements_resolver.rb'
- 'app/graphql/resolvers/alert_management/alert_resolver.rb'
- 'app/graphql/resolvers/alert_management/alert_status_counts_resolver.rb'
diff --git a/Gemfile b/Gemfile
index a29dcff065b..39f819980e5 100644
--- a/Gemfile
+++ b/Gemfile
@@ -372,7 +372,7 @@ group :development, :test do
gem 'spring', '~> 2.1.0'
gem 'spring-commands-rspec', '~> 1.0.4'
- gem 'gitlab-styles', '~> 5.3.0', require: false
+ gem 'gitlab-styles', '~> 5.4.0', require: false
gem 'scss_lint', '~> 0.59.0', require: false
gem 'haml_lint', '~> 0.36.0', require: false
diff --git a/Gemfile.lock b/Gemfile.lock
index 81faa6278e4..ec938360ed6 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -455,7 +455,7 @@ GEM
gitlab-puma (>= 2.7, < 5)
gitlab-sidekiq-fetcher (0.5.2)
sidekiq (~> 5)
- gitlab-styles (5.3.0)
+ gitlab-styles (5.4.0)
rubocop (~> 0.89.1)
rubocop-gitlab-security (~> 0.1.0)
rubocop-performance (~> 1.8.1)
@@ -1366,7 +1366,7 @@ DEPENDENCIES
gitlab-puma (~> 4.3.3.gitlab.2)
gitlab-puma_worker_killer (~> 0.1.1.gitlab.1)
gitlab-sidekiq-fetcher (= 0.5.2)
- gitlab-styles (~> 5.3.0)
+ gitlab-styles (~> 5.4.0)
gitlab_chronic_duration (~> 0.10.6.2)
gitlab_omniauth-ldap (~> 2.1.1)
gon (~> 6.2)
diff --git a/app/assets/javascripts/pipelines/components/pipelines_list/pipeline_url.vue b/app/assets/javascripts/pipelines/components/pipelines_list/pipeline_url.vue
index 048b83b2347..2c4feddc9bb 100644
--- a/app/assets/javascripts/pipelines/components/pipelines_list/pipeline_url.vue
+++ b/app/assets/javascripts/pipelines/components/pipelines_list/pipeline_url.vue
@@ -50,7 +50,6 @@ export default {
<div class="table-section section-10 d-none d-md-block pipeline-tags">
<gl-link
:href="pipeline.path"
- class="js-pipeline-url-link js-onboarding-pipeline-item"
data-testid="pipeline-url-link"
data-qa-selector="pipeline_url_link"
>
@@ -70,7 +69,7 @@ export default {
v-if="pipeline.flags.latest"
v-gl-tooltip
:title="__('Latest pipeline for the most recent commit on this branch')"
- class="js-pipeline-url-latest badge badge-success"
+ class="badge badge-success"
data-testid="pipeline-url-latest"
>{{ __('latest') }}</span
>
@@ -78,7 +77,7 @@ export default {
v-if="pipeline.flags.yaml_errors"
v-gl-tooltip
:title="pipeline.yaml_errors"
- class="js-pipeline-url-yaml badge badge-danger"
+ class="badge badge-danger"
data-testid="pipeline-url-yaml"
>{{ __('yaml invalid') }}</span
>
@@ -86,7 +85,7 @@ export default {
v-if="pipeline.flags.failure_reason"
v-gl-tooltip
:title="pipeline.failure_reason"
- class="js-pipeline-url-failure badge badge-danger"
+ class="badge badge-danger"
data-testid="pipeline-url-failure"
>{{ __('error') }}</span
>
@@ -94,7 +93,7 @@ export default {
v-if="pipeline.flags.auto_devops"
:id="`pipeline-url-autodevops-${pipeline.id}`"
tabindex="0"
- class="js-pipeline-url-autodevops badge badge-info autodevops-badge"
+ class="badge badge-info autodevops-badge"
data-testid="pipeline-url-autodevops"
role="button"
>{{ __('Auto DevOps') }}</gl-link
@@ -125,7 +124,7 @@ export default {
</gl-popover>
<span
v-if="pipeline.flags.stuck"
- class="js-pipeline-url-stuck badge badge-warning"
+ class="badge badge-warning"
data-testid="pipeline-url-stuck"
>{{ __('stuck') }}</span
>
@@ -137,7 +136,7 @@ export default {
'Pipelines for merge requests are configured. A detached pipeline runs in the context of the merge request, and not against the merged result. Learn more in the documentation for Pipelines for Merged Results.',
)
"
- class="js-pipeline-url-detached badge badge-info"
+ class="badge badge-info"
data-testid="pipeline-url-detached"
>{{ __('detached') }}</span
>
diff --git a/app/assets/stylesheets/framework/dropdowns.scss b/app/assets/stylesheets/framework/dropdowns.scss
index c5ffcb48814..00230d61a46 100644
--- a/app/assets/stylesheets/framework/dropdowns.scss
+++ b/app/assets/stylesheets/framework/dropdowns.scss
@@ -567,14 +567,13 @@
margin-bottom: 10px;
padding: 0 10px;
- .fa,
.input-icon,
.dropdown-input-clear,
.dropdown-input-search {
position: absolute;
top: $gl-padding-8;
right: 20px;
- color: $dropdown-input-fa-color;
+ color: $gray-500;
font-size: 12px;
pointer-events: none;
}
diff --git a/app/assets/stylesheets/framework/variables.scss b/app/assets/stylesheets/framework/variables.scss
index 5f0ba8ca9ce..d5a0371e386 100644
--- a/app/assets/stylesheets/framework/variables.scss
+++ b/app/assets/stylesheets/framework/variables.scss
@@ -546,7 +546,6 @@ $dropdown-vertical-offset: 4px;
$dropdown-empty-row-bg: rgba(#000, 0.04);
$dropdown-shadow-color: rgba(#000, 0.1);
$dropdown-title-btn-color: #bfbfbf;
-$dropdown-input-fa-color: #c7c7c7;
$dropdown-input-focus-shadow: rgba($blue-300, 0.4);
$dropdown-loading-bg: rgba($white, 0.6);
$dropdown-chevron-size: 10px;
diff --git a/app/assets/stylesheets/page_bundles/_ide_theme_overrides.scss b/app/assets/stylesheets/page_bundles/_ide_theme_overrides.scss
index 52cc7d3449e..093cba3560f 100644
--- a/app/assets/stylesheets/page_bundles/_ide_theme_overrides.scss
+++ b/app/assets/stylesheets/page_bundles/_ide_theme_overrides.scss
@@ -85,13 +85,12 @@
color: var(--ide-input-border, $gl-text-color-tertiary);
}
- .dropdown-input .fa,
.dropdown-input .dropdown-input-clear {
- color: var(--ide-input-border, $dropdown-input-fa-color);
+ color: var(--ide-input-border, $gray-500);
}
.ide-nav-form .input-icon {
- color: var(--ide-input-border, $dropdown-input-fa-color);
+ color: var(--ide-input-border, $gray-500);
}
code {
diff --git a/app/controllers/projects/merge_requests_controller.rb b/app/controllers/projects/merge_requests_controller.rb
index 382fbfaac25..7c390130714 100644
--- a/app/controllers/projects/merge_requests_controller.rb
+++ b/app/controllers/projects/merge_requests_controller.rb
@@ -69,8 +69,9 @@ class Projects::MergeRequestsController < Projects::MergeRequests::ApplicationCo
:toggle_award_emoji, :toggle_subscription, :update
]
- feature_category :code_testing, [:test_reports, :coverage_reports, :terraform_reports]
+ feature_category :code_testing, [:test_reports, :coverage_reports]
feature_category :accessibility_testing, [:accessibility_reports]
+ feature_category :infrastructure_as_code, [:terraform_reports]
def index
@merge_requests = @issuables
diff --git a/app/graphql/mutations/admin/sidekiq_queues/delete_jobs.rb b/app/graphql/mutations/admin/sidekiq_queues/delete_jobs.rb
index 17f9b5b5637..32ca6de9b96 100644
--- a/app/graphql/mutations/admin/sidekiq_queues/delete_jobs.rb
+++ b/app/graphql/mutations/admin/sidekiq_queues/delete_jobs.rb
@@ -18,12 +18,12 @@ module Mutations
argument :queue_name,
GraphQL::STRING_TYPE,
required: true,
- description: 'The name of the queue to delete jobs from'
+ description: 'The name of the queue to delete jobs from.'
field :result,
Types::Admin::SidekiqQueues::DeleteJobsResponseType,
null: true,
- description: 'Information about the status of the deletion request'
+ description: 'Information about the status of the deletion request.'
def ready?(**args)
unless current_user&.admin?
diff --git a/app/graphql/mutations/alert_management/base.rb b/app/graphql/mutations/alert_management/base.rb
index 8c6b4005cf8..3a57cb9670d 100644
--- a/app/graphql/mutations/alert_management/base.rb
+++ b/app/graphql/mutations/alert_management/base.rb
@@ -7,26 +7,26 @@ module Mutations
argument :project_path, GraphQL::ID_TYPE,
required: true,
- description: "The project the alert to mutate is in"
+ description: "The project the alert to mutate is in."
argument :iid, GraphQL::STRING_TYPE,
required: true,
- description: "The IID of the alert to mutate"
+ description: "The IID of the alert to mutate."
field :alert,
Types::AlertManagement::AlertType,
null: true,
- description: "The alert after mutation"
+ description: "The alert after mutation."
field :todo,
Types::TodoType,
null: true,
- description: "The todo after mutation"
+ description: "The todo after mutation."
field :issue,
Types::IssueType,
null: true,
- description: "The issue created after mutation"
+ description: "The issue created after mutation."
authorize :update_alert_management_alert
diff --git a/app/graphql/mutations/alert_management/http_integration/create.rb b/app/graphql/mutations/alert_management/http_integration/create.rb
index ddb75e66bb4..f6444997d83 100644
--- a/app/graphql/mutations/alert_management/http_integration/create.rb
+++ b/app/graphql/mutations/alert_management/http_integration/create.rb
@@ -10,15 +10,15 @@ module Mutations
argument :project_path, GraphQL::ID_TYPE,
required: true,
- description: 'The project to create the integration in'
+ description: 'The project to create the integration in.'
argument :name, GraphQL::STRING_TYPE,
required: true,
- description: 'The name of the integration'
+ description: 'The name of the integration.'
argument :active, GraphQL::BOOLEAN_TYPE,
required: true,
- description: 'Whether the integration is receiving alerts'
+ description: 'Whether the integration is receiving alerts.'
def resolve(args)
project = authorized_find!(full_path: args[:project_path])
diff --git a/app/graphql/mutations/alert_management/http_integration/destroy.rb b/app/graphql/mutations/alert_management/http_integration/destroy.rb
index 45d4bd778da..d0420e2bcb5 100644
--- a/app/graphql/mutations/alert_management/http_integration/destroy.rb
+++ b/app/graphql/mutations/alert_management/http_integration/destroy.rb
@@ -8,7 +8,7 @@ module Mutations
argument :id, Types::GlobalIDType[::AlertManagement::HttpIntegration],
required: true,
- description: "The ID of the integration to remove"
+ description: "The ID of the integration to remove."
def resolve(id:)
integration = authorized_find!(id: id)
diff --git a/app/graphql/mutations/alert_management/http_integration/http_integration_base.rb b/app/graphql/mutations/alert_management/http_integration/http_integration_base.rb
index d328eabf244..147df982bec 100644
--- a/app/graphql/mutations/alert_management/http_integration/http_integration_base.rb
+++ b/app/graphql/mutations/alert_management/http_integration/http_integration_base.rb
@@ -7,7 +7,7 @@ module Mutations
field :integration,
Types::AlertManagement::HttpIntegrationType,
null: true,
- description: "The HTTP integration"
+ description: "The HTTP integration."
authorize :admin_operations
diff --git a/app/graphql/mutations/alert_management/http_integration/reset_token.rb b/app/graphql/mutations/alert_management/http_integration/reset_token.rb
index 3938b38260e..bf73a9eaae7 100644
--- a/app/graphql/mutations/alert_management/http_integration/reset_token.rb
+++ b/app/graphql/mutations/alert_management/http_integration/reset_token.rb
@@ -8,7 +8,7 @@ module Mutations
argument :id, Types::GlobalIDType[::AlertManagement::HttpIntegration],
required: true,
- description: "The ID of the integration to mutate"
+ description: "The ID of the integration to mutate."
def resolve(id:)
integration = authorized_find!(id: id)
diff --git a/app/graphql/mutations/alert_management/http_integration/update.rb b/app/graphql/mutations/alert_management/http_integration/update.rb
index 98e0f7eb14f..431fccaa5e5 100644
--- a/app/graphql/mutations/alert_management/http_integration/update.rb
+++ b/app/graphql/mutations/alert_management/http_integration/update.rb
@@ -8,15 +8,15 @@ module Mutations
argument :id, Types::GlobalIDType[::AlertManagement::HttpIntegration],
required: true,
- description: "The ID of the integration to mutate"
+ description: "The ID of the integration to mutate."
argument :name, GraphQL::STRING_TYPE,
required: false,
- description: "The name of the integration"
+ description: "The name of the integration."
argument :active, GraphQL::BOOLEAN_TYPE,
required: false,
- description: "Whether the integration is receiving alerts"
+ description: "Whether the integration is receiving alerts."
def resolve(args)
integration = authorized_find!(id: args[:id])
diff --git a/app/graphql/mutations/alert_management/prometheus_integration/create.rb b/app/graphql/mutations/alert_management/prometheus_integration/create.rb
index 935ec53795c..c676cde90b4 100644
--- a/app/graphql/mutations/alert_management/prometheus_integration/create.rb
+++ b/app/graphql/mutations/alert_management/prometheus_integration/create.rb
@@ -10,15 +10,15 @@ module Mutations
argument :project_path, GraphQL::ID_TYPE,
required: true,
- description: 'The project to create the integration in'
+ description: 'The project to create the integration in.'
argument :active, GraphQL::BOOLEAN_TYPE,
required: true,
- description: 'Whether the integration is receiving alerts'
+ description: 'Whether the integration is receiving alerts.'
argument :api_url, GraphQL::STRING_TYPE,
required: true,
- description: 'Endpoint at which prometheus can be queried'
+ description: 'Endpoint at which prometheus can be queried.'
def resolve(args)
project = authorized_find!(full_path: args[:project_path])
diff --git a/app/graphql/mutations/alert_management/prometheus_integration/prometheus_integration_base.rb b/app/graphql/mutations/alert_management/prometheus_integration/prometheus_integration_base.rb
index 6b690ac239a..cb243f49b33 100644
--- a/app/graphql/mutations/alert_management/prometheus_integration/prometheus_integration_base.rb
+++ b/app/graphql/mutations/alert_management/prometheus_integration/prometheus_integration_base.rb
@@ -7,7 +7,7 @@ module Mutations
field :integration,
Types::AlertManagement::PrometheusIntegrationType,
null: true,
- description: "The newly created integration"
+ description: "The newly created integration."
authorize :admin_project
diff --git a/app/graphql/mutations/alert_management/prometheus_integration/reset_token.rb b/app/graphql/mutations/alert_management/prometheus_integration/reset_token.rb
index effecd8364d..428be091436 100644
--- a/app/graphql/mutations/alert_management/prometheus_integration/reset_token.rb
+++ b/app/graphql/mutations/alert_management/prometheus_integration/reset_token.rb
@@ -8,7 +8,7 @@ module Mutations
argument :id, Types::GlobalIDType[::PrometheusService],
required: true,
- description: "The ID of the integration to mutate"
+ description: "The ID of the integration to mutate."
def resolve(id:)
integration = authorized_find!(id: id)
diff --git a/app/graphql/mutations/alert_management/prometheus_integration/update.rb b/app/graphql/mutations/alert_management/prometheus_integration/update.rb
index 46f4c23b739..62fb81bca5a 100644
--- a/app/graphql/mutations/alert_management/prometheus_integration/update.rb
+++ b/app/graphql/mutations/alert_management/prometheus_integration/update.rb
@@ -8,15 +8,15 @@ module Mutations
argument :id, Types::GlobalIDType[::PrometheusService],
required: true,
- description: "The ID of the integration to mutate"
+ description: "The ID of the integration to mutate."
argument :active, GraphQL::BOOLEAN_TYPE,
required: false,
- description: "Whether the integration is receiving alerts"
+ description: "Whether the integration is receiving alerts."
argument :api_url, GraphQL::STRING_TYPE,
required: false,
- description: "Endpoint at which prometheus can be queried"
+ description: "Endpoint at which prometheus can be queried."
def resolve(args)
integration = authorized_find!(id: args[:id])
diff --git a/app/graphql/mutations/alert_management/update_alert_status.rb b/app/graphql/mutations/alert_management/update_alert_status.rb
index 74185dca529..67f8ba9118f 100644
--- a/app/graphql/mutations/alert_management/update_alert_status.rb
+++ b/app/graphql/mutations/alert_management/update_alert_status.rb
@@ -7,7 +7,7 @@ module Mutations
argument :status, Types::AlertManagement::StatusEnum,
required: true,
- description: 'The status to set the alert'
+ description: 'The status to set the alert.'
def resolve(project_path:, iid:, status:)
alert = authorized_find!(project_path: project_path, iid: iid)
diff --git a/app/graphql/mutations/award_emojis/base.rb b/app/graphql/mutations/award_emojis/base.rb
index 4bd8304c3fc..4f41a9cafd8 100644
--- a/app/graphql/mutations/award_emojis/base.rb
+++ b/app/graphql/mutations/award_emojis/base.rb
@@ -12,7 +12,7 @@ module Mutations
argument :awardable_id,
::Types::GlobalIDType[::Awardable],
required: true,
- description: 'The global ID of the awardable resource'
+ description: 'The global ID of the awardable resource.'
argument :name,
GraphQL::STRING_TYPE,
@@ -22,7 +22,7 @@ module Mutations
field :award_emoji,
Types::AwardEmojis::AwardEmojiType,
null: true,
- description: 'The award emoji after mutation'
+ description: 'The award emoji after mutation.'
private
diff --git a/app/graphql/mutations/boards/destroy.rb b/app/graphql/mutations/boards/destroy.rb
index 7c381113d38..8ec13b885d5 100644
--- a/app/graphql/mutations/boards/destroy.rb
+++ b/app/graphql/mutations/boards/destroy.rb
@@ -8,11 +8,11 @@ module Mutations
field :board,
Types::BoardType,
null: true,
- description: 'The board after mutation'
+ description: 'The board after mutation.'
argument :id,
::Types::GlobalIDType[::Board],
required: true,
- description: 'The global ID of the board to destroy'
+ description: 'The global ID of the board to destroy.'
authorize :admin_board
diff --git a/app/graphql/mutations/boards/issues/issue_move_list.rb b/app/graphql/mutations/boards/issues/issue_move_list.rb
index 813b6d3cb2a..91dfd9fc3e9 100644
--- a/app/graphql/mutations/boards/issues/issue_move_list.rb
+++ b/app/graphql/mutations/boards/issues/issue_move_list.rb
@@ -9,31 +9,31 @@ module Mutations
argument :board_id, GraphQL::ID_TYPE,
required: true,
loads: Types::BoardType,
- description: 'Global ID of the board that the issue is in'
+ description: 'Global ID of the board that the issue is in.'
argument :project_path, GraphQL::ID_TYPE,
required: true,
- description: 'Project the issue to mutate is in'
+ description: 'Project the issue to mutate is in.'
argument :iid, GraphQL::STRING_TYPE,
required: true,
- description: 'IID of the issue to mutate'
+ description: 'IID of the issue to mutate.'
argument :from_list_id, GraphQL::ID_TYPE,
required: false,
- description: 'ID of the board list that the issue will be moved from'
+ description: 'ID of the board list that the issue will be moved from.'
argument :to_list_id, GraphQL::ID_TYPE,
required: false,
- description: 'ID of the board list that the issue will be moved to'
+ description: 'ID of the board list that the issue will be moved to.'
argument :move_before_id, GraphQL::ID_TYPE,
required: false,
- description: 'ID of issue that should be placed before the current issue'
+ description: 'ID of issue that should be placed before the current issue.'
argument :move_after_id, GraphQL::ID_TYPE,
required: false,
- description: 'ID of issue that should be placed after the current issue'
+ description: 'ID of issue that should be placed after the current issue.'
def ready?(**args)
if move_arguments(args).blank?
diff --git a/app/graphql/mutations/boards/lists/base.rb b/app/graphql/mutations/boards/lists/base.rb
index d244d6bf8dd..34c138bddc9 100644
--- a/app/graphql/mutations/boards/lists/base.rb
+++ b/app/graphql/mutations/boards/lists/base.rb
@@ -8,12 +8,12 @@ module Mutations
argument :board_id, ::Types::GlobalIDType[::Board],
required: true,
- description: 'Global ID of the issue board to mutate'
+ description: 'Global ID of the issue board to mutate.'
field :list,
Types::BoardListType,
null: true,
- description: 'List of the issue board'
+ description: 'List of the issue board.'
authorize :admin_list
diff --git a/app/graphql/mutations/boards/lists/create.rb b/app/graphql/mutations/boards/lists/create.rb
index f6df63365b2..9eb9a4d4b87 100644
--- a/app/graphql/mutations/boards/lists/create.rb
+++ b/app/graphql/mutations/boards/lists/create.rb
@@ -8,11 +8,11 @@ module Mutations
argument :backlog, GraphQL::BOOLEAN_TYPE,
required: false,
- description: 'Create the backlog list'
+ description: 'Create the backlog list.'
argument :label_id, ::Types::GlobalIDType[::Label],
required: false,
- description: 'Global ID of an existing label'
+ description: 'Global ID of an existing label.'
def ready?(**args)
if args.slice(*mutually_exclusive_args).size != 1
diff --git a/app/graphql/mutations/boards/lists/update.rb b/app/graphql/mutations/boards/lists/update.rb
index 14502b5174f..d30d1d89bb2 100644
--- a/app/graphql/mutations/boards/lists/update.rb
+++ b/app/graphql/mutations/boards/lists/update.rb
@@ -13,16 +13,16 @@ module Mutations
argument :position, GraphQL::INT_TYPE,
required: false,
- description: 'Position of list within the board'
+ description: 'Position of list within the board.'
argument :collapsed, GraphQL::BOOLEAN_TYPE,
required: false,
- description: 'Indicates if list is collapsed for this user'
+ description: 'Indicates if list is collapsed for this user.'
field :list,
Types::BoardListType,
null: true,
- description: 'Mutated list'
+ description: 'Mutated list.'
def resolve(list: nil, **args)
raise_resource_not_available_error! unless can_read_list?(list)
diff --git a/app/graphql/mutations/branches/create.rb b/app/graphql/mutations/branches/create.rb
index 214fead2e80..9fe9bef5403 100644
--- a/app/graphql/mutations/branches/create.rb
+++ b/app/graphql/mutations/branches/create.rb
@@ -9,21 +9,21 @@ module Mutations
argument :project_path, GraphQL::ID_TYPE,
required: true,
- description: 'Project full path the branch is associated with'
+ description: 'Project full path the branch is associated with.'
argument :name, GraphQL::STRING_TYPE,
required: true,
- description: 'Name of the branch'
+ description: 'Name of the branch.'
argument :ref,
GraphQL::STRING_TYPE,
required: true,
- description: 'Branch name or commit SHA to create branch from'
+ description: 'Branch name or commit SHA to create branch from.'
field :branch,
Types::BranchType,
null: true,
- description: 'Branch after mutation'
+ description: 'Branch after mutation.'
authorize :push_code
diff --git a/app/graphql/mutations/commits/create.rb b/app/graphql/mutations/commits/create.rb
index 2b9107350fd..ae14401558b 100644
--- a/app/graphql/mutations/commits/create.rb
+++ b/app/graphql/mutations/commits/create.rb
@@ -9,15 +9,15 @@ module Mutations
argument :project_path, GraphQL::ID_TYPE,
required: true,
- description: 'Project full path the branch is associated with'
+ description: 'Project full path the branch is associated with.'
argument :branch, GraphQL::STRING_TYPE,
required: true,
- description: 'Name of the branch to commit into, it can be a new branch'
+ description: 'Name of the branch to commit into, it can be a new branch.'
argument :start_branch, GraphQL::STRING_TYPE,
required: false,
- description: 'If on a new branch, name of the original branch'
+ description: 'If on a new branch, name of the original branch.'
argument :message,
GraphQL::STRING_TYPE,
@@ -27,12 +27,12 @@ module Mutations
argument :actions,
[Types::CommitActionType],
required: true,
- description: 'Array of action hashes to commit as a batch'
+ description: 'Array of action hashes to commit as a batch.'
field :commit,
Types::CommitType,
null: true,
- description: 'The commit after mutation'
+ description: 'The commit after mutation.'
authorize :push_code
diff --git a/app/graphql/mutations/concerns/mutations/resolves_resource_parent.rb b/app/graphql/mutations/concerns/mutations/resolves_resource_parent.rb
index 04a9abf9529..e2b3f4b046f 100644
--- a/app/graphql/mutations/concerns/mutations/resolves_resource_parent.rb
+++ b/app/graphql/mutations/concerns/mutations/resolves_resource_parent.rb
@@ -9,11 +9,11 @@ module Mutations
included do
argument :project_path, GraphQL::ID_TYPE,
required: false,
- description: 'The project full path the resource is associated with'
+ description: 'The project full path the resource is associated with.'
argument :group_path, GraphQL::ID_TYPE,
required: false,
- description: 'The group full path the resource is associated with'
+ description: 'The group full path the resource is associated with.'
end
def ready?(**args)
diff --git a/app/graphql/mutations/concerns/mutations/resolves_subscription.rb b/app/graphql/mutations/concerns/mutations/resolves_subscription.rb
index e8c5d0d404d..e26ae7d228c 100644
--- a/app/graphql/mutations/concerns/mutations/resolves_subscription.rb
+++ b/app/graphql/mutations/concerns/mutations/resolves_subscription.rb
@@ -7,7 +7,7 @@ module Mutations
argument :subscribed_state,
GraphQL::BOOLEAN_TYPE,
required: true,
- description: 'The desired state of the subscription'
+ description: 'The desired state of the subscription.'
end
def resolve(project_path:, iid:, subscribed_state:)
diff --git a/app/graphql/mutations/concerns/mutations/spammable_mutation_fields.rb b/app/graphql/mutations/concerns/mutations/spammable_mutation_fields.rb
index 7aef55f8011..e5df8565618 100644
--- a/app/graphql/mutations/concerns/mutations/spammable_mutation_fields.rb
+++ b/app/graphql/mutations/concerns/mutations/spammable_mutation_fields.rb
@@ -8,7 +8,7 @@ module Mutations
field :spam,
GraphQL::BOOLEAN_TYPE,
null: true,
- description: 'Indicates whether the operation returns a record detected as spam'
+ description: 'Indicates whether the operation returns a record detected as spam.'
end
def with_spam_params(&block)
diff --git a/app/graphql/mutations/container_expiration_policies/update.rb b/app/graphql/mutations/container_expiration_policies/update.rb
index 4bff04bb705..37cf2fa6bf3 100644
--- a/app/graphql/mutations/container_expiration_policies/update.rb
+++ b/app/graphql/mutations/container_expiration_policies/update.rb
@@ -12,7 +12,7 @@ module Mutations
argument :project_path,
GraphQL::ID_TYPE,
required: true,
- description: 'The project path where the container expiration policy is located'
+ description: 'The project path where the container expiration policy is located.'
argument :enabled,
GraphQL::BOOLEAN_TYPE,
@@ -47,7 +47,7 @@ module Mutations
field :container_expiration_policy,
Types::ContainerExpirationPolicyType,
null: true,
- description: 'The container expiration policy after mutation'
+ description: 'The container expiration policy after mutation.'
def resolve(project_path:, **args)
project = authorized_find!(full_path: project_path)
diff --git a/app/graphql/mutations/container_repositories/destroy_tags.rb b/app/graphql/mutations/container_repositories/destroy_tags.rb
index ca6a67867c3..636ceccee04 100644
--- a/app/graphql/mutations/container_repositories/destroy_tags.rb
+++ b/app/graphql/mutations/container_repositories/destroy_tags.rb
@@ -28,7 +28,7 @@ module Mutations
field :deleted_tag_names,
[GraphQL::STRING_TYPE],
- description: 'Deleted container repository tags',
+ description: 'Deleted container repository tags.',
null: false
def resolve(id:, tag_names:)
diff --git a/app/graphql/mutations/custom_emoji/create.rb b/app/graphql/mutations/custom_emoji/create.rb
index d912a29d12e..9ec96be0f26 100644
--- a/app/graphql/mutations/custom_emoji/create.rb
+++ b/app/graphql/mutations/custom_emoji/create.rb
@@ -12,20 +12,20 @@ module Mutations
field :custom_emoji,
Types::CustomEmojiType,
null: true,
- description: 'The new custom emoji'
+ description: 'The new custom emoji.'
argument :group_path, GraphQL::ID_TYPE,
required: true,
- description: 'Namespace full path the emoji is associated with'
+ description: 'Namespace full path the emoji is associated with.'
argument :name, GraphQL::STRING_TYPE,
required: true,
- description: 'Name of the emoji'
+ description: 'Name of the emoji.'
argument :url, GraphQL::STRING_TYPE,
required: true,
as: :file,
- description: 'Location of the emoji file'
+ description: 'Location of the emoji file.'
def resolve(group_path:, **args)
group = authorized_find!(group_path: group_path)
diff --git a/app/graphql/mutations/design_management/base.rb b/app/graphql/mutations/design_management/base.rb
index 69fd22e46cd..14d85885793 100644
--- a/app/graphql/mutations/design_management/base.rb
+++ b/app/graphql/mutations/design_management/base.rb
@@ -7,11 +7,11 @@ module Mutations
argument :project_path, GraphQL::ID_TYPE,
required: true,
- description: "The project where the issue is to upload designs for"
+ description: "The project where the issue is to upload designs for."
argument :iid, GraphQL::ID_TYPE,
required: true,
- description: "The IID of the issue to modify designs for"
+ description: "The IID of the issue to modify designs for."
private
diff --git a/app/graphql/mutations/design_management/delete.rb b/app/graphql/mutations/design_management/delete.rb
index d2ef2c9bcca..f604542edef 100644
--- a/app/graphql/mutations/design_management/delete.rb
+++ b/app/graphql/mutations/design_management/delete.rb
@@ -9,14 +9,14 @@ module Mutations
argument :filenames, [GraphQL::STRING_TYPE],
required: true,
- description: "The filenames of the designs to delete",
+ description: "The filenames of the designs to delete.",
prepare: ->(names, _ctx) do
names.presence || (raise Errors::ArgumentError, 'no filenames')
end
field :version, Types::DesignManagement::VersionType,
null: true, # null on error
- description: 'The new version in which the designs are deleted'
+ description: 'The new version in which the designs are deleted.'
authorize :destroy_design
diff --git a/app/graphql/mutations/design_management/move.rb b/app/graphql/mutations/design_management/move.rb
index aed4cfec0fd..fe280e926d2 100644
--- a/app/graphql/mutations/design_management/move.rb
+++ b/app/graphql/mutations/design_management/move.rb
@@ -8,17 +8,17 @@ module Mutations
DesignID = ::Types::GlobalIDType[::DesignManagement::Design]
argument :id, DesignID, required: true, as: :current_design,
- description: "ID of the design to move"
+ description: "ID of the design to move."
argument :previous, DesignID, required: false, as: :previous_design,
- description: "ID of the immediately preceding design"
+ description: "ID of the immediately preceding design."
argument :next, DesignID, required: false, as: :next_design,
- description: "ID of the immediately following design"
+ description: "ID of the immediately following design."
field :design_collection, Types::DesignManagement::DesignCollectionType,
null: true,
- description: "The current state of the collection"
+ description: "The current state of the collection."
def resolve(**args)
service = ::DesignManagement::MoveDesignsService.new(current_user, parameters(**args))
diff --git a/app/graphql/mutations/design_management/upload.rb b/app/graphql/mutations/design_management/upload.rb
index 1ed7f8e49e6..2ccf2ef8ff5 100644
--- a/app/graphql/mutations/design_management/upload.rb
+++ b/app/graphql/mutations/design_management/upload.rb
@@ -7,13 +7,13 @@ module Mutations
argument :files, [ApolloUploadServer::Upload],
required: true,
- description: "The files to upload"
+ description: "The files to upload."
authorize :create_design
field :designs, [Types::DesignManagement::DesignType],
null: false,
- description: "The designs that were uploaded by the mutation"
+ description: "The designs that were uploaded by the mutation."
field :skipped_designs, [Types::DesignManagement::DesignType],
null: false,
diff --git a/app/graphql/mutations/discussions/toggle_resolve.rb b/app/graphql/mutations/discussions/toggle_resolve.rb
index 0e3baf8d548..c9834c946b2 100644
--- a/app/graphql/mutations/discussions/toggle_resolve.rb
+++ b/app/graphql/mutations/discussions/toggle_resolve.rb
@@ -10,17 +10,17 @@ module Mutations
argument :id,
Types::GlobalIDType[Discussion],
required: true,
- description: 'The global ID of the discussion'
+ description: 'The global ID of the discussion.'
argument :resolve,
GraphQL::BOOLEAN_TYPE,
required: true,
- description: 'Will resolve the discussion when true, and unresolve the discussion when false'
+ description: 'Will resolve the discussion when true, and unresolve the discussion when false.'
field :discussion,
Types::Notes::DiscussionType,
null: true,
- description: 'The discussion after mutation'
+ description: 'The discussion after mutation.'
def resolve(id:, resolve:)
discussion = authorized_find_discussion!(id: id)
diff --git a/app/graphql/mutations/environments/canary_ingress/update.rb b/app/graphql/mutations/environments/canary_ingress/update.rb
index 1798143053a..45dcc8314a0 100644
--- a/app/graphql/mutations/environments/canary_ingress/update.rb
+++ b/app/graphql/mutations/environments/canary_ingress/update.rb
@@ -11,12 +11,12 @@ module Mutations
argument :id,
::Types::GlobalIDType[::Environment],
required: true,
- description: 'The global ID of the environment to update'
+ description: 'The global ID of the environment to update.'
argument :weight,
GraphQL::INT_TYPE,
required: true,
- description: 'The weight of the Canary Ingress'
+ description: 'The weight of the Canary Ingress.'
def resolve(id:, **kwargs)
environment = authorized_find!(id: id)
diff --git a/app/graphql/mutations/issues/base.rb b/app/graphql/mutations/issues/base.rb
index 529d48f3cd0..b25987a43f6 100644
--- a/app/graphql/mutations/issues/base.rb
+++ b/app/graphql/mutations/issues/base.rb
@@ -7,16 +7,16 @@ module Mutations
argument :project_path, GraphQL::ID_TYPE,
required: true,
- description: "The project the issue to mutate is in"
+ description: "The project the issue to mutate is in."
argument :iid, GraphQL::STRING_TYPE,
required: true,
- description: "The IID of the issue to mutate"
+ description: "The IID of the issue to mutate."
field :issue,
Types::IssueType,
null: true,
- description: "The issue after mutation"
+ description: "The issue after mutation."
authorize :update_issue
diff --git a/app/graphql/mutations/issues/create.rb b/app/graphql/mutations/issues/create.rb
index 1454916bc77..18b80ff1736 100644
--- a/app/graphql/mutations/issues/create.rb
+++ b/app/graphql/mutations/issues/create.rb
@@ -12,11 +12,11 @@ module Mutations
argument :project_path, GraphQL::ID_TYPE,
required: true,
- description: 'Project full path the issue is associated with'
+ description: 'Project full path the issue is associated with.'
argument :iid, GraphQL::INT_TYPE,
required: false,
- description: 'The IID (internal ID) of a project issue. Only admins and project owners can modify'
+ description: 'The IID (internal ID) of a project issue. Only admins and project owners can modify.'
argument :title, GraphQL::STRING_TYPE,
required: true,
@@ -24,7 +24,7 @@ module Mutations
argument :milestone_id, ::Types::GlobalIDType[::Milestone],
required: false,
- description: 'The ID of the milestone to assign to the issue. On update milestone will be removed if set to null'
+ description: 'The ID of the milestone to assign to the issue. On update milestone will be removed if set to null.'
argument :labels, [GraphQL::STRING_TYPE],
required: false,
@@ -32,28 +32,28 @@ module Mutations
argument :label_ids, [::Types::GlobalIDType[::Label]],
required: false,
- description: 'The IDs of labels to be added to the issue'
+ description: 'The IDs of labels to be added to the issue.'
argument :created_at, Types::TimeType,
required: false,
- description: 'Timestamp when the issue was created. Available only for admins and project owners'
+ description: 'Timestamp when the issue was created. Available only for admins and project owners.'
argument :merge_request_to_resolve_discussions_of, ::Types::GlobalIDType[::MergeRequest],
required: false,
- description: 'The IID of a merge request for which to resolve discussions'
+ description: 'The IID of a merge request for which to resolve discussions.'
argument :discussion_to_resolve, GraphQL::STRING_TYPE,
required: false,
- description: 'The ID of a discussion to resolve. Also pass `merge_request_to_resolve_discussions_of`'
+ description: 'The ID of a discussion to resolve. Also pass `merge_request_to_resolve_discussions_of`.'
argument :assignee_ids, [::Types::GlobalIDType[::User]],
required: false,
- description: 'The array of user IDs to assign to the issue'
+ description: 'The array of user IDs to assign to the issue.'
field :issue,
Types::IssueType,
null: true,
- description: 'The issue after mutation'
+ description: 'The issue after mutation.'
def ready?(**args)
if args.slice(*mutually_exclusive_label_args).size > 1
diff --git a/app/graphql/mutations/issues/move.rb b/app/graphql/mutations/issues/move.rb
index e6971c9df8c..3f97325c921 100644
--- a/app/graphql/mutations/issues/move.rb
+++ b/app/graphql/mutations/issues/move.rb
@@ -8,7 +8,7 @@ module Mutations
argument :target_project_path,
GraphQL::ID_TYPE,
required: true,
- description: 'The project to move the issue to'
+ description: 'The project to move the issue to.'
def resolve(project_path:, iid:, target_project_path:)
Gitlab::QueryLimiting.whitelist('https://gitlab.com/gitlab-org/gitlab/-/issues/267762')
diff --git a/app/graphql/mutations/issues/set_due_date.rb b/app/graphql/mutations/issues/set_due_date.rb
index effd863c541..da7892f4ed4 100644
--- a/app/graphql/mutations/issues/set_due_date.rb
+++ b/app/graphql/mutations/issues/set_due_date.rb
@@ -8,7 +8,7 @@ module Mutations
argument :due_date,
Types::TimeType,
required: true,
- description: 'The desired due date for the issue'
+ description: 'The desired due date for the issue.'
def resolve(project_path:, iid:, due_date:)
issue = authorized_find!(project_path: project_path, iid: iid)
diff --git a/app/graphql/mutations/issues/set_locked.rb b/app/graphql/mutations/issues/set_locked.rb
index 63a8483067a..611226e48ad 100644
--- a/app/graphql/mutations/issues/set_locked.rb
+++ b/app/graphql/mutations/issues/set_locked.rb
@@ -8,7 +8,7 @@ module Mutations
argument :locked,
GraphQL::BOOLEAN_TYPE,
required: true,
- description: 'Whether or not to lock discussion on the issue'
+ description: 'Whether or not to lock discussion on the issue.'
def resolve(project_path:, iid:, locked:)
issue = authorized_find!(project_path: project_path, iid: iid)
diff --git a/app/graphql/mutations/issues/update.rb b/app/graphql/mutations/issues/update.rb
index d34e351b2a6..eea2cd49aa0 100644
--- a/app/graphql/mutations/issues/update.rb
+++ b/app/graphql/mutations/issues/update.rb
@@ -13,18 +13,18 @@ module Mutations
argument :milestone_id, GraphQL::ID_TYPE, # rubocop: disable Graphql/IDType
required: false,
- description: 'The ID of the milestone to assign to the issue. On update milestone will be removed if set to null'
+ description: 'The ID of the milestone to assign to the issue. On update milestone will be removed if set to null.'
argument :add_label_ids, [GraphQL::ID_TYPE],
required: false,
- description: 'The IDs of labels to be added to the issue'
+ description: 'The IDs of labels to be added to the issue.'
argument :remove_label_ids, [GraphQL::ID_TYPE],
required: false,
- description: 'The IDs of labels to be removed from the issue'
+ description: 'The IDs of labels to be removed from the issue.'
argument :state_event, Types::IssueStateEventEnum,
- description: 'Close or reopen an issue',
+ description: 'Close or reopen an issue.',
required: false
def resolve(project_path:, iid:, **args)
diff --git a/app/graphql/mutations/jira_import/import_users.rb b/app/graphql/mutations/jira_import/import_users.rb
index 0d59537b903..616ef390657 100644
--- a/app/graphql/mutations/jira_import/import_users.rb
+++ b/app/graphql/mutations/jira_import/import_users.rb
@@ -14,10 +14,10 @@ module Mutations
argument :project_path, GraphQL::ID_TYPE,
required: true,
- description: 'The project to import the Jira users into'
+ description: 'The project to import the Jira users into.'
argument :start_at, GraphQL::INT_TYPE,
required: false,
- description: 'The index of the record the import should started at, default 0 (50 records returned)'
+ description: 'The index of the record the import should started at, default 0 (50 records returned).'
def resolve(project_path:, start_at: 0)
project = authorized_find!(full_path: project_path)
diff --git a/app/graphql/mutations/jira_import/start.rb b/app/graphql/mutations/jira_import/start.rb
index eda28059272..3d50ebde13a 100644
--- a/app/graphql/mutations/jira_import/start.rb
+++ b/app/graphql/mutations/jira_import/start.rb
@@ -10,21 +10,21 @@ module Mutations
field :jira_import,
Types::JiraImportType,
null: true,
- description: 'The Jira import data after mutation'
+ description: 'The Jira import data after mutation.'
argument :project_path, GraphQL::ID_TYPE,
required: true,
- description: 'The project to import the Jira project into'
+ description: 'The project to import the Jira project into.'
argument :jira_project_key, GraphQL::STRING_TYPE,
required: true,
- description: 'Project key of the importer Jira project'
+ description: 'Project key of the importer Jira project.'
argument :jira_project_name, GraphQL::STRING_TYPE,
required: false,
- description: 'Project name of the importer Jira project'
+ description: 'Project name of the importer Jira project.'
argument :users_mapping,
[Types::JiraUsersMappingInputType],
required: false,
- description: 'The mapping of Jira to GitLab users'
+ description: 'The mapping of Jira to GitLab users.'
def resolve(project_path:, jira_project_key:, users_mapping:)
project = authorized_find!(full_path: project_path)
diff --git a/app/graphql/mutations/labels/create.rb b/app/graphql/mutations/labels/create.rb
index cb03651618e..ccbd1c37cbf 100644
--- a/app/graphql/mutations/labels/create.rb
+++ b/app/graphql/mutations/labels/create.rb
@@ -10,20 +10,20 @@ module Mutations
field :label,
Types::LabelType,
null: true,
- description: 'The label after mutation'
+ description: 'The label after mutation.'
argument :title, GraphQL::STRING_TYPE,
required: true,
- description: 'Title of the label'
+ description: 'Title of the label.'
argument :description, GraphQL::STRING_TYPE,
required: false,
- description: 'Description of the label'
+ description: 'Description of the label.'
argument :color, GraphQL::STRING_TYPE,
required: false,
default_value: Label::DEFAULT_COLOR,
- description: "The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the CSS color names in https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Color_keywords"
+ description: "The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the CSS color names in https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Color_keywords."
authorize :admin_label
diff --git a/app/graphql/mutations/merge_requests/base.rb b/app/graphql/mutations/merge_requests/base.rb
index 57920259cf7..cd919a19ba2 100644
--- a/app/graphql/mutations/merge_requests/base.rb
+++ b/app/graphql/mutations/merge_requests/base.rb
@@ -7,16 +7,16 @@ module Mutations
argument :project_path, GraphQL::ID_TYPE,
required: true,
- description: "The project the merge request to mutate is in"
+ description: "The project the merge request to mutate is in."
argument :iid, GraphQL::STRING_TYPE,
required: true,
- description: "The IID of the merge request to mutate"
+ description: "The IID of the merge request to mutate."
field :merge_request,
Types::MergeRequestType,
null: true,
- description: "The merge request after mutation"
+ description: "The merge request after mutation."
authorize :update_merge_request
diff --git a/app/graphql/mutations/merge_requests/create.rb b/app/graphql/mutations/merge_requests/create.rb
index fd2cd58a5ee..64fa8417e50 100644
--- a/app/graphql/mutations/merge_requests/create.rb
+++ b/app/graphql/mutations/merge_requests/create.rb
@@ -9,7 +9,7 @@ module Mutations
argument :project_path, GraphQL::ID_TYPE,
required: true,
- description: 'Project full path the merge request is associated with'
+ description: 'Project full path the merge request is associated with.'
argument :title, GraphQL::STRING_TYPE,
required: true,
@@ -34,7 +34,7 @@ module Mutations
field :merge_request,
Types::MergeRequestType,
null: true,
- description: 'The merge request after mutation'
+ description: 'The merge request after mutation.'
authorize :create_merge_request_from
diff --git a/app/graphql/mutations/metrics/dashboard/annotations/create.rb b/app/graphql/mutations/metrics/dashboard/annotations/create.rb
index c2ec88c68ed..85937809eb8 100644
--- a/app/graphql/mutations/metrics/dashboard/annotations/create.rb
+++ b/app/graphql/mutations/metrics/dashboard/annotations/create.rb
@@ -15,35 +15,35 @@ module Mutations
field :annotation,
Types::Metrics::Dashboards::AnnotationType,
null: true,
- description: 'The created annotation'
+ description: 'The created annotation.'
argument :environment_id,
::Types::GlobalIDType[::Environment],
required: false,
- description: 'The global ID of the environment to add an annotation to'
+ description: 'The global ID of the environment to add an annotation to.'
argument :cluster_id,
::Types::GlobalIDType[::Clusters::Cluster],
required: false,
- description: 'The global ID of the cluster to add an annotation to'
+ description: 'The global ID of the cluster to add an annotation to.'
argument :starting_at, Types::TimeType,
required: true,
- description: 'Timestamp indicating starting moment to which the annotation relates'
+ description: 'Timestamp indicating starting moment to which the annotation relates.'
argument :ending_at, Types::TimeType,
required: false,
- description: 'Timestamp indicating ending moment to which the annotation relates'
+ description: 'Timestamp indicating ending moment to which the annotation relates.'
argument :dashboard_path,
GraphQL::STRING_TYPE,
required: true,
- description: 'The path to a file defining the dashboard on which the annotation should be added'
+ description: 'The path to a file defining the dashboard on which the annotation should be added.'
argument :description,
GraphQL::STRING_TYPE,
required: true,
- description: 'The description of the annotation'
+ description: 'The description of the annotation.'
AnnotationSource = Struct.new(:object, keyword_init: true) do
def type_keys
diff --git a/app/graphql/mutations/metrics/dashboard/annotations/delete.rb b/app/graphql/mutations/metrics/dashboard/annotations/delete.rb
index 5d6763d8711..e0fadff13d4 100644
--- a/app/graphql/mutations/metrics/dashboard/annotations/delete.rb
+++ b/app/graphql/mutations/metrics/dashboard/annotations/delete.rb
@@ -11,7 +11,7 @@ module Mutations
argument :id, ::Types::GlobalIDType[::Metrics::Dashboard::Annotation],
required: true,
- description: 'Global ID of the annotation to delete'
+ description: 'Global ID of the annotation to delete.'
def resolve(id:)
annotation = authorized_find!(id: id)
diff --git a/app/graphql/mutations/notes/base.rb b/app/graphql/mutations/notes/base.rb
index f2678211335..ff401167ba1 100644
--- a/app/graphql/mutations/notes/base.rb
+++ b/app/graphql/mutations/notes/base.rb
@@ -6,7 +6,7 @@ module Mutations
field :note,
Types::Notes::NoteType,
null: true,
- description: 'The note after mutation'
+ description: 'The note after mutation.'
private
diff --git a/app/graphql/mutations/notes/create/base.rb b/app/graphql/mutations/notes/create/base.rb
index a1d81c62d91..2351af01813 100644
--- a/app/graphql/mutations/notes/create/base.rb
+++ b/app/graphql/mutations/notes/create/base.rb
@@ -11,7 +11,7 @@ module Mutations
argument :noteable_id,
::Types::GlobalIDType[::Noteable],
required: true,
- description: 'The global ID of the resource to add a note to'
+ description: 'The global ID of the resource to add a note to.'
argument :body,
GraphQL::STRING_TYPE,
diff --git a/app/graphql/mutations/notes/create/note.rb b/app/graphql/mutations/notes/create/note.rb
index f1cd3bddca8..7af93521e0d 100644
--- a/app/graphql/mutations/notes/create/note.rb
+++ b/app/graphql/mutations/notes/create/note.rb
@@ -9,7 +9,7 @@ module Mutations
argument :discussion_id,
::Types::GlobalIDType[::Discussion],
required: false,
- description: 'The global ID of the discussion this note is in reply to'
+ description: 'The global ID of the discussion this note is in reply to.'
private
diff --git a/app/graphql/mutations/notes/destroy.rb b/app/graphql/mutations/notes/destroy.rb
index 0e6a215bf00..21b2cd15a7e 100644
--- a/app/graphql/mutations/notes/destroy.rb
+++ b/app/graphql/mutations/notes/destroy.rb
@@ -10,7 +10,7 @@ module Mutations
argument :id,
::Types::GlobalIDType[::Note],
required: true,
- description: 'The global ID of the note to destroy'
+ description: 'The global ID of the note to destroy.'
def resolve(id:)
note = authorized_find!(id: id)
diff --git a/app/graphql/mutations/notes/reposition_image_diff_note.rb b/app/graphql/mutations/notes/reposition_image_diff_note.rb
index 15bfb361b13..31d3b7c9bb0 100644
--- a/app/graphql/mutations/notes/reposition_image_diff_note.rb
+++ b/app/graphql/mutations/notes/reposition_image_diff_note.rb
@@ -16,7 +16,7 @@ module Mutations
loads: Types::Notes::NoteType,
as: :note,
required: true,
- description: 'The global ID of the DiffNote to update'
+ description: 'The global ID of the DiffNote to update.'
argument :position,
Types::Notes::UpdateDiffImagePositionInputType,
diff --git a/app/graphql/mutations/notes/update/base.rb b/app/graphql/mutations/notes/update/base.rb
index 42dac20f5d3..4edb7429b97 100644
--- a/app/graphql/mutations/notes/update/base.rb
+++ b/app/graphql/mutations/notes/update/base.rb
@@ -11,7 +11,7 @@ module Mutations
argument :id,
::Types::GlobalIDType[::Note],
required: true,
- description: 'The global ID of the note to update'
+ description: 'The global ID of the note to update.'
def resolve(args)
note = authorized_find!(id: args[:id])
diff --git a/app/graphql/mutations/releases/base.rb b/app/graphql/mutations/releases/base.rb
index d53cfbe6a11..dd1724fe320 100644
--- a/app/graphql/mutations/releases/base.rb
+++ b/app/graphql/mutations/releases/base.rb
@@ -7,7 +7,7 @@ module Mutations
argument :project_path, GraphQL::ID_TYPE,
required: true,
- description: 'Full path of the project the release is associated with'
+ description: 'Full path of the project the release is associated with.'
private
diff --git a/app/graphql/mutations/releases/create.rb b/app/graphql/mutations/releases/create.rb
index 156cd252848..91ac256033e 100644
--- a/app/graphql/mutations/releases/create.rb
+++ b/app/graphql/mutations/releases/create.rb
@@ -8,23 +8,23 @@ module Mutations
field :release,
Types::ReleaseType,
null: true,
- description: 'The release after mutation'
+ description: 'The release after mutation.'
argument :tag_name, GraphQL::STRING_TYPE,
required: true, as: :tag,
- description: 'Name of the tag to associate with the release'
+ description: 'Name of the tag to associate with the release.'
argument :ref, GraphQL::STRING_TYPE,
required: false,
- description: 'The commit SHA or branch name to use if creating a new tag'
+ description: 'The commit SHA or branch name to use if creating a new tag.'
argument :name, GraphQL::STRING_TYPE,
required: false,
- description: 'Name of the release'
+ description: 'Name of the release.'
argument :description, GraphQL::STRING_TYPE,
required: false,
- description: 'Description (also known as "release notes") of the release'
+ description: 'Description (also known as "release notes") of the release.'
argument :released_at, Types::TimeType,
required: false,
@@ -36,7 +36,7 @@ module Mutations
argument :assets, Types::ReleaseAssetsInputType,
required: false,
- description: 'Assets associated to the release'
+ description: 'Assets associated to the release.'
authorize :create_release
diff --git a/app/graphql/mutations/releases/update.rb b/app/graphql/mutations/releases/update.rb
index 33bfae80542..dff743254bd 100644
--- a/app/graphql/mutations/releases/update.rb
+++ b/app/graphql/mutations/releases/update.rb
@@ -12,19 +12,19 @@ module Mutations
argument :tag_name, GraphQL::STRING_TYPE,
required: true, as: :tag,
- description: 'Name of the tag associated with the release'
+ description: 'Name of the tag associated with the release.'
argument :name, GraphQL::STRING_TYPE,
required: false,
- description: 'Name of the release'
+ description: 'Name of the release.'
argument :description, GraphQL::STRING_TYPE,
required: false,
- description: 'Description (release notes) of the release'
+ description: 'Description (release notes) of the release.'
argument :released_at, Types::TimeType,
required: false,
- description: 'The release date'
+ description: 'The release date.'
argument :milestones, [GraphQL::STRING_TYPE],
required: false,
diff --git a/app/graphql/mutations/snippets/base.rb b/app/graphql/mutations/snippets/base.rb
index 023f876d035..5196bc5c7ed 100644
--- a/app/graphql/mutations/snippets/base.rb
+++ b/app/graphql/mutations/snippets/base.rb
@@ -6,7 +6,7 @@ module Mutations
field :snippet,
Types::SnippetType,
null: true,
- description: 'The snippet after mutation'
+ description: 'The snippet after mutation.'
private
diff --git a/app/graphql/mutations/snippets/create.rb b/app/graphql/mutations/snippets/create.rb
index 56c3b398949..b4485e28c5a 100644
--- a/app/graphql/mutations/snippets/create.rb
+++ b/app/graphql/mutations/snippets/create.rb
@@ -12,30 +12,30 @@ module Mutations
field :snippet,
Types::SnippetType,
null: true,
- description: 'The snippet after mutation'
+ description: 'The snippet after mutation.'
argument :title, GraphQL::STRING_TYPE,
required: true,
- description: 'Title of the snippet'
+ description: 'Title of the snippet.'
argument :description, GraphQL::STRING_TYPE,
required: false,
- description: 'Description of the snippet'
+ description: 'Description of the snippet.'
argument :visibility_level, Types::VisibilityLevelsEnum,
- description: 'The visibility level of the snippet',
+ description: 'The visibility level of the snippet.',
required: true
argument :project_path, GraphQL::ID_TYPE,
required: false,
- description: 'The project full path the snippet is associated with'
+ description: 'The project full path the snippet is associated with.'
argument :uploaded_files, [GraphQL::STRING_TYPE],
required: false,
- description: 'The paths to files uploaded in the snippet description'
+ description: 'The paths to files uploaded in the snippet description.'
argument :blob_actions, [Types::Snippets::BlobActionInputType],
- description: 'Actions to perform over the snippet repository and blobs',
+ description: 'Actions to perform over the snippet repository and blobs.',
required: false
def resolve(project_path: nil, **args)
diff --git a/app/graphql/mutations/snippets/destroy.rb b/app/graphql/mutations/snippets/destroy.rb
index bee6503372d..9b00f62e2f9 100644
--- a/app/graphql/mutations/snippets/destroy.rb
+++ b/app/graphql/mutations/snippets/destroy.rb
@@ -9,7 +9,7 @@ module Mutations
argument :id, ::Types::GlobalIDType[::Snippet],
required: true,
- description: 'The global ID of the snippet to destroy'
+ description: 'The global ID of the snippet to destroy.'
def resolve(id:)
snippet = authorized_find!(id: id)
diff --git a/app/graphql/mutations/snippets/mark_as_spam.rb b/app/graphql/mutations/snippets/mark_as_spam.rb
index 2d6fea1f5ec..d6e3e131b81 100644
--- a/app/graphql/mutations/snippets/mark_as_spam.rb
+++ b/app/graphql/mutations/snippets/mark_as_spam.rb
@@ -7,7 +7,7 @@ module Mutations
argument :id, ::Types::GlobalIDType[::Snippet],
required: true,
- description: 'The global ID of the snippet to update'
+ description: 'The global ID of the snippet to update.'
def resolve(id:)
snippet = authorized_find!(id: id)
diff --git a/app/graphql/mutations/snippets/update.rb b/app/graphql/mutations/snippets/update.rb
index 6df1ad6d8b9..930440fbd35 100644
--- a/app/graphql/mutations/snippets/update.rb
+++ b/app/graphql/mutations/snippets/update.rb
@@ -9,22 +9,22 @@ module Mutations
argument :id, ::Types::GlobalIDType[::Snippet],
required: true,
- description: 'The global ID of the snippet to update'
+ description: 'The global ID of the snippet to update.'
argument :title, GraphQL::STRING_TYPE,
required: false,
- description: 'Title of the snippet'
+ description: 'Title of the snippet.'
argument :description, GraphQL::STRING_TYPE,
required: false,
- description: 'Description of the snippet'
+ description: 'Description of the snippet.'
argument :visibility_level, Types::VisibilityLevelsEnum,
- description: 'The visibility level of the snippet',
+ description: 'The visibility level of the snippet.',
required: false
argument :blob_actions, [Types::Snippets::BlobActionInputType],
- description: 'Actions to perform over the snippet repository and blobs',
+ description: 'Actions to perform over the snippet repository and blobs.',
required: false
def resolve(id:, **args)
diff --git a/app/graphql/mutations/terraform/state/base.rb b/app/graphql/mutations/terraform/state/base.rb
index b1721c784b1..01f69934ea3 100644
--- a/app/graphql/mutations/terraform/state/base.rb
+++ b/app/graphql/mutations/terraform/state/base.rb
@@ -9,7 +9,7 @@ module Mutations
argument :id,
Types::GlobalIDType[::Terraform::State],
required: true,
- description: 'Global ID of the Terraform state'
+ description: 'Global ID of the Terraform state.'
private
diff --git a/app/graphql/mutations/todos/create.rb b/app/graphql/mutations/todos/create.rb
index 53c88696fdd..814f7ec4fc4 100644
--- a/app/graphql/mutations/todos/create.rb
+++ b/app/graphql/mutations/todos/create.rb
@@ -10,11 +10,11 @@ module Mutations
argument :target_id,
Types::GlobalIDType[Todoable],
required: true,
- description: "The global ID of the to-do item's parent. Issues, merge requests, designs and epics are supported"
+ description: "The global ID of the to-do item's parent. Issues, merge requests, designs and epics are supported."
field :todo, Types::TodoType,
null: true,
- description: 'The to-do created'
+ description: 'The to-do created.'
def resolve(target_id:)
id = ::Types::GlobalIDType[Todoable].coerce_isolated_input(target_id)
diff --git a/app/graphql/mutations/todos/mark_all_done.rb b/app/graphql/mutations/todos/mark_all_done.rb
index 97bbbeeaa2f..c8359953567 100644
--- a/app/graphql/mutations/todos/mark_all_done.rb
+++ b/app/graphql/mutations/todos/mark_all_done.rb
@@ -11,11 +11,11 @@ module Mutations
[::Types::GlobalIDType[::Todo]],
null: false,
deprecated: { reason: 'Use todos', milestone: '13.2' },
- description: 'Ids of the updated todos'
+ description: 'Ids of the updated todos.'
field :todos, [::Types::TodoType],
null: false,
- description: 'Updated todos'
+ description: 'Updated todos.'
def resolve
authorize!(current_user)
diff --git a/app/graphql/mutations/todos/mark_done.rb b/app/graphql/mutations/todos/mark_done.rb
index 2ae50846108..95144abb040 100644
--- a/app/graphql/mutations/todos/mark_done.rb
+++ b/app/graphql/mutations/todos/mark_done.rb
@@ -10,11 +10,11 @@ module Mutations
argument :id,
::Types::GlobalIDType[::Todo],
required: true,
- description: 'The global ID of the todo to mark as done'
+ description: 'The global ID of the todo to mark as done.'
field :todo, Types::TodoType,
null: false,
- description: 'The requested todo'
+ description: 'The requested todo.'
def resolve(id:)
todo = authorized_find!(id: id)
diff --git a/app/graphql/mutations/todos/restore.rb b/app/graphql/mutations/todos/restore.rb
index c532b455a16..e496627aec2 100644
--- a/app/graphql/mutations/todos/restore.rb
+++ b/app/graphql/mutations/todos/restore.rb
@@ -10,11 +10,11 @@ module Mutations
argument :id,
::Types::GlobalIDType[::Todo],
required: true,
- description: 'The global ID of the todo to restore'
+ description: 'The global ID of the todo to restore.'
field :todo, Types::TodoType,
null: false,
- description: 'The requested todo'
+ description: 'The requested todo.'
def resolve(id:)
todo = authorized_find!(id: id)
diff --git a/app/graphql/mutations/todos/restore_many.rb b/app/graphql/mutations/todos/restore_many.rb
index 59965589856..9263c1d9afe 100644
--- a/app/graphql/mutations/todos/restore_many.rb
+++ b/app/graphql/mutations/todos/restore_many.rb
@@ -10,16 +10,16 @@ module Mutations
argument :ids,
[::Types::GlobalIDType[::Todo]],
required: true,
- description: 'The global IDs of the todos to restore (a maximum of 50 is supported at once)'
+ description: 'The global IDs of the todos to restore (a maximum of 50 is supported at once).'
field :updated_ids, [::Types::GlobalIDType[Todo]],
null: false,
- description: 'The IDs of the updated todo items',
+ description: 'The IDs of the updated todo items.',
deprecated: { reason: 'Use todos', milestone: '13.2' }
field :todos, [::Types::TodoType],
null: false,
- description: 'Updated todos'
+ description: 'Updated todos.'
def resolve(ids:)
check_update_amount_limit!(ids)
diff --git a/app/services/ci/destroy_expired_job_artifacts_service.rb b/app/services/ci/destroy_expired_job_artifacts_service.rb
index 9413f41259f..4f5a3f7868f 100644
--- a/app/services/ci/destroy_expired_job_artifacts_service.rb
+++ b/app/services/ci/destroy_expired_job_artifacts_service.rb
@@ -75,6 +75,8 @@ module Ci
# TODO: Make sure this can also be parallelized
# https://gitlab.com/gitlab-org/gitlab/-/issues/270973
def destroy_pipeline_artifacts_batch
+ return false if ::Feature.enabled?(:ci_split_pipeline_artifacts_removal)
+
artifacts = Ci::PipelineArtifact.expired(BATCH_SIZE).to_a
return false if artifacts.empty?
diff --git a/app/services/ci/pipeline_artifacts/destroy_expired_artifacts_service.rb b/app/services/ci/pipeline_artifacts/destroy_expired_artifacts_service.rb
new file mode 100644
index 00000000000..0dbabe178da
--- /dev/null
+++ b/app/services/ci/pipeline_artifacts/destroy_expired_artifacts_service.rb
@@ -0,0 +1,52 @@
+# frozen_string_literal: true
+
+module Ci
+ module PipelineArtifacts
+ class DestroyExpiredArtifactsService
+ include ::Gitlab::LoopHelpers
+ include ::Gitlab::Utils::StrongMemoize
+
+ BATCH_SIZE = 100
+ LOOP_TIMEOUT = 5.minutes
+ LOOP_LIMIT = 1000
+
+ def initialize
+ @removed_artifacts_count = 0
+ end
+
+ def execute
+ loop_until(timeout: LOOP_TIMEOUT, limit: LOOP_LIMIT) do
+ destroy_artifacts_batch
+ end
+
+ @removed_artifacts_count
+ end
+
+ private
+
+ def destroy_artifacts_batch
+ artifacts = ::Ci::PipelineArtifact.expired(BATCH_SIZE).to_a
+ return false if artifacts.empty?
+
+ artifacts.each(&:destroy!)
+ increment_stats(artifacts.size)
+
+ true
+ end
+
+ def increment_stats(size)
+ destroyed_artifacts_counter.increment({}, size)
+ @removed_artifacts_count += size
+ end
+
+ def destroyed_artifacts_counter
+ strong_memoize(:destroyed_artifacts_counter) do
+ name = :destroyed_pipeline_artifacts_count_total
+ comment = 'Counter of destroyed expired pipeline artifacts'
+
+ ::Gitlab::Metrics.counter(name, comment)
+ end
+ end
+ end
+ end
+end
diff --git a/app/workers/all_queues.yml b/app/workers/all_queues.yml
index 7d1d85ef2b6..94c4da30ed8 100644
--- a/app/workers/all_queues.yml
+++ b/app/workers/all_queues.yml
@@ -147,6 +147,14 @@
:weight: 1
:idempotent:
:tags: []
+- :name: cronjob:ci_pipeline_artifacts_expire_artifacts
+ :feature_category: :continuous_integration
+ :has_external_dependencies:
+ :urgency: :low
+ :resource_boundary: :unknown
+ :weight: 1
+ :idempotent: true
+ :tags: []
- :name: cronjob:ci_platform_metrics_update_cron
:feature_category: :continuous_integration
:has_external_dependencies:
diff --git a/app/workers/ci/pipeline_artifacts/expire_artifacts_worker.rb b/app/workers/ci/pipeline_artifacts/expire_artifacts_worker.rb
new file mode 100644
index 00000000000..6a02c980c99
--- /dev/null
+++ b/app/workers/ci/pipeline_artifacts/expire_artifacts_worker.rb
@@ -0,0 +1,25 @@
+# frozen_string_literal: true
+
+module Ci
+ module PipelineArtifacts
+ class ExpireArtifactsWorker
+ include ApplicationWorker
+ # rubocop:disable Scalability/CronWorkerContext
+ # This worker does not perform work scoped to a context
+ include CronjobQueue
+ # rubocop:enable Scalability/CronWorkerContext
+
+ deduplicate :until_executed, including_scheduled: true
+ idempotent!
+ feature_category :continuous_integration
+
+ def perform
+ return unless ::Feature.enabled?(:ci_split_pipeline_artifacts_removal)
+
+ service = ::Ci::PipelineArtifacts::DestroyExpiredArtifactsService.new
+ artifacts_count = service.execute
+ log_extra_metadata_on_done(:destroyed_pipeline_artifacts_count, artifacts_count)
+ end
+ end
+ end
+end
diff --git a/changelogs/unreleased/mw-replace-dropdown-input-fa-color-with-gray-500.yml b/changelogs/unreleased/mw-replace-dropdown-input-fa-color-with-gray-500.yml
new file mode 100644
index 00000000000..a37d16beb6a
--- /dev/null
+++ b/changelogs/unreleased/mw-replace-dropdown-input-fa-color-with-gray-500.yml
@@ -0,0 +1,5 @@
+---
+title: Replace dropdown-input-fa-color with gray-500
+merge_request: 49213
+author:
+type: changed
diff --git a/config/feature_flags/development/ci_split_pipeline_artifacts_removal.yml b/config/feature_flags/development/ci_split_pipeline_artifacts_removal.yml
new file mode 100644
index 00000000000..be56931a331
--- /dev/null
+++ b/config/feature_flags/development/ci_split_pipeline_artifacts_removal.yml
@@ -0,0 +1,8 @@
+---
+name: ci_split_pipeline_artifacts_removal
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/50446
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/295300
+milestone: '13.8'
+type: development
+group: group::continuous integration
+default_enabled: false
diff --git a/config/feature_flags/development/usage_data_incident_management_alerts_total_unique_counts.yml b/config/feature_flags/development/usage_data_incident_management_alerts_total_unique_counts.yml
deleted file mode 100644
index 38e94e74399..00000000000
--- a/config/feature_flags/development/usage_data_incident_management_alerts_total_unique_counts.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: usage_data_incident_management_alerts_total_unique_counts
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/48087
-rollout_issue_url:
-milestone: '13.7'
-type: development
-group: group::monitor
-default_enabled: false
diff --git a/config/feature_flags/development/usage_data_incident_management_incidents_total_unique_counts.yml b/config/feature_flags/development/usage_data_incident_management_incidents_total_unique_counts.yml
deleted file mode 100644
index 1bb602730e7..00000000000
--- a/config/feature_flags/development/usage_data_incident_management_incidents_total_unique_counts.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: usage_data_incident_management_incidents_total_unique_counts
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/48087
-rollout_issue_url:
-milestone: '13.7'
-type: development
-group: group::monitor
-default_enabled: false
diff --git a/config/gitlab.yml.example b/config/gitlab.yml.example
index 8dbabe5b06d..92e7501d49d 100644
--- a/config/gitlab.yml.example
+++ b/config/gitlab.yml.example
@@ -436,6 +436,9 @@ production: &base
# Remove expired build artifacts
expire_build_artifacts_worker:
cron: "*/7 * * * *"
+ # Remove expired pipeline artifacts
+ ci_pipelines_expire_artifacts_worker:
+ cron: "*/23 * * * *"
# Remove files from object storage
ci_schedule_delete_objects_worker:
cron: "*/16 * * * *"
diff --git a/config/initializers/1_settings.rb b/config/initializers/1_settings.rb
index 39a48daf9a1..b3ea72fc7e5 100644
--- a/config/initializers/1_settings.rb
+++ b/config/initializers/1_settings.rb
@@ -420,6 +420,9 @@ Settings.cron_jobs['pipeline_schedule_worker']['job_class'] = 'PipelineScheduleW
Settings.cron_jobs['expire_build_artifacts_worker'] ||= Settingslogic.new({})
Settings.cron_jobs['expire_build_artifacts_worker']['cron'] ||= '*/7 * * * *'
Settings.cron_jobs['expire_build_artifacts_worker']['job_class'] = 'ExpireBuildArtifactsWorker'
+Settings.cron_jobs['ci_pipelines_expire_artifacts_worker'] ||= Settingslogic.new({})
+Settings.cron_jobs['ci_pipelines_expire_artifacts_worker']['cron'] ||= '*/23 * * * *'
+Settings.cron_jobs['ci_pipelines_expire_artifacts_worker']['job_class'] = 'Ci::PipelineArtifacts::ExpireArtifactsWorker'
Settings.cron_jobs['ci_schedule_delete_objects_worker'] ||= Settingslogic.new({})
Settings.cron_jobs['ci_schedule_delete_objects_worker']['cron'] ||= '*/16 * * * *'
Settings.cron_jobs['ci_schedule_delete_objects_worker']['job_class'] = 'Ci::ScheduleDeleteObjectsCronWorker'
diff --git a/doc/administration/geo/index.md b/doc/administration/geo/index.md
index 334f05ef3ce..1985ea2e04c 100644
--- a/doc/administration/geo/index.md
+++ b/doc/administration/geo/index.md
@@ -292,12 +292,6 @@ This list of limitations only reflects the latest version of GitLab. If you are
### Limitations on replication/verification
-You can keep track of the progress to implement the missing items in
-these epics/issues:
-
-- [Unreplicated Data Types](https://gitlab.com/groups/gitlab-org/-/epics/893)
-- [Verify all replicated data](https://gitlab.com/groups/gitlab-org/-/epics/1430)
-
There is a complete list of all GitLab [data types](replication/datatypes.md) and [existing support for replication and verification](replication/datatypes.md#limitations-on-replicationverification).
## Frequently Asked Questions
diff --git a/doc/administration/monitoring/prometheus/gitlab_metrics.md b/doc/administration/monitoring/prometheus/gitlab_metrics.md
index c5e0570515d..4493c1677bc 100644
--- a/doc/administration/monitoring/prometheus/gitlab_metrics.md
+++ b/doc/administration/monitoring/prometheus/gitlab_metrics.md
@@ -210,6 +210,7 @@ configuration option in `gitlab.yml`. These metrics are served from the
| `limited_capacity_worker_max_running_jobs` | Gauge | 13.5 | Maximum number of running jobs | `worker` |
| `limited_capacity_worker_remaining_work_count` | Gauge | 13.5 | Number of jobs waiting to be enqueued | `worker` |
| `destroyed_job_artifacts_count_total` | Counter | 13.6 | Number of destroyed expired job artifacts | |
+| `destroyed_pipeline_artifacts_count_total` | Counter | 13.8 | Number of destroyed expired pipeline artifacts | |
## Database load balancing metrics **(PREMIUM ONLY)**
diff --git a/doc/api/graphql/reference/gitlab_schema.graphql b/doc/api/graphql/reference/gitlab_schema.graphql
index 6ab2f3b363b..79278b1496a 100644
--- a/doc/api/graphql/reference/gitlab_schema.graphql
+++ b/doc/api/graphql/reference/gitlab_schema.graphql
@@ -30,7 +30,7 @@ Autogenerated input type of AddAwardEmoji
"""
input AddAwardEmojiInput {
"""
- The global ID of the awardable resource
+ The global ID of the awardable resource.
"""
awardableId: AwardableID!
@@ -50,7 +50,7 @@ Autogenerated return type of AddAwardEmoji
"""
type AddAwardEmojiPayload {
"""
- The award emoji after mutation
+ The award emoji after mutation.
"""
awardEmoji: AwardEmoji
@@ -125,7 +125,7 @@ input AdminSidekiqQueuesDeleteJobsInput {
project: String
"""
- The name of the queue to delete jobs from
+ The name of the queue to delete jobs from.
"""
queueName: String!
@@ -170,7 +170,7 @@ type AdminSidekiqQueuesDeleteJobsPayload {
errors: [String!]!
"""
- Information about the status of the deletion request
+ Information about the status of the deletion request.
"""
result: DeleteJobsResponse
}
@@ -857,7 +857,7 @@ input AlertSetAssigneesInput {
clientMutationId: String
"""
- The IID of the alert to mutate
+ The IID of the alert to mutate.
"""
iid: String!
@@ -867,7 +867,7 @@ input AlertSetAssigneesInput {
operationMode: MutationOperationMode
"""
- The project the alert to mutate is in
+ The project the alert to mutate is in.
"""
projectPath: ID!
}
@@ -877,7 +877,7 @@ Autogenerated return type of AlertSetAssignees
"""
type AlertSetAssigneesPayload {
"""
- The alert after mutation
+ The alert after mutation.
"""
alert: AlertManagementAlert
@@ -892,12 +892,12 @@ type AlertSetAssigneesPayload {
errors: [String!]!
"""
- The issue created after mutation
+ The issue created after mutation.
"""
issue: Issue
"""
- The todo after mutation
+ The todo after mutation.
"""
todo: Todo
}
@@ -912,12 +912,12 @@ input AlertTodoCreateInput {
clientMutationId: String
"""
- The IID of the alert to mutate
+ The IID of the alert to mutate.
"""
iid: String!
"""
- The project the alert to mutate is in
+ The project the alert to mutate is in.
"""
projectPath: ID!
}
@@ -927,7 +927,7 @@ Autogenerated return type of AlertTodoCreate
"""
type AlertTodoCreatePayload {
"""
- The alert after mutation
+ The alert after mutation.
"""
alert: AlertManagementAlert
@@ -942,12 +942,12 @@ type AlertTodoCreatePayload {
errors: [String!]!
"""
- The issue created after mutation
+ The issue created after mutation.
"""
issue: Issue
"""
- The todo after mutation
+ The todo after mutation.
"""
todo: Todo
}
@@ -1012,7 +1012,7 @@ Autogenerated input type of AwardEmojiAdd
"""
input AwardEmojiAddInput {
"""
- The global ID of the awardable resource
+ The global ID of the awardable resource.
"""
awardableId: AwardableID!
@@ -1032,7 +1032,7 @@ Autogenerated return type of AwardEmojiAdd
"""
type AwardEmojiAddPayload {
"""
- The award emoji after mutation
+ The award emoji after mutation.
"""
awardEmoji: AwardEmoji
@@ -1052,7 +1052,7 @@ Autogenerated input type of AwardEmojiRemove
"""
input AwardEmojiRemoveInput {
"""
- The global ID of the awardable resource
+ The global ID of the awardable resource.
"""
awardableId: AwardableID!
@@ -1072,7 +1072,7 @@ Autogenerated return type of AwardEmojiRemove
"""
type AwardEmojiRemovePayload {
"""
- The award emoji after mutation
+ The award emoji after mutation.
"""
awardEmoji: AwardEmoji
@@ -1092,7 +1092,7 @@ Autogenerated input type of AwardEmojiToggle
"""
input AwardEmojiToggleInput {
"""
- The global ID of the awardable resource
+ The global ID of the awardable resource.
"""
awardableId: AwardableID!
@@ -1112,7 +1112,7 @@ Autogenerated return type of AwardEmojiToggle
"""
type AwardEmojiTogglePayload {
"""
- The award emoji after mutation
+ The award emoji after mutation.
"""
awardEmoji: AwardEmoji
@@ -2121,12 +2121,12 @@ input BoardListCreateInput {
assigneeId: UserID
"""
- Create the backlog list
+ Create the backlog list.
"""
backlog: Boolean
"""
- Global ID of the issue board to mutate
+ Global ID of the issue board to mutate.
"""
boardId: BoardID!
@@ -2141,7 +2141,7 @@ input BoardListCreateInput {
iterationId: IterationID
"""
- Global ID of an existing label
+ Global ID of an existing label.
"""
labelId: LabelID
@@ -2166,7 +2166,7 @@ type BoardListCreatePayload {
errors: [String!]!
"""
- List of the issue board
+ List of the issue board.
"""
list: BoardList
}
@@ -3506,12 +3506,12 @@ Autogenerated input type of CommitCreate
"""
input CommitCreateInput {
"""
- Array of action hashes to commit as a batch
+ Array of action hashes to commit as a batch.
"""
actions: [CommitAction!]!
"""
- Name of the branch to commit into, it can be a new branch
+ Name of the branch to commit into, it can be a new branch.
"""
branch: String!
@@ -3526,12 +3526,12 @@ input CommitCreateInput {
message: String!
"""
- Project full path the branch is associated with
+ Project full path the branch is associated with.
"""
projectPath: ID!
"""
- If on a new branch, name of the original branch
+ If on a new branch, name of the original branch.
"""
startBranch: String
}
@@ -3546,7 +3546,7 @@ type CommitCreatePayload {
clientMutationId: String
"""
- The commit after mutation
+ The commit after mutation.
"""
commit: Commit
@@ -4171,12 +4171,12 @@ input CreateAlertIssueInput {
clientMutationId: String
"""
- The IID of the alert to mutate
+ The IID of the alert to mutate.
"""
iid: String!
"""
- The project the alert to mutate is in
+ The project the alert to mutate is in.
"""
projectPath: ID!
}
@@ -4186,7 +4186,7 @@ Autogenerated return type of CreateAlertIssue
"""
type CreateAlertIssuePayload {
"""
- The alert after mutation
+ The alert after mutation.
"""
alert: AlertManagementAlert
@@ -4201,12 +4201,12 @@ type CreateAlertIssuePayload {
errors: [String!]!
"""
- The issue created after mutation
+ The issue created after mutation.
"""
issue: Issue
"""
- The todo after mutation
+ The todo after mutation.
"""
todo: Todo
}
@@ -4221,32 +4221,32 @@ input CreateAnnotationInput {
clientMutationId: String
"""
- The global ID of the cluster to add an annotation to
+ The global ID of the cluster to add an annotation to.
"""
clusterId: ClustersClusterID
"""
- The path to a file defining the dashboard on which the annotation should be added
+ The path to a file defining the dashboard on which the annotation should be added.
"""
dashboardPath: String!
"""
- The description of the annotation
+ The description of the annotation.
"""
description: String!
"""
- Timestamp indicating ending moment to which the annotation relates
+ Timestamp indicating ending moment to which the annotation relates.
"""
endingAt: Time
"""
- The global ID of the environment to add an annotation to
+ The global ID of the environment to add an annotation to.
"""
environmentId: EnvironmentID
"""
- Timestamp indicating starting moment to which the annotation relates
+ Timestamp indicating starting moment to which the annotation relates.
"""
startingAt: Time!
}
@@ -4256,7 +4256,7 @@ Autogenerated return type of CreateAnnotation
"""
type CreateAnnotationPayload {
"""
- The created annotation
+ The created annotation.
"""
annotation: MetricsDashboardAnnotation
@@ -4286,7 +4286,7 @@ input CreateBoardInput {
clientMutationId: String
"""
- The group full path the resource is associated with
+ The group full path the resource is associated with.
"""
groupPath: ID
@@ -4326,7 +4326,7 @@ input CreateBoardInput {
name: String
"""
- The project full path the resource is associated with
+ The project full path the resource is associated with.
"""
projectPath: ID
@@ -4366,17 +4366,17 @@ input CreateBranchInput {
clientMutationId: String
"""
- Name of the branch
+ Name of the branch.
"""
name: String!
"""
- Project full path the branch is associated with
+ Project full path the branch is associated with.
"""
projectPath: ID!
"""
- Branch name or commit SHA to create branch from
+ Branch name or commit SHA to create branch from.
"""
ref: String!
}
@@ -4386,7 +4386,7 @@ Autogenerated return type of CreateBranch
"""
type CreateBranchPayload {
"""
- Branch after mutation
+ Branch after mutation.
"""
branch: Branch
@@ -4491,17 +4491,17 @@ input CreateCustomEmojiInput {
clientMutationId: String
"""
- Namespace full path the emoji is associated with
+ Namespace full path the emoji is associated with.
"""
groupPath: ID!
"""
- Name of the emoji
+ Name of the emoji.
"""
name: String!
"""
- Location of the emoji file
+ Location of the emoji file.
"""
url: String!
}
@@ -4516,7 +4516,7 @@ type CreateCustomEmojiPayload {
clientMutationId: String
"""
- The new custom emoji
+ The new custom emoji.
"""
customEmoji: CustomEmoji
@@ -4586,7 +4586,7 @@ input CreateDiffNoteInput {
confidential: Boolean
"""
- The global ID of the resource to add a note to
+ The global ID of the resource to add a note to.
"""
noteableId: NoteableID!
@@ -4611,7 +4611,7 @@ type CreateDiffNotePayload {
errors: [String!]!
"""
- The note after mutation
+ The note after mutation.
"""
note: Note
}
@@ -4716,7 +4716,7 @@ input CreateImageDiffNoteInput {
confidential: Boolean
"""
- The global ID of the resource to add a note to
+ The global ID of the resource to add a note to.
"""
noteableId: NoteableID!
@@ -4741,7 +4741,7 @@ type CreateImageDiffNotePayload {
errors: [String!]!
"""
- The note after mutation
+ The note after mutation.
"""
note: Note
}
@@ -4751,7 +4751,7 @@ Autogenerated input type of CreateIssue
"""
input CreateIssueInput {
"""
- The array of user IDs to assign to the issue
+ The array of user IDs to assign to the issue.
"""
assigneeIds: [UserID!]
@@ -4766,7 +4766,7 @@ input CreateIssueInput {
confidential: Boolean
"""
- Timestamp when the issue was created. Available only for admins and project owners
+ Timestamp when the issue was created. Available only for admins and project owners.
"""
createdAt: Time
@@ -4776,7 +4776,7 @@ input CreateIssueInput {
description: String
"""
- The ID of a discussion to resolve. Also pass `merge_request_to_resolve_discussions_of`
+ The ID of a discussion to resolve. Also pass `merge_request_to_resolve_discussions_of`.
"""
discussionToResolve: String
@@ -4796,12 +4796,12 @@ input CreateIssueInput {
healthStatus: HealthStatus
"""
- The IID (internal ID) of a project issue. Only admins and project owners can modify
+ The IID (internal ID) of a project issue. Only admins and project owners can modify.
"""
iid: Int
"""
- The IDs of labels to be added to the issue
+ The IDs of labels to be added to the issue.
"""
labelIds: [LabelID!]
@@ -4816,17 +4816,17 @@ input CreateIssueInput {
locked: Boolean
"""
- The IID of a merge request for which to resolve discussions
+ The IID of a merge request for which to resolve discussions.
"""
mergeRequestToResolveDiscussionsOf: MergeRequestID
"""
- The ID of the milestone to assign to the issue. On update milestone will be removed if set to null
+ The ID of the milestone to assign to the issue. On update milestone will be removed if set to null.
"""
milestoneId: MilestoneID
"""
- Project full path the issue is associated with
+ Project full path the issue is associated with.
"""
projectPath: ID!
@@ -4856,7 +4856,7 @@ type CreateIssuePayload {
errors: [String!]!
"""
- The issue after mutation
+ The issue after mutation.
"""
issue: Issue
}
@@ -4941,12 +4941,12 @@ input CreateNoteInput {
confidential: Boolean
"""
- The global ID of the discussion this note is in reply to
+ The global ID of the discussion this note is in reply to.
"""
discussionId: DiscussionID
"""
- The global ID of the resource to add a note to
+ The global ID of the resource to add a note to.
"""
noteableId: NoteableID!
}
@@ -4966,7 +4966,7 @@ type CreateNotePayload {
errors: [String!]!
"""
- The note after mutation
+ The note after mutation.
"""
note: Note
}
@@ -5021,7 +5021,7 @@ Autogenerated input type of CreateSnippet
"""
input CreateSnippetInput {
"""
- Actions to perform over the snippet repository and blobs
+ Actions to perform over the snippet repository and blobs.
"""
blobActions: [SnippetBlobActionInputType!]
@@ -5031,27 +5031,27 @@ input CreateSnippetInput {
clientMutationId: String
"""
- Description of the snippet
+ Description of the snippet.
"""
description: String
"""
- The project full path the snippet is associated with
+ The project full path the snippet is associated with.
"""
projectPath: ID
"""
- Title of the snippet
+ Title of the snippet.
"""
title: String!
"""
- The paths to files uploaded in the snippet description
+ The paths to files uploaded in the snippet description.
"""
uploadedFiles: [String!]
"""
- The visibility level of the snippet
+ The visibility level of the snippet.
"""
visibilityLevel: VisibilityLevelsEnum!
}
@@ -5071,12 +5071,12 @@ type CreateSnippetPayload {
errors: [String!]!
"""
- The snippet after mutation
+ The snippet after mutation.
"""
snippet: Snippet
"""
- Indicates whether the operation returns a record detected as spam
+ Indicates whether the operation returns a record detected as spam.
"""
spam: Boolean
}
@@ -6090,7 +6090,7 @@ input DeleteAnnotationInput {
clientMutationId: String
"""
- Global ID of the annotation to delete
+ Global ID of the annotation to delete.
"""
id: MetricsDashboardAnnotationID!
}
@@ -6705,17 +6705,17 @@ input DesignManagementDeleteInput {
clientMutationId: String
"""
- The filenames of the designs to delete
+ The filenames of the designs to delete.
"""
filenames: [String!]!
"""
- The IID of the issue to modify designs for
+ The IID of the issue to modify designs for.
"""
iid: ID!
"""
- The project where the issue is to upload designs for
+ The project where the issue is to upload designs for.
"""
projectPath: ID!
}
@@ -6735,7 +6735,7 @@ type DesignManagementDeletePayload {
errors: [String!]!
"""
- The new version in which the designs are deleted
+ The new version in which the designs are deleted.
"""
version: DesignVersion
}
@@ -6760,17 +6760,17 @@ input DesignManagementMoveInput {
clientMutationId: String
"""
- ID of the design to move
+ ID of the design to move.
"""
id: DesignManagementDesignID!
"""
- ID of the immediately following design
+ ID of the immediately following design.
"""
next: DesignManagementDesignID
"""
- ID of the immediately preceding design
+ ID of the immediately preceding design.
"""
previous: DesignManagementDesignID
}
@@ -6785,7 +6785,7 @@ type DesignManagementMovePayload {
clientMutationId: String
"""
- The current state of the collection
+ The current state of the collection.
"""
designCollection: DesignCollection
@@ -6805,17 +6805,17 @@ input DesignManagementUploadInput {
clientMutationId: String
"""
- The files to upload
+ The files to upload.
"""
files: [Upload!]!
"""
- The IID of the issue to modify designs for
+ The IID of the issue to modify designs for.
"""
iid: ID!
"""
- The project where the issue is to upload designs for
+ The project where the issue is to upload designs for.
"""
projectPath: ID!
}
@@ -6830,7 +6830,7 @@ type DesignManagementUploadPayload {
clientMutationId: String
"""
- The designs that were uploaded by the mutation
+ The designs that were uploaded by the mutation.
"""
designs: [Design!]!
@@ -7015,7 +7015,7 @@ input DestroyBoardInput {
clientMutationId: String
"""
- The global ID of the board to destroy
+ The global ID of the board to destroy.
"""
id: BoardID!
}
@@ -7060,7 +7060,7 @@ Autogenerated return type of DestroyBoard
"""
type DestroyBoardPayload {
"""
- The board after mutation
+ The board after mutation.
"""
board: Board
@@ -7170,7 +7170,7 @@ type DestroyContainerRepositoryTagsPayload {
clientMutationId: String
"""
- Deleted container repository tags
+ Deleted container repository tags.
"""
deletedTagNames: [String!]!
@@ -7190,7 +7190,7 @@ input DestroyNoteInput {
clientMutationId: String
"""
- The global ID of the note to destroy
+ The global ID of the note to destroy.
"""
id: NoteID!
}
@@ -7210,7 +7210,7 @@ type DestroyNotePayload {
errors: [String!]!
"""
- The note after mutation
+ The note after mutation.
"""
note: Note
}
@@ -7225,7 +7225,7 @@ input DestroySnippetInput {
clientMutationId: String
"""
- The global ID of the snippet to destroy
+ The global ID of the snippet to destroy.
"""
id: SnippetID!
}
@@ -7245,7 +7245,7 @@ type DestroySnippetPayload {
errors: [String!]!
"""
- The snippet after mutation
+ The snippet after mutation.
"""
snippet: Snippet
}
@@ -7744,12 +7744,12 @@ input DiscussionToggleResolveInput {
clientMutationId: String
"""
- The global ID of the discussion
+ The global ID of the discussion.
"""
id: DiscussionID!
"""
- Will resolve the discussion when true, and unresolve the discussion when false
+ Will resolve the discussion when true, and unresolve the discussion when false.
"""
resolve: Boolean!
}
@@ -7764,7 +7764,7 @@ type DiscussionToggleResolvePayload {
clientMutationId: String
"""
- The discussion after mutation
+ The discussion after mutation.
"""
discussion: Discussion
@@ -7950,12 +7950,12 @@ input EnvironmentsCanaryIngressUpdateInput {
clientMutationId: String
"""
- The global ID of the environment to update
+ The global ID of the environment to update.
"""
id: EnvironmentID!
"""
- The weight of the Canary Ingress
+ The weight of the Canary Ingress.
"""
weight: Int!
}
@@ -11105,7 +11105,7 @@ Autogenerated input type of HttpIntegrationCreate
"""
input HttpIntegrationCreateInput {
"""
- Whether the integration is receiving alerts
+ Whether the integration is receiving alerts.
"""
active: Boolean!
@@ -11115,12 +11115,12 @@ input HttpIntegrationCreateInput {
clientMutationId: String
"""
- The name of the integration
+ The name of the integration.
"""
name: String!
"""
- The project to create the integration in
+ The project to create the integration in.
"""
projectPath: ID!
}
@@ -11140,7 +11140,7 @@ type HttpIntegrationCreatePayload {
errors: [String!]!
"""
- The HTTP integration
+ The HTTP integration.
"""
integration: AlertManagementHttpIntegration
}
@@ -11155,7 +11155,7 @@ input HttpIntegrationDestroyInput {
clientMutationId: String
"""
- The ID of the integration to remove
+ The ID of the integration to remove.
"""
id: AlertManagementHttpIntegrationID!
}
@@ -11175,7 +11175,7 @@ type HttpIntegrationDestroyPayload {
errors: [String!]!
"""
- The HTTP integration
+ The HTTP integration.
"""
integration: AlertManagementHttpIntegration
}
@@ -11190,7 +11190,7 @@ input HttpIntegrationResetTokenInput {
clientMutationId: String
"""
- The ID of the integration to mutate
+ The ID of the integration to mutate.
"""
id: AlertManagementHttpIntegrationID!
}
@@ -11210,7 +11210,7 @@ type HttpIntegrationResetTokenPayload {
errors: [String!]!
"""
- The HTTP integration
+ The HTTP integration.
"""
integration: AlertManagementHttpIntegration
}
@@ -11220,7 +11220,7 @@ Autogenerated input type of HttpIntegrationUpdate
"""
input HttpIntegrationUpdateInput {
"""
- Whether the integration is receiving alerts
+ Whether the integration is receiving alerts.
"""
active: Boolean
@@ -11230,12 +11230,12 @@ input HttpIntegrationUpdateInput {
clientMutationId: String
"""
- The ID of the integration to mutate
+ The ID of the integration to mutate.
"""
id: AlertManagementHttpIntegrationID!
"""
- The name of the integration
+ The name of the integration.
"""
name: String
}
@@ -11255,7 +11255,7 @@ type HttpIntegrationUpdatePayload {
errors: [String!]!
"""
- The HTTP integration
+ The HTTP integration.
"""
integration: AlertManagementHttpIntegration
}
@@ -12094,17 +12094,17 @@ input IssueMoveInput {
clientMutationId: String
"""
- The IID of the issue to mutate
+ The IID of the issue to mutate.
"""
iid: String!
"""
- The project the issue to mutate is in
+ The project the issue to mutate is in.
"""
projectPath: ID!
"""
- The project to move the issue to
+ The project to move the issue to.
"""
targetProjectPath: ID!
}
@@ -12114,7 +12114,7 @@ Autogenerated input type of IssueMoveList
"""
input IssueMoveListInput {
"""
- Global ID of the board that the issue is in
+ Global ID of the board that the issue is in.
"""
boardId: ID!
@@ -12129,32 +12129,32 @@ input IssueMoveListInput {
epicId: EpicID
"""
- ID of the board list that the issue will be moved from
+ ID of the board list that the issue will be moved from.
"""
fromListId: ID
"""
- IID of the issue to mutate
+ IID of the issue to mutate.
"""
iid: String!
"""
- ID of issue that should be placed after the current issue
+ ID of issue that should be placed after the current issue.
"""
moveAfterId: ID
"""
- ID of issue that should be placed before the current issue
+ ID of issue that should be placed before the current issue.
"""
moveBeforeId: ID
"""
- Project the issue to mutate is in
+ Project the issue to mutate is in.
"""
projectPath: ID!
"""
- ID of the board list that the issue will be moved to
+ ID of the board list that the issue will be moved to.
"""
toListId: ID
}
@@ -12174,7 +12174,7 @@ type IssueMoveListPayload {
errors: [String!]!
"""
- The issue after mutation
+ The issue after mutation.
"""
issue: Issue
}
@@ -12194,7 +12194,7 @@ type IssueMovePayload {
errors: [String!]!
"""
- The issue after mutation
+ The issue after mutation.
"""
issue: Issue
}
@@ -12259,7 +12259,7 @@ input IssueSetAssigneesInput {
clientMutationId: String
"""
- The IID of the issue to mutate
+ The IID of the issue to mutate.
"""
iid: String!
@@ -12269,7 +12269,7 @@ input IssueSetAssigneesInput {
operationMode: MutationOperationMode
"""
- The project the issue to mutate is in
+ The project the issue to mutate is in.
"""
projectPath: ID!
}
@@ -12289,7 +12289,7 @@ type IssueSetAssigneesPayload {
errors: [String!]!
"""
- The issue after mutation
+ The issue after mutation.
"""
issue: Issue
}
@@ -12309,12 +12309,12 @@ input IssueSetConfidentialInput {
confidential: Boolean!
"""
- The IID of the issue to mutate
+ The IID of the issue to mutate.
"""
iid: String!
"""
- The project the issue to mutate is in
+ The project the issue to mutate is in.
"""
projectPath: ID!
}
@@ -12334,7 +12334,7 @@ type IssueSetConfidentialPayload {
errors: [String!]!
"""
- The issue after mutation
+ The issue after mutation.
"""
issue: Issue
}
@@ -12349,17 +12349,17 @@ input IssueSetDueDateInput {
clientMutationId: String
"""
- The desired due date for the issue
+ The desired due date for the issue.
"""
dueDate: Time!
"""
- The IID of the issue to mutate
+ The IID of the issue to mutate.
"""
iid: String!
"""
- The project the issue to mutate is in
+ The project the issue to mutate is in.
"""
projectPath: ID!
}
@@ -12379,7 +12379,7 @@ type IssueSetDueDatePayload {
errors: [String!]!
"""
- The issue after mutation
+ The issue after mutation.
"""
issue: Issue
}
@@ -12399,12 +12399,12 @@ input IssueSetEpicInput {
epicId: EpicID
"""
- The IID of the issue to mutate
+ The IID of the issue to mutate.
"""
iid: String!
"""
- The project the issue to mutate is in
+ The project the issue to mutate is in.
"""
projectPath: ID!
}
@@ -12424,7 +12424,7 @@ type IssueSetEpicPayload {
errors: [String!]!
"""
- The issue after mutation
+ The issue after mutation.
"""
issue: Issue
}
@@ -12439,7 +12439,7 @@ input IssueSetIterationInput {
clientMutationId: String
"""
- The IID of the issue to mutate
+ The IID of the issue to mutate.
"""
iid: String!
@@ -12449,7 +12449,7 @@ input IssueSetIterationInput {
iterationId: IterationID
"""
- The project the issue to mutate is in
+ The project the issue to mutate is in.
"""
projectPath: ID!
}
@@ -12469,7 +12469,7 @@ type IssueSetIterationPayload {
errors: [String!]!
"""
- The issue after mutation
+ The issue after mutation.
"""
issue: Issue
}
@@ -12484,17 +12484,17 @@ input IssueSetLockedInput {
clientMutationId: String
"""
- The IID of the issue to mutate
+ The IID of the issue to mutate.
"""
iid: String!
"""
- Whether or not to lock discussion on the issue
+ Whether or not to lock discussion on the issue.
"""
locked: Boolean!
"""
- The project the issue to mutate is in
+ The project the issue to mutate is in.
"""
projectPath: ID!
}
@@ -12514,7 +12514,7 @@ type IssueSetLockedPayload {
errors: [String!]!
"""
- The issue after mutation
+ The issue after mutation.
"""
issue: Issue
}
@@ -12529,12 +12529,12 @@ input IssueSetSeverityInput {
clientMutationId: String
"""
- The IID of the issue to mutate
+ The IID of the issue to mutate.
"""
iid: String!
"""
- The project the issue to mutate is in
+ The project the issue to mutate is in.
"""
projectPath: ID!
@@ -12559,7 +12559,7 @@ type IssueSetSeverityPayload {
errors: [String!]!
"""
- The issue after mutation
+ The issue after mutation.
"""
issue: Issue
}
@@ -12574,17 +12574,17 @@ input IssueSetSubscriptionInput {
clientMutationId: String
"""
- The IID of the issue to mutate
+ The IID of the issue to mutate.
"""
iid: String!
"""
- The project the issue to mutate is in
+ The project the issue to mutate is in.
"""
projectPath: ID!
"""
- The desired state of the subscription
+ The desired state of the subscription.
"""
subscribedState: Boolean!
}
@@ -12604,7 +12604,7 @@ type IssueSetSubscriptionPayload {
errors: [String!]!
"""
- The issue after mutation
+ The issue after mutation.
"""
issue: Issue
}
@@ -12619,12 +12619,12 @@ input IssueSetWeightInput {
clientMutationId: String
"""
- The IID of the issue to mutate
+ The IID of the issue to mutate.
"""
iid: String!
"""
- The project the issue to mutate is in
+ The project the issue to mutate is in.
"""
projectPath: ID!
@@ -12649,7 +12649,7 @@ type IssueSetWeightPayload {
errors: [String!]!
"""
- The issue after mutation
+ The issue after mutation.
"""
issue: Issue
}
@@ -13087,22 +13087,22 @@ input JiraImportStartInput {
clientMutationId: String
"""
- Project key of the importer Jira project
+ Project key of the importer Jira project.
"""
jiraProjectKey: String!
"""
- Project name of the importer Jira project
+ Project name of the importer Jira project.
"""
jiraProjectName: String
"""
- The project to import the Jira project into
+ The project to import the Jira project into.
"""
projectPath: ID!
"""
- The mapping of Jira to GitLab users
+ The mapping of Jira to GitLab users.
"""
usersMapping: [JiraUsersMappingInputType!]
}
@@ -13122,7 +13122,7 @@ type JiraImportStartPayload {
errors: [String!]!
"""
- The Jira import data after mutation
+ The Jira import data after mutation.
"""
jiraImport: JiraImport
}
@@ -13137,12 +13137,12 @@ input JiraImportUsersInput {
clientMutationId: String
"""
- The project to import the Jira users into
+ The project to import the Jira users into.
"""
projectPath: ID!
"""
- The index of the record the import should started at, default 0 (50 records returned)
+ The index of the record the import should started at, default 0 (50 records returned).
"""
startAt: Int
}
@@ -13404,27 +13404,27 @@ input LabelCreateInput {
"""
The color of the label given in 6-digit hex notation with leading '#' sign
(e.g. #FFAABB) or one of the CSS color names in
- https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Color_keywords
+ https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Color_keywords.
"""
color: String = "#428BCA"
"""
- Description of the label
+ Description of the label.
"""
description: String
"""
- The group full path the resource is associated with
+ The group full path the resource is associated with.
"""
groupPath: ID
"""
- The project full path the resource is associated with
+ The project full path the resource is associated with.
"""
projectPath: ID
"""
- Title of the label
+ Title of the label.
"""
title: String!
}
@@ -13444,7 +13444,7 @@ type LabelCreatePayload {
errors: [String!]!
"""
- The label after mutation
+ The label after mutation.
"""
label: Label
}
@@ -13493,7 +13493,7 @@ input MarkAsSpamSnippetInput {
clientMutationId: String
"""
- The global ID of the snippet to update
+ The global ID of the snippet to update.
"""
id: SnippetID!
}
@@ -13513,7 +13513,7 @@ type MarkAsSpamSnippetPayload {
errors: [String!]!
"""
- The snippet after mutation
+ The snippet after mutation.
"""
snippet: Snippet
}
@@ -14327,7 +14327,7 @@ input MergeRequestCreateInput {
labels: [String!]
"""
- Project full path the merge request is associated with
+ Project full path the merge request is associated with.
"""
projectPath: ID!
@@ -14362,7 +14362,7 @@ type MergeRequestCreatePayload {
errors: [String!]!
"""
- The merge request after mutation
+ The merge request after mutation.
"""
mergeRequest: MergeRequest
}
@@ -14532,7 +14532,7 @@ input MergeRequestSetAssigneesInput {
clientMutationId: String
"""
- The IID of the merge request to mutate
+ The IID of the merge request to mutate.
"""
iid: String!
@@ -14542,7 +14542,7 @@ input MergeRequestSetAssigneesInput {
operationMode: MutationOperationMode
"""
- The project the merge request to mutate is in
+ The project the merge request to mutate is in.
"""
projectPath: ID!
}
@@ -14562,7 +14562,7 @@ type MergeRequestSetAssigneesPayload {
errors: [String!]!
"""
- The merge request after mutation
+ The merge request after mutation.
"""
mergeRequest: MergeRequest
}
@@ -14577,7 +14577,7 @@ input MergeRequestSetLabelsInput {
clientMutationId: String
"""
- The IID of the merge request to mutate
+ The IID of the merge request to mutate.
"""
iid: String!
@@ -14592,7 +14592,7 @@ input MergeRequestSetLabelsInput {
operationMode: MutationOperationMode
"""
- The project the merge request to mutate is in
+ The project the merge request to mutate is in.
"""
projectPath: ID!
}
@@ -14612,7 +14612,7 @@ type MergeRequestSetLabelsPayload {
errors: [String!]!
"""
- The merge request after mutation
+ The merge request after mutation.
"""
mergeRequest: MergeRequest
}
@@ -14627,7 +14627,7 @@ input MergeRequestSetLockedInput {
clientMutationId: String
"""
- The IID of the merge request to mutate
+ The IID of the merge request to mutate.
"""
iid: String!
@@ -14637,7 +14637,7 @@ input MergeRequestSetLockedInput {
locked: Boolean!
"""
- The project the merge request to mutate is in
+ The project the merge request to mutate is in.
"""
projectPath: ID!
}
@@ -14657,7 +14657,7 @@ type MergeRequestSetLockedPayload {
errors: [String!]!
"""
- The merge request after mutation
+ The merge request after mutation.
"""
mergeRequest: MergeRequest
}
@@ -14672,7 +14672,7 @@ input MergeRequestSetMilestoneInput {
clientMutationId: String
"""
- The IID of the merge request to mutate
+ The IID of the merge request to mutate.
"""
iid: String!
@@ -14682,7 +14682,7 @@ input MergeRequestSetMilestoneInput {
milestoneId: MilestoneID
"""
- The project the merge request to mutate is in
+ The project the merge request to mutate is in.
"""
projectPath: ID!
}
@@ -14702,7 +14702,7 @@ type MergeRequestSetMilestonePayload {
errors: [String!]!
"""
- The merge request after mutation
+ The merge request after mutation.
"""
mergeRequest: MergeRequest
}
@@ -14717,17 +14717,17 @@ input MergeRequestSetSubscriptionInput {
clientMutationId: String
"""
- The IID of the merge request to mutate
+ The IID of the merge request to mutate.
"""
iid: String!
"""
- The project the merge request to mutate is in
+ The project the merge request to mutate is in.
"""
projectPath: ID!
"""
- The desired state of the subscription
+ The desired state of the subscription.
"""
subscribedState: Boolean!
}
@@ -14747,7 +14747,7 @@ type MergeRequestSetSubscriptionPayload {
errors: [String!]!
"""
- The merge request after mutation
+ The merge request after mutation.
"""
mergeRequest: MergeRequest
}
@@ -14762,12 +14762,12 @@ input MergeRequestSetWipInput {
clientMutationId: String
"""
- The IID of the merge request to mutate
+ The IID of the merge request to mutate.
"""
iid: String!
"""
- The project the merge request to mutate is in
+ The project the merge request to mutate is in.
"""
projectPath: ID!
@@ -14792,7 +14792,7 @@ type MergeRequestSetWipPayload {
errors: [String!]!
"""
- The merge request after mutation
+ The merge request after mutation.
"""
mergeRequest: MergeRequest
}
@@ -14908,12 +14908,12 @@ input MergeRequestUpdateInput {
description: String
"""
- The IID of the merge request to mutate
+ The IID of the merge request to mutate.
"""
iid: String!
"""
- The project the merge request to mutate is in
+ The project the merge request to mutate is in.
"""
projectPath: ID!
@@ -14943,7 +14943,7 @@ type MergeRequestUpdatePayload {
errors: [String!]!
"""
- The merge request after mutation
+ The merge request after mutation.
"""
mergeRequest: MergeRequest
}
@@ -19297,12 +19297,12 @@ Autogenerated input type of PrometheusIntegrationCreate
"""
input PrometheusIntegrationCreateInput {
"""
- Whether the integration is receiving alerts
+ Whether the integration is receiving alerts.
"""
active: Boolean!
"""
- Endpoint at which prometheus can be queried
+ Endpoint at which prometheus can be queried.
"""
apiUrl: String!
@@ -19312,7 +19312,7 @@ input PrometheusIntegrationCreateInput {
clientMutationId: String
"""
- The project to create the integration in
+ The project to create the integration in.
"""
projectPath: ID!
}
@@ -19332,7 +19332,7 @@ type PrometheusIntegrationCreatePayload {
errors: [String!]!
"""
- The newly created integration
+ The newly created integration.
"""
integration: AlertManagementPrometheusIntegration
}
@@ -19347,7 +19347,7 @@ input PrometheusIntegrationResetTokenInput {
clientMutationId: String
"""
- The ID of the integration to mutate
+ The ID of the integration to mutate.
"""
id: PrometheusServiceID!
}
@@ -19367,7 +19367,7 @@ type PrometheusIntegrationResetTokenPayload {
errors: [String!]!
"""
- The newly created integration
+ The newly created integration.
"""
integration: AlertManagementPrometheusIntegration
}
@@ -19377,12 +19377,12 @@ Autogenerated input type of PrometheusIntegrationUpdate
"""
input PrometheusIntegrationUpdateInput {
"""
- Whether the integration is receiving alerts
+ Whether the integration is receiving alerts.
"""
active: Boolean
"""
- Endpoint at which prometheus can be queried
+ Endpoint at which prometheus can be queried.
"""
apiUrl: String
@@ -19392,7 +19392,7 @@ input PrometheusIntegrationUpdateInput {
clientMutationId: String
"""
- The ID of the integration to mutate
+ The ID of the integration to mutate.
"""
id: PrometheusServiceID!
}
@@ -19412,7 +19412,7 @@ type PrometheusIntegrationUpdatePayload {
errors: [String!]!
"""
- The newly created integration
+ The newly created integration.
"""
integration: AlertManagementPrometheusIntegration
}
@@ -19437,12 +19437,12 @@ input PromoteToEpicInput {
groupPath: ID
"""
- The IID of the issue to mutate
+ The IID of the issue to mutate.
"""
iid: String!
"""
- The project the issue to mutate is in
+ The project the issue to mutate is in.
"""
projectPath: ID!
}
@@ -19467,7 +19467,7 @@ type PromoteToEpicPayload {
errors: [String!]!
"""
- The issue after mutation
+ The issue after mutation.
"""
issue: Issue
}
@@ -20386,7 +20386,7 @@ Autogenerated input type of ReleaseCreate
"""
input ReleaseCreateInput {
"""
- Assets associated to the release
+ Assets associated to the release.
"""
assets: ReleaseAssetsInput
@@ -20396,7 +20396,7 @@ input ReleaseCreateInput {
clientMutationId: String
"""
- Description (also known as "release notes") of the release
+ Description (also known as "release notes") of the release.
"""
description: String
@@ -20406,17 +20406,17 @@ input ReleaseCreateInput {
milestones: [String!]
"""
- Name of the release
+ Name of the release.
"""
name: String
"""
- Full path of the project the release is associated with
+ Full path of the project the release is associated with.
"""
projectPath: ID!
"""
- The commit SHA or branch name to use if creating a new tag
+ The commit SHA or branch name to use if creating a new tag.
"""
ref: String
@@ -20426,7 +20426,7 @@ input ReleaseCreateInput {
releasedAt: Time
"""
- Name of the tag to associate with the release
+ Name of the tag to associate with the release.
"""
tagName: String!
}
@@ -20446,7 +20446,7 @@ type ReleaseCreatePayload {
errors: [String!]!
"""
- The release after mutation
+ The release after mutation.
"""
release: Release
}
@@ -20461,7 +20461,7 @@ input ReleaseDeleteInput {
clientMutationId: String
"""
- Full path of the project the release is associated with
+ Full path of the project the release is associated with.
"""
projectPath: ID!
@@ -20688,7 +20688,7 @@ input ReleaseUpdateInput {
clientMutationId: String
"""
- Description (release notes) of the release
+ Description (release notes) of the release.
"""
description: String
@@ -20698,22 +20698,22 @@ input ReleaseUpdateInput {
milestones: [String!]
"""
- Name of the release
+ Name of the release.
"""
name: String
"""
- Full path of the project the release is associated with
+ Full path of the project the release is associated with.
"""
projectPath: ID!
"""
- The release date
+ The release date.
"""
releasedAt: Time
"""
- Name of the tag associated with the release
+ Name of the tag associated with the release.
"""
tagName: String!
}
@@ -20743,7 +20743,7 @@ Autogenerated input type of RemoveAwardEmoji
"""
input RemoveAwardEmojiInput {
"""
- The global ID of the awardable resource
+ The global ID of the awardable resource.
"""
awardableId: AwardableID!
@@ -20763,7 +20763,7 @@ Autogenerated return type of RemoveAwardEmoji
"""
type RemoveAwardEmojiPayload {
"""
- The award emoji after mutation
+ The award emoji after mutation.
"""
awardEmoji: AwardEmoji
@@ -20818,7 +20818,7 @@ input RepositionImageDiffNoteInput {
clientMutationId: String
"""
- The global ID of the DiffNote to update
+ The global ID of the DiffNote to update.
"""
id: DiffNoteID!
@@ -20843,7 +20843,7 @@ type RepositionImageDiffNotePayload {
errors: [String!]!
"""
- The note after mutation
+ The note after mutation.
"""
note: Note
}
@@ -23219,7 +23219,7 @@ input TerraformStateDeleteInput {
clientMutationId: String
"""
- Global ID of the Terraform state
+ Global ID of the Terraform state.
"""
id: TerraformStateID!
}
@@ -23269,7 +23269,7 @@ input TerraformStateLockInput {
clientMutationId: String
"""
- Global ID of the Terraform state
+ Global ID of the Terraform state.
"""
id: TerraformStateID!
}
@@ -23299,7 +23299,7 @@ input TerraformStateUnlockInput {
clientMutationId: String
"""
- Global ID of the Terraform state
+ Global ID of the Terraform state.
"""
id: TerraformStateID!
}
@@ -23733,7 +23733,7 @@ input TodoCreateInput {
clientMutationId: String
"""
- The global ID of the to-do item's parent. Issues, merge requests, designs and epics are supported
+ The global ID of the to-do item's parent. Issues, merge requests, designs and epics are supported.
"""
targetId: TodoableID!
}
@@ -23753,7 +23753,7 @@ type TodoCreatePayload {
errors: [String!]!
"""
- The to-do created
+ The to-do created.
"""
todo: Todo
}
@@ -23788,7 +23788,7 @@ input TodoMarkDoneInput {
clientMutationId: String
"""
- The global ID of the todo to mark as done
+ The global ID of the todo to mark as done.
"""
id: TodoID!
}
@@ -23808,7 +23808,7 @@ type TodoMarkDonePayload {
errors: [String!]!
"""
- The requested todo
+ The requested todo.
"""
todo: Todo!
}
@@ -23823,7 +23823,7 @@ input TodoRestoreInput {
clientMutationId: String
"""
- The global ID of the todo to restore
+ The global ID of the todo to restore.
"""
id: TodoID!
}
@@ -23838,7 +23838,7 @@ input TodoRestoreManyInput {
clientMutationId: String
"""
- The global IDs of the todos to restore (a maximum of 50 is supported at once)
+ The global IDs of the todos to restore (a maximum of 50 is supported at once).
"""
ids: [TodoID!]!
}
@@ -23858,12 +23858,12 @@ type TodoRestoreManyPayload {
errors: [String!]!
"""
- Updated todos
+ Updated todos.
"""
todos: [Todo!]!
"""
- The IDs of the updated todo items Deprecated in 13.2: Use todos.
+ The IDs of the updated todo items. Deprecated in 13.2: Use todos.
"""
updatedIds: [TodoID!]! @deprecated(reason: "Use todos. Deprecated in 13.2.")
}
@@ -23883,7 +23883,7 @@ type TodoRestorePayload {
errors: [String!]!
"""
- The requested todo
+ The requested todo.
"""
todo: Todo!
}
@@ -23955,12 +23955,12 @@ type TodosMarkAllDonePayload {
errors: [String!]!
"""
- Updated todos
+ Updated todos.
"""
todos: [Todo!]!
"""
- Ids of the updated todos Deprecated in 13.2: Use todos.
+ Ids of the updated todos. Deprecated in 13.2: Use todos.
"""
updatedIds: [TodoID!]! @deprecated(reason: "Use todos. Deprecated in 13.2.")
}
@@ -23970,7 +23970,7 @@ Autogenerated input type of ToggleAwardEmoji
"""
input ToggleAwardEmojiInput {
"""
- The global ID of the awardable resource
+ The global ID of the awardable resource.
"""
awardableId: AwardableID!
@@ -23990,7 +23990,7 @@ Autogenerated return type of ToggleAwardEmoji
"""
type ToggleAwardEmojiPayload {
"""
- The award emoji after mutation
+ The award emoji after mutation.
"""
awardEmoji: AwardEmoji
@@ -24192,17 +24192,17 @@ input UpdateAlertStatusInput {
clientMutationId: String
"""
- The IID of the alert to mutate
+ The IID of the alert to mutate.
"""
iid: String!
"""
- The project the alert to mutate is in
+ The project the alert to mutate is in.
"""
projectPath: ID!
"""
- The status to set the alert
+ The status to set the alert.
"""
status: AlertManagementStatus!
}
@@ -24212,7 +24212,7 @@ Autogenerated return type of UpdateAlertStatus
"""
type UpdateAlertStatusPayload {
"""
- The alert after mutation
+ The alert after mutation.
"""
alert: AlertManagementAlert
@@ -24227,12 +24227,12 @@ type UpdateAlertStatusPayload {
errors: [String!]!
"""
- The issue created after mutation
+ The issue created after mutation.
"""
issue: Issue
"""
- The todo after mutation
+ The todo after mutation.
"""
todo: Todo
}
@@ -24352,7 +24352,7 @@ input UpdateBoardListInput {
clientMutationId: String
"""
- Indicates if list is collapsed for this user
+ Indicates if list is collapsed for this user.
"""
collapsed: Boolean
@@ -24362,7 +24362,7 @@ input UpdateBoardListInput {
listId: ListID!
"""
- Position of list within the board
+ Position of list within the board.
"""
position: Int
}
@@ -24382,7 +24382,7 @@ type UpdateBoardListPayload {
errors: [String!]!
"""
- Mutated list
+ Mutated list.
"""
list: BoardList
}
@@ -24487,7 +24487,7 @@ input UpdateContainerExpirationPolicyInput {
olderThan: ContainerExpirationPolicyOlderThanEnum
"""
- The project path where the container expiration policy is located
+ The project path where the container expiration policy is located.
"""
projectPath: ID!
}
@@ -24502,7 +24502,7 @@ type UpdateContainerExpirationPolicyPayload {
clientMutationId: String
"""
- The container expiration policy after mutation
+ The container expiration policy after mutation.
"""
containerExpirationPolicy: ContainerExpirationPolicy
@@ -24684,7 +24684,7 @@ input UpdateImageDiffNoteInput {
clientMutationId: String
"""
- The global ID of the note to update
+ The global ID of the note to update.
"""
id: NoteID!
@@ -24709,7 +24709,7 @@ type UpdateImageDiffNotePayload {
errors: [String!]!
"""
- The note after mutation
+ The note after mutation.
"""
note: Note
}
@@ -24719,7 +24719,7 @@ Autogenerated input type of UpdateIssue
"""
input UpdateIssueInput {
"""
- The IDs of labels to be added to the issue
+ The IDs of labels to be added to the issue.
"""
addLabelIds: [ID!]
@@ -24754,7 +24754,7 @@ input UpdateIssueInput {
healthStatus: HealthStatus
"""
- The IID of the issue to mutate
+ The IID of the issue to mutate.
"""
iid: String!
@@ -24764,22 +24764,22 @@ input UpdateIssueInput {
locked: Boolean
"""
- The ID of the milestone to assign to the issue. On update milestone will be removed if set to null
+ The ID of the milestone to assign to the issue. On update milestone will be removed if set to null.
"""
milestoneId: ID
"""
- The project the issue to mutate is in
+ The project the issue to mutate is in.
"""
projectPath: ID!
"""
- The IDs of labels to be removed from the issue
+ The IDs of labels to be removed from the issue.
"""
removeLabelIds: [ID!]
"""
- Close or reopen an issue
+ Close or reopen an issue.
"""
stateEvent: IssueStateEvent
@@ -24809,7 +24809,7 @@ type UpdateIssuePayload {
errors: [String!]!
"""
- The issue after mutation
+ The issue after mutation.
"""
issue: Issue
}
@@ -24940,7 +24940,7 @@ input UpdateNoteInput {
confidential: Boolean
"""
- The global ID of the note to update
+ The global ID of the note to update.
"""
id: NoteID!
}
@@ -24960,7 +24960,7 @@ type UpdateNotePayload {
errors: [String!]!
"""
- The note after mutation
+ The note after mutation.
"""
note: Note
}
@@ -25030,7 +25030,7 @@ Autogenerated input type of UpdateSnippet
"""
input UpdateSnippetInput {
"""
- Actions to perform over the snippet repository and blobs
+ Actions to perform over the snippet repository and blobs.
"""
blobActions: [SnippetBlobActionInputType!]
@@ -25040,22 +25040,22 @@ input UpdateSnippetInput {
clientMutationId: String
"""
- Description of the snippet
+ Description of the snippet.
"""
description: String
"""
- The global ID of the snippet to update
+ The global ID of the snippet to update.
"""
id: SnippetID!
"""
- Title of the snippet
+ Title of the snippet.
"""
title: String
"""
- The visibility level of the snippet
+ The visibility level of the snippet.
"""
visibilityLevel: VisibilityLevelsEnum
}
@@ -25075,12 +25075,12 @@ type UpdateSnippetPayload {
errors: [String!]!
"""
- The snippet after mutation
+ The snippet after mutation.
"""
snippet: Snippet
"""
- Indicates whether the operation returns a record detected as spam
+ Indicates whether the operation returns a record detected as spam.
"""
spam: Boolean
}
diff --git a/doc/api/graphql/reference/gitlab_schema.json b/doc/api/graphql/reference/gitlab_schema.json
index 2fdb5274f1b..969ac16422f 100644
--- a/doc/api/graphql/reference/gitlab_schema.json
+++ b/doc/api/graphql/reference/gitlab_schema.json
@@ -105,7 +105,7 @@
"inputFields": [
{
"name": "awardableId",
- "description": "The global ID of the awardable resource",
+ "description": "The global ID of the awardable resource.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -153,7 +153,7 @@
"fields": [
{
"name": "awardEmoji",
- "description": "The award emoji after mutation",
+ "description": "The award emoji after mutation.",
"args": [
],
@@ -403,7 +403,7 @@
},
{
"name": "queueName",
- "description": "The name of the queue to delete jobs from",
+ "description": "The name of the queue to delete jobs from.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -477,7 +477,7 @@
},
{
"name": "result",
- "description": "Information about the status of the deletion request",
+ "description": "Information about the status of the deletion request.",
"args": [
],
@@ -2122,7 +2122,7 @@
"inputFields": [
{
"name": "projectPath",
- "description": "The project the alert to mutate is in",
+ "description": "The project the alert to mutate is in.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -2136,7 +2136,7 @@
},
{
"name": "iid",
- "description": "The IID of the alert to mutate",
+ "description": "The IID of the alert to mutate.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -2202,7 +2202,7 @@
"fields": [
{
"name": "alert",
- "description": "The alert after mutation",
+ "description": "The alert after mutation.",
"args": [
],
@@ -2256,7 +2256,7 @@
},
{
"name": "issue",
- "description": "The issue created after mutation",
+ "description": "The issue created after mutation.",
"args": [
],
@@ -2270,7 +2270,7 @@
},
{
"name": "todo",
- "description": "The todo after mutation",
+ "description": "The todo after mutation.",
"args": [
],
@@ -2298,7 +2298,7 @@
"inputFields": [
{
"name": "projectPath",
- "description": "The project the alert to mutate is in",
+ "description": "The project the alert to mutate is in.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -2312,7 +2312,7 @@
},
{
"name": "iid",
- "description": "The IID of the alert to mutate",
+ "description": "The IID of the alert to mutate.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -2346,7 +2346,7 @@
"fields": [
{
"name": "alert",
- "description": "The alert after mutation",
+ "description": "The alert after mutation.",
"args": [
],
@@ -2400,7 +2400,7 @@
},
{
"name": "issue",
- "description": "The issue created after mutation",
+ "description": "The issue created after mutation.",
"args": [
],
@@ -2414,7 +2414,7 @@
},
{
"name": "todo",
- "description": "The todo after mutation",
+ "description": "The todo after mutation.",
"args": [
],
@@ -2596,7 +2596,7 @@
"inputFields": [
{
"name": "awardableId",
- "description": "The global ID of the awardable resource",
+ "description": "The global ID of the awardable resource.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -2644,7 +2644,7 @@
"fields": [
{
"name": "awardEmoji",
- "description": "The award emoji after mutation",
+ "description": "The award emoji after mutation.",
"args": [
],
@@ -2712,7 +2712,7 @@
"inputFields": [
{
"name": "awardableId",
- "description": "The global ID of the awardable resource",
+ "description": "The global ID of the awardable resource.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -2760,7 +2760,7 @@
"fields": [
{
"name": "awardEmoji",
- "description": "The award emoji after mutation",
+ "description": "The award emoji after mutation.",
"args": [
],
@@ -2828,7 +2828,7 @@
"inputFields": [
{
"name": "awardableId",
- "description": "The global ID of the awardable resource",
+ "description": "The global ID of the awardable resource.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -2876,7 +2876,7 @@
"fields": [
{
"name": "awardEmoji",
- "description": "The award emoji after mutation",
+ "description": "The award emoji after mutation.",
"args": [
],
@@ -5602,7 +5602,7 @@
"inputFields": [
{
"name": "boardId",
- "description": "Global ID of the issue board to mutate",
+ "description": "Global ID of the issue board to mutate.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -5616,7 +5616,7 @@
},
{
"name": "backlog",
- "description": "Create the backlog list",
+ "description": "Create the backlog list.",
"type": {
"kind": "SCALAR",
"name": "Boolean",
@@ -5626,7 +5626,7 @@
},
{
"name": "labelId",
- "description": "Global ID of an existing label",
+ "description": "Global ID of an existing label.",
"type": {
"kind": "SCALAR",
"name": "LabelID",
@@ -5726,7 +5726,7 @@
},
{
"name": "list",
- "description": "List of the issue board",
+ "description": "List of the issue board.",
"args": [
],
@@ -9564,7 +9564,7 @@
"inputFields": [
{
"name": "projectPath",
- "description": "Project full path the branch is associated with",
+ "description": "Project full path the branch is associated with.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -9578,7 +9578,7 @@
},
{
"name": "branch",
- "description": "Name of the branch to commit into, it can be a new branch",
+ "description": "Name of the branch to commit into, it can be a new branch.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -9592,7 +9592,7 @@
},
{
"name": "startBranch",
- "description": "If on a new branch, name of the original branch",
+ "description": "If on a new branch, name of the original branch.",
"type": {
"kind": "SCALAR",
"name": "String",
@@ -9616,7 +9616,7 @@
},
{
"name": "actions",
- "description": "Array of action hashes to commit as a batch",
+ "description": "Array of action hashes to commit as a batch.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -9672,7 +9672,7 @@
},
{
"name": "commit",
- "description": "The commit after mutation",
+ "description": "The commit after mutation.",
"args": [
],
@@ -11388,7 +11388,7 @@
"inputFields": [
{
"name": "projectPath",
- "description": "The project the alert to mutate is in",
+ "description": "The project the alert to mutate is in.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -11402,7 +11402,7 @@
},
{
"name": "iid",
- "description": "The IID of the alert to mutate",
+ "description": "The IID of the alert to mutate.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -11436,7 +11436,7 @@
"fields": [
{
"name": "alert",
- "description": "The alert after mutation",
+ "description": "The alert after mutation.",
"args": [
],
@@ -11490,7 +11490,7 @@
},
{
"name": "issue",
- "description": "The issue created after mutation",
+ "description": "The issue created after mutation.",
"args": [
],
@@ -11504,7 +11504,7 @@
},
{
"name": "todo",
- "description": "The todo after mutation",
+ "description": "The todo after mutation.",
"args": [
],
@@ -11532,7 +11532,7 @@
"inputFields": [
{
"name": "environmentId",
- "description": "The global ID of the environment to add an annotation to",
+ "description": "The global ID of the environment to add an annotation to.",
"type": {
"kind": "SCALAR",
"name": "EnvironmentID",
@@ -11542,7 +11542,7 @@
},
{
"name": "clusterId",
- "description": "The global ID of the cluster to add an annotation to",
+ "description": "The global ID of the cluster to add an annotation to.",
"type": {
"kind": "SCALAR",
"name": "ClustersClusterID",
@@ -11552,7 +11552,7 @@
},
{
"name": "startingAt",
- "description": "Timestamp indicating starting moment to which the annotation relates",
+ "description": "Timestamp indicating starting moment to which the annotation relates.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -11566,7 +11566,7 @@
},
{
"name": "endingAt",
- "description": "Timestamp indicating ending moment to which the annotation relates",
+ "description": "Timestamp indicating ending moment to which the annotation relates.",
"type": {
"kind": "SCALAR",
"name": "Time",
@@ -11576,7 +11576,7 @@
},
{
"name": "dashboardPath",
- "description": "The path to a file defining the dashboard on which the annotation should be added",
+ "description": "The path to a file defining the dashboard on which the annotation should be added.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -11590,7 +11590,7 @@
},
{
"name": "description",
- "description": "The description of the annotation",
+ "description": "The description of the annotation.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -11624,7 +11624,7 @@
"fields": [
{
"name": "annotation",
- "description": "The created annotation",
+ "description": "The created annotation.",
"args": [
],
@@ -11692,7 +11692,7 @@
"inputFields": [
{
"name": "projectPath",
- "description": "The project full path the resource is associated with",
+ "description": "The project full path the resource is associated with.",
"type": {
"kind": "SCALAR",
"name": "ID",
@@ -11702,7 +11702,7 @@
},
{
"name": "groupPath",
- "description": "The group full path the resource is associated with",
+ "description": "The group full path the resource is associated with.",
"type": {
"kind": "SCALAR",
"name": "ID",
@@ -11906,7 +11906,7 @@
"inputFields": [
{
"name": "projectPath",
- "description": "Project full path the branch is associated with",
+ "description": "Project full path the branch is associated with.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -11920,7 +11920,7 @@
},
{
"name": "name",
- "description": "Name of the branch",
+ "description": "Name of the branch.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -11934,7 +11934,7 @@
},
{
"name": "ref",
- "description": "Branch name or commit SHA to create branch from",
+ "description": "Branch name or commit SHA to create branch from.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -11968,7 +11968,7 @@
"fields": [
{
"name": "branch",
- "description": "Branch after mutation",
+ "description": "Branch after mutation.",
"args": [
],
@@ -12268,7 +12268,7 @@
"inputFields": [
{
"name": "groupPath",
- "description": "Namespace full path the emoji is associated with",
+ "description": "Namespace full path the emoji is associated with.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -12282,7 +12282,7 @@
},
{
"name": "name",
- "description": "Name of the emoji",
+ "description": "Name of the emoji.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -12296,7 +12296,7 @@
},
{
"name": "url",
- "description": "Location of the emoji file",
+ "description": "Location of the emoji file.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -12344,7 +12344,7 @@
},
{
"name": "customEmoji",
- "description": "The new custom emoji",
+ "description": "The new custom emoji.",
"args": [
],
@@ -12518,7 +12518,7 @@
"inputFields": [
{
"name": "noteableId",
- "description": "The global ID of the resource to add a note to",
+ "description": "The global ID of the resource to add a note to.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -12630,7 +12630,7 @@
},
{
"name": "note",
- "description": "The note after mutation",
+ "description": "The note after mutation.",
"args": [
],
@@ -12866,7 +12866,7 @@
"inputFields": [
{
"name": "noteableId",
- "description": "The global ID of the resource to add a note to",
+ "description": "The global ID of the resource to add a note to.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -12978,7 +12978,7 @@
},
{
"name": "note",
- "description": "The note after mutation",
+ "description": "The note after mutation.",
"args": [
],
@@ -13046,7 +13046,7 @@
},
{
"name": "projectPath",
- "description": "Project full path the issue is associated with",
+ "description": "Project full path the issue is associated with.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -13060,7 +13060,7 @@
},
{
"name": "iid",
- "description": "The IID (internal ID) of a project issue. Only admins and project owners can modify",
+ "description": "The IID (internal ID) of a project issue. Only admins and project owners can modify.",
"type": {
"kind": "SCALAR",
"name": "Int",
@@ -13084,7 +13084,7 @@
},
{
"name": "milestoneId",
- "description": "The ID of the milestone to assign to the issue. On update milestone will be removed if set to null",
+ "description": "The ID of the milestone to assign to the issue. On update milestone will be removed if set to null.",
"type": {
"kind": "SCALAR",
"name": "MilestoneID",
@@ -13112,7 +13112,7 @@
},
{
"name": "labelIds",
- "description": "The IDs of labels to be added to the issue",
+ "description": "The IDs of labels to be added to the issue.",
"type": {
"kind": "LIST",
"name": null,
@@ -13130,7 +13130,7 @@
},
{
"name": "createdAt",
- "description": "Timestamp when the issue was created. Available only for admins and project owners",
+ "description": "Timestamp when the issue was created. Available only for admins and project owners.",
"type": {
"kind": "SCALAR",
"name": "Time",
@@ -13140,7 +13140,7 @@
},
{
"name": "mergeRequestToResolveDiscussionsOf",
- "description": "The IID of a merge request for which to resolve discussions",
+ "description": "The IID of a merge request for which to resolve discussions.",
"type": {
"kind": "SCALAR",
"name": "MergeRequestID",
@@ -13150,7 +13150,7 @@
},
{
"name": "discussionToResolve",
- "description": "The ID of a discussion to resolve. Also pass `merge_request_to_resolve_discussions_of`",
+ "description": "The ID of a discussion to resolve. Also pass `merge_request_to_resolve_discussions_of`.",
"type": {
"kind": "SCALAR",
"name": "String",
@@ -13160,7 +13160,7 @@
},
{
"name": "assigneeIds",
- "description": "The array of user IDs to assign to the issue",
+ "description": "The array of user IDs to assign to the issue.",
"type": {
"kind": "LIST",
"name": null,
@@ -13268,7 +13268,7 @@
},
{
"name": "issue",
- "description": "The issue after mutation",
+ "description": "The issue after mutation.",
"args": [
],
@@ -13444,7 +13444,7 @@
"inputFields": [
{
"name": "noteableId",
- "description": "The global ID of the resource to add a note to",
+ "description": "The global ID of the resource to add a note to.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -13482,7 +13482,7 @@
},
{
"name": "discussionId",
- "description": "The global ID of the discussion this note is in reply to",
+ "description": "The global ID of the discussion this note is in reply to.",
"type": {
"kind": "SCALAR",
"name": "DiscussionID",
@@ -13552,7 +13552,7 @@
},
{
"name": "note",
- "description": "The note after mutation",
+ "description": "The note after mutation.",
"args": [
],
@@ -13702,7 +13702,7 @@
"inputFields": [
{
"name": "title",
- "description": "Title of the snippet",
+ "description": "Title of the snippet.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -13716,7 +13716,7 @@
},
{
"name": "description",
- "description": "Description of the snippet",
+ "description": "Description of the snippet.",
"type": {
"kind": "SCALAR",
"name": "String",
@@ -13726,7 +13726,7 @@
},
{
"name": "visibilityLevel",
- "description": "The visibility level of the snippet",
+ "description": "The visibility level of the snippet.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -13740,7 +13740,7 @@
},
{
"name": "projectPath",
- "description": "The project full path the snippet is associated with",
+ "description": "The project full path the snippet is associated with.",
"type": {
"kind": "SCALAR",
"name": "ID",
@@ -13750,7 +13750,7 @@
},
{
"name": "uploadedFiles",
- "description": "The paths to files uploaded in the snippet description",
+ "description": "The paths to files uploaded in the snippet description.",
"type": {
"kind": "LIST",
"name": null,
@@ -13768,7 +13768,7 @@
},
{
"name": "blobActions",
- "description": "Actions to perform over the snippet repository and blobs",
+ "description": "Actions to perform over the snippet repository and blobs.",
"type": {
"kind": "LIST",
"name": null,
@@ -13846,7 +13846,7 @@
},
{
"name": "snippet",
- "description": "The snippet after mutation",
+ "description": "The snippet after mutation.",
"args": [
],
@@ -13860,7 +13860,7 @@
},
{
"name": "spam",
- "description": "Indicates whether the operation returns a record detected as spam",
+ "description": "Indicates whether the operation returns a record detected as spam.",
"args": [
],
@@ -16565,7 +16565,7 @@
"inputFields": [
{
"name": "id",
- "description": "Global ID of the annotation to delete",
+ "description": "Global ID of the annotation to delete.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -18340,7 +18340,7 @@
"inputFields": [
{
"name": "projectPath",
- "description": "The project where the issue is to upload designs for",
+ "description": "The project where the issue is to upload designs for.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -18354,7 +18354,7 @@
},
{
"name": "iid",
- "description": "The IID of the issue to modify designs for",
+ "description": "The IID of the issue to modify designs for.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -18368,7 +18368,7 @@
},
{
"name": "filenames",
- "description": "The filenames of the designs to delete",
+ "description": "The filenames of the designs to delete.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -18450,7 +18450,7 @@
},
{
"name": "version",
- "description": "The new version in which the designs are deleted",
+ "description": "The new version in which the designs are deleted.",
"args": [
],
@@ -18498,7 +18498,7 @@
"inputFields": [
{
"name": "id",
- "description": "ID of the design to move",
+ "description": "ID of the design to move.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -18512,7 +18512,7 @@
},
{
"name": "previous",
- "description": "ID of the immediately preceding design",
+ "description": "ID of the immediately preceding design.",
"type": {
"kind": "SCALAR",
"name": "DesignManagementDesignID",
@@ -18522,7 +18522,7 @@
},
{
"name": "next",
- "description": "ID of the immediately following design",
+ "description": "ID of the immediately following design.",
"type": {
"kind": "SCALAR",
"name": "DesignManagementDesignID",
@@ -18566,7 +18566,7 @@
},
{
"name": "designCollection",
- "description": "The current state of the collection",
+ "description": "The current state of the collection.",
"args": [
],
@@ -18620,7 +18620,7 @@
"inputFields": [
{
"name": "projectPath",
- "description": "The project where the issue is to upload designs for",
+ "description": "The project where the issue is to upload designs for.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -18634,7 +18634,7 @@
},
{
"name": "iid",
- "description": "The IID of the issue to modify designs for",
+ "description": "The IID of the issue to modify designs for.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -18648,7 +18648,7 @@
},
{
"name": "files",
- "description": "The files to upload",
+ "description": "The files to upload.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -18704,7 +18704,7 @@
},
{
"name": "designs",
- "description": "The designs that were uploaded by the mutation",
+ "description": "The designs that were uploaded by the mutation.",
"args": [
],
@@ -19199,7 +19199,7 @@
"inputFields": [
{
"name": "id",
- "description": "The global ID of the board to destroy",
+ "description": "The global ID of the board to destroy.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -19335,7 +19335,7 @@
"fields": [
{
"name": "board",
- "description": "The board after mutation",
+ "description": "The board after mutation.",
"args": [
],
@@ -19667,7 +19667,7 @@
},
{
"name": "deletedTagNames",
- "description": "Deleted container repository tags",
+ "description": "Deleted container repository tags.",
"args": [
],
@@ -19733,7 +19733,7 @@
"inputFields": [
{
"name": "id",
- "description": "The global ID of the note to destroy",
+ "description": "The global ID of the note to destroy.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -19807,7 +19807,7 @@
},
{
"name": "note",
- "description": "The note after mutation",
+ "description": "The note after mutation.",
"args": [
],
@@ -19835,7 +19835,7 @@
"inputFields": [
{
"name": "id",
- "description": "The global ID of the snippet to destroy",
+ "description": "The global ID of the snippet to destroy.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -19909,7 +19909,7 @@
},
{
"name": "snippet",
- "description": "The snippet after mutation",
+ "description": "The snippet after mutation.",
"args": [
],
@@ -21444,7 +21444,7 @@
"inputFields": [
{
"name": "id",
- "description": "The global ID of the discussion",
+ "description": "The global ID of the discussion.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -21458,7 +21458,7 @@
},
{
"name": "resolve",
- "description": "Will resolve the discussion when true, and unresolve the discussion when false",
+ "description": "Will resolve the discussion when true, and unresolve the discussion when false.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -21506,7 +21506,7 @@
},
{
"name": "discussion",
- "description": "The discussion after mutation",
+ "description": "The discussion after mutation.",
"args": [
],
@@ -22094,7 +22094,7 @@
"inputFields": [
{
"name": "id",
- "description": "The global ID of the environment to update",
+ "description": "The global ID of the environment to update.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -22108,7 +22108,7 @@
},
{
"name": "weight",
- "description": "The weight of the Canary Ingress",
+ "description": "The weight of the Canary Ingress.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -30351,7 +30351,7 @@
"inputFields": [
{
"name": "projectPath",
- "description": "The project to create the integration in",
+ "description": "The project to create the integration in.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -30365,7 +30365,7 @@
},
{
"name": "name",
- "description": "The name of the integration",
+ "description": "The name of the integration.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -30379,7 +30379,7 @@
},
{
"name": "active",
- "description": "Whether the integration is receiving alerts",
+ "description": "Whether the integration is receiving alerts.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -30453,7 +30453,7 @@
},
{
"name": "integration",
- "description": "The HTTP integration",
+ "description": "The HTTP integration.",
"args": [
],
@@ -30481,7 +30481,7 @@
"inputFields": [
{
"name": "id",
- "description": "The ID of the integration to remove",
+ "description": "The ID of the integration to remove.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -30555,7 +30555,7 @@
},
{
"name": "integration",
- "description": "The HTTP integration",
+ "description": "The HTTP integration.",
"args": [
],
@@ -30583,7 +30583,7 @@
"inputFields": [
{
"name": "id",
- "description": "The ID of the integration to mutate",
+ "description": "The ID of the integration to mutate.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -30657,7 +30657,7 @@
},
{
"name": "integration",
- "description": "The HTTP integration",
+ "description": "The HTTP integration.",
"args": [
],
@@ -30685,7 +30685,7 @@
"inputFields": [
{
"name": "id",
- "description": "The ID of the integration to mutate",
+ "description": "The ID of the integration to mutate.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -30699,7 +30699,7 @@
},
{
"name": "name",
- "description": "The name of the integration",
+ "description": "The name of the integration.",
"type": {
"kind": "SCALAR",
"name": "String",
@@ -30709,7 +30709,7 @@
},
{
"name": "active",
- "description": "Whether the integration is receiving alerts",
+ "description": "Whether the integration is receiving alerts.",
"type": {
"kind": "SCALAR",
"name": "Boolean",
@@ -30779,7 +30779,7 @@
},
{
"name": "integration",
- "description": "The HTTP integration",
+ "description": "The HTTP integration.",
"args": [
],
@@ -33167,7 +33167,7 @@
"inputFields": [
{
"name": "projectPath",
- "description": "The project the issue to mutate is in",
+ "description": "The project the issue to mutate is in.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -33181,7 +33181,7 @@
},
{
"name": "iid",
- "description": "The IID of the issue to mutate",
+ "description": "The IID of the issue to mutate.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -33195,7 +33195,7 @@
},
{
"name": "targetProjectPath",
- "description": "The project to move the issue to",
+ "description": "The project to move the issue to.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -33230,7 +33230,7 @@
"inputFields": [
{
"name": "projectPath",
- "description": "Project the issue to mutate is in",
+ "description": "Project the issue to mutate is in.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -33244,7 +33244,7 @@
},
{
"name": "iid",
- "description": "IID of the issue to mutate",
+ "description": "IID of the issue to mutate.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -33258,7 +33258,7 @@
},
{
"name": "boardId",
- "description": "Global ID of the board that the issue is in",
+ "description": "Global ID of the board that the issue is in.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -33272,7 +33272,7 @@
},
{
"name": "fromListId",
- "description": "ID of the board list that the issue will be moved from",
+ "description": "ID of the board list that the issue will be moved from.",
"type": {
"kind": "SCALAR",
"name": "ID",
@@ -33282,7 +33282,7 @@
},
{
"name": "toListId",
- "description": "ID of the board list that the issue will be moved to",
+ "description": "ID of the board list that the issue will be moved to.",
"type": {
"kind": "SCALAR",
"name": "ID",
@@ -33292,7 +33292,7 @@
},
{
"name": "moveBeforeId",
- "description": "ID of issue that should be placed before the current issue",
+ "description": "ID of issue that should be placed before the current issue.",
"type": {
"kind": "SCALAR",
"name": "ID",
@@ -33302,7 +33302,7 @@
},
{
"name": "moveAfterId",
- "description": "ID of issue that should be placed after the current issue",
+ "description": "ID of issue that should be placed after the current issue.",
"type": {
"kind": "SCALAR",
"name": "ID",
@@ -33382,7 +33382,7 @@
},
{
"name": "issue",
- "description": "The issue after mutation",
+ "description": "The issue after mutation.",
"args": [
],
@@ -33449,7 +33449,7 @@
},
{
"name": "issue",
- "description": "The issue after mutation",
+ "description": "The issue after mutation.",
"args": [
],
@@ -33634,7 +33634,7 @@
"inputFields": [
{
"name": "projectPath",
- "description": "The project the issue to mutate is in",
+ "description": "The project the issue to mutate is in.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -33648,7 +33648,7 @@
},
{
"name": "iid",
- "description": "The IID of the issue to mutate",
+ "description": "The IID of the issue to mutate.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -33754,7 +33754,7 @@
},
{
"name": "issue",
- "description": "The issue after mutation",
+ "description": "The issue after mutation.",
"args": [
],
@@ -33782,7 +33782,7 @@
"inputFields": [
{
"name": "projectPath",
- "description": "The project the issue to mutate is in",
+ "description": "The project the issue to mutate is in.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -33796,7 +33796,7 @@
},
{
"name": "iid",
- "description": "The IID of the issue to mutate",
+ "description": "The IID of the issue to mutate.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -33884,7 +33884,7 @@
},
{
"name": "issue",
- "description": "The issue after mutation",
+ "description": "The issue after mutation.",
"args": [
],
@@ -33912,7 +33912,7 @@
"inputFields": [
{
"name": "projectPath",
- "description": "The project the issue to mutate is in",
+ "description": "The project the issue to mutate is in.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -33926,7 +33926,7 @@
},
{
"name": "iid",
- "description": "The IID of the issue to mutate",
+ "description": "The IID of the issue to mutate.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -33940,7 +33940,7 @@
},
{
"name": "dueDate",
- "description": "The desired due date for the issue",
+ "description": "The desired due date for the issue.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -34014,7 +34014,7 @@
},
{
"name": "issue",
- "description": "The issue after mutation",
+ "description": "The issue after mutation.",
"args": [
],
@@ -34042,7 +34042,7 @@
"inputFields": [
{
"name": "projectPath",
- "description": "The project the issue to mutate is in",
+ "description": "The project the issue to mutate is in.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -34056,7 +34056,7 @@
},
{
"name": "iid",
- "description": "The IID of the issue to mutate",
+ "description": "The IID of the issue to mutate.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -34140,7 +34140,7 @@
},
{
"name": "issue",
- "description": "The issue after mutation",
+ "description": "The issue after mutation.",
"args": [
],
@@ -34168,7 +34168,7 @@
"inputFields": [
{
"name": "projectPath",
- "description": "The project the issue to mutate is in",
+ "description": "The project the issue to mutate is in.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -34182,7 +34182,7 @@
},
{
"name": "iid",
- "description": "The IID of the issue to mutate",
+ "description": "The IID of the issue to mutate.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -34266,7 +34266,7 @@
},
{
"name": "issue",
- "description": "The issue after mutation",
+ "description": "The issue after mutation.",
"args": [
],
@@ -34294,7 +34294,7 @@
"inputFields": [
{
"name": "projectPath",
- "description": "The project the issue to mutate is in",
+ "description": "The project the issue to mutate is in.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -34308,7 +34308,7 @@
},
{
"name": "iid",
- "description": "The IID of the issue to mutate",
+ "description": "The IID of the issue to mutate.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -34322,7 +34322,7 @@
},
{
"name": "locked",
- "description": "Whether or not to lock discussion on the issue",
+ "description": "Whether or not to lock discussion on the issue.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -34396,7 +34396,7 @@
},
{
"name": "issue",
- "description": "The issue after mutation",
+ "description": "The issue after mutation.",
"args": [
],
@@ -34424,7 +34424,7 @@
"inputFields": [
{
"name": "projectPath",
- "description": "The project the issue to mutate is in",
+ "description": "The project the issue to mutate is in.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -34438,7 +34438,7 @@
},
{
"name": "iid",
- "description": "The IID of the issue to mutate",
+ "description": "The IID of the issue to mutate.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -34526,7 +34526,7 @@
},
{
"name": "issue",
- "description": "The issue after mutation",
+ "description": "The issue after mutation.",
"args": [
],
@@ -34554,7 +34554,7 @@
"inputFields": [
{
"name": "projectPath",
- "description": "The project the issue to mutate is in",
+ "description": "The project the issue to mutate is in.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -34568,7 +34568,7 @@
},
{
"name": "iid",
- "description": "The IID of the issue to mutate",
+ "description": "The IID of the issue to mutate.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -34582,7 +34582,7 @@
},
{
"name": "subscribedState",
- "description": "The desired state of the subscription",
+ "description": "The desired state of the subscription.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -34656,7 +34656,7 @@
},
{
"name": "issue",
- "description": "The issue after mutation",
+ "description": "The issue after mutation.",
"args": [
],
@@ -34684,7 +34684,7 @@
"inputFields": [
{
"name": "projectPath",
- "description": "The project the issue to mutate is in",
+ "description": "The project the issue to mutate is in.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -34698,7 +34698,7 @@
},
{
"name": "iid",
- "description": "The IID of the issue to mutate",
+ "description": "The IID of the issue to mutate.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -34786,7 +34786,7 @@
},
{
"name": "issue",
- "description": "The issue after mutation",
+ "description": "The issue after mutation.",
"args": [
],
@@ -35817,7 +35817,7 @@
"inputFields": [
{
"name": "projectPath",
- "description": "The project to import the Jira project into",
+ "description": "The project to import the Jira project into.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -35831,7 +35831,7 @@
},
{
"name": "jiraProjectKey",
- "description": "Project key of the importer Jira project",
+ "description": "Project key of the importer Jira project.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -35845,7 +35845,7 @@
},
{
"name": "jiraProjectName",
- "description": "Project name of the importer Jira project",
+ "description": "Project name of the importer Jira project.",
"type": {
"kind": "SCALAR",
"name": "String",
@@ -35855,7 +35855,7 @@
},
{
"name": "usersMapping",
- "description": "The mapping of Jira to GitLab users",
+ "description": "The mapping of Jira to GitLab users.",
"type": {
"kind": "LIST",
"name": null,
@@ -35933,7 +35933,7 @@
},
{
"name": "jiraImport",
- "description": "The Jira import data after mutation",
+ "description": "The Jira import data after mutation.",
"args": [
],
@@ -35961,7 +35961,7 @@
"inputFields": [
{
"name": "projectPath",
- "description": "The project to import the Jira users into",
+ "description": "The project to import the Jira users into.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -35975,7 +35975,7 @@
},
{
"name": "startAt",
- "description": "The index of the record the import should started at, default 0 (50 records returned)",
+ "description": "The index of the record the import should started at, default 0 (50 records returned).",
"type": {
"kind": "SCALAR",
"name": "Int",
@@ -36875,7 +36875,7 @@
"inputFields": [
{
"name": "projectPath",
- "description": "The project full path the resource is associated with",
+ "description": "The project full path the resource is associated with.",
"type": {
"kind": "SCALAR",
"name": "ID",
@@ -36885,7 +36885,7 @@
},
{
"name": "groupPath",
- "description": "The group full path the resource is associated with",
+ "description": "The group full path the resource is associated with.",
"type": {
"kind": "SCALAR",
"name": "ID",
@@ -36895,7 +36895,7 @@
},
{
"name": "title",
- "description": "Title of the label",
+ "description": "Title of the label.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -36909,7 +36909,7 @@
},
{
"name": "description",
- "description": "Description of the label",
+ "description": "Description of the label.",
"type": {
"kind": "SCALAR",
"name": "String",
@@ -36919,7 +36919,7 @@
},
{
"name": "color",
- "description": "The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the CSS color names in https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Color_keywords",
+ "description": "The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the CSS color names in https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Color_keywords.",
"type": {
"kind": "SCALAR",
"name": "String",
@@ -36989,7 +36989,7 @@
},
{
"name": "label",
- "description": "The label after mutation",
+ "description": "The label after mutation.",
"args": [
],
@@ -37111,7 +37111,7 @@
"inputFields": [
{
"name": "id",
- "description": "The global ID of the snippet to update",
+ "description": "The global ID of the snippet to update.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -37185,7 +37185,7 @@
},
{
"name": "snippet",
- "description": "The snippet after mutation",
+ "description": "The snippet after mutation.",
"args": [
],
@@ -39381,7 +39381,7 @@
"inputFields": [
{
"name": "projectPath",
- "description": "Project full path the merge request is associated with",
+ "description": "Project full path the merge request is associated with.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -39525,7 +39525,7 @@
},
{
"name": "mergeRequest",
- "description": "The merge request after mutation",
+ "description": "The merge request after mutation.",
"args": [
],
@@ -40028,7 +40028,7 @@
"inputFields": [
{
"name": "projectPath",
- "description": "The project the merge request to mutate is in",
+ "description": "The project the merge request to mutate is in.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -40042,7 +40042,7 @@
},
{
"name": "iid",
- "description": "The IID of the merge request to mutate",
+ "description": "The IID of the merge request to mutate.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -40148,7 +40148,7 @@
},
{
"name": "mergeRequest",
- "description": "The merge request after mutation",
+ "description": "The merge request after mutation.",
"args": [
],
@@ -40176,7 +40176,7 @@
"inputFields": [
{
"name": "projectPath",
- "description": "The project the merge request to mutate is in",
+ "description": "The project the merge request to mutate is in.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -40190,7 +40190,7 @@
},
{
"name": "iid",
- "description": "The IID of the merge request to mutate",
+ "description": "The IID of the merge request to mutate.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -40296,7 +40296,7 @@
},
{
"name": "mergeRequest",
- "description": "The merge request after mutation",
+ "description": "The merge request after mutation.",
"args": [
],
@@ -40324,7 +40324,7 @@
"inputFields": [
{
"name": "projectPath",
- "description": "The project the merge request to mutate is in",
+ "description": "The project the merge request to mutate is in.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -40338,7 +40338,7 @@
},
{
"name": "iid",
- "description": "The IID of the merge request to mutate",
+ "description": "The IID of the merge request to mutate.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -40426,7 +40426,7 @@
},
{
"name": "mergeRequest",
- "description": "The merge request after mutation",
+ "description": "The merge request after mutation.",
"args": [
],
@@ -40454,7 +40454,7 @@
"inputFields": [
{
"name": "projectPath",
- "description": "The project the merge request to mutate is in",
+ "description": "The project the merge request to mutate is in.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -40468,7 +40468,7 @@
},
{
"name": "iid",
- "description": "The IID of the merge request to mutate",
+ "description": "The IID of the merge request to mutate.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -40552,7 +40552,7 @@
},
{
"name": "mergeRequest",
- "description": "The merge request after mutation",
+ "description": "The merge request after mutation.",
"args": [
],
@@ -40580,7 +40580,7 @@
"inputFields": [
{
"name": "projectPath",
- "description": "The project the merge request to mutate is in",
+ "description": "The project the merge request to mutate is in.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -40594,7 +40594,7 @@
},
{
"name": "iid",
- "description": "The IID of the merge request to mutate",
+ "description": "The IID of the merge request to mutate.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -40608,7 +40608,7 @@
},
{
"name": "subscribedState",
- "description": "The desired state of the subscription",
+ "description": "The desired state of the subscription.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -40682,7 +40682,7 @@
},
{
"name": "mergeRequest",
- "description": "The merge request after mutation",
+ "description": "The merge request after mutation.",
"args": [
],
@@ -40710,7 +40710,7 @@
"inputFields": [
{
"name": "projectPath",
- "description": "The project the merge request to mutate is in",
+ "description": "The project the merge request to mutate is in.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -40724,7 +40724,7 @@
},
{
"name": "iid",
- "description": "The IID of the merge request to mutate",
+ "description": "The IID of the merge request to mutate.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -40812,7 +40812,7 @@
},
{
"name": "mergeRequest",
- "description": "The merge request after mutation",
+ "description": "The merge request after mutation.",
"args": [
],
@@ -40988,7 +40988,7 @@
"inputFields": [
{
"name": "projectPath",
- "description": "The project the merge request to mutate is in",
+ "description": "The project the merge request to mutate is in.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -41002,7 +41002,7 @@
},
{
"name": "iid",
- "description": "The IID of the merge request to mutate",
+ "description": "The IID of the merge request to mutate.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -41106,7 +41106,7 @@
},
{
"name": "mergeRequest",
- "description": "The merge request after mutation",
+ "description": "The merge request after mutation.",
"args": [
],
@@ -56321,7 +56321,7 @@
"inputFields": [
{
"name": "projectPath",
- "description": "The project to create the integration in",
+ "description": "The project to create the integration in.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -56335,7 +56335,7 @@
},
{
"name": "active",
- "description": "Whether the integration is receiving alerts",
+ "description": "Whether the integration is receiving alerts.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -56349,7 +56349,7 @@
},
{
"name": "apiUrl",
- "description": "Endpoint at which prometheus can be queried",
+ "description": "Endpoint at which prometheus can be queried.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -56423,7 +56423,7 @@
},
{
"name": "integration",
- "description": "The newly created integration",
+ "description": "The newly created integration.",
"args": [
],
@@ -56451,7 +56451,7 @@
"inputFields": [
{
"name": "id",
- "description": "The ID of the integration to mutate",
+ "description": "The ID of the integration to mutate.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -56525,7 +56525,7 @@
},
{
"name": "integration",
- "description": "The newly created integration",
+ "description": "The newly created integration.",
"args": [
],
@@ -56553,7 +56553,7 @@
"inputFields": [
{
"name": "id",
- "description": "The ID of the integration to mutate",
+ "description": "The ID of the integration to mutate.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -56567,7 +56567,7 @@
},
{
"name": "active",
- "description": "Whether the integration is receiving alerts",
+ "description": "Whether the integration is receiving alerts.",
"type": {
"kind": "SCALAR",
"name": "Boolean",
@@ -56577,7 +56577,7 @@
},
{
"name": "apiUrl",
- "description": "Endpoint at which prometheus can be queried",
+ "description": "Endpoint at which prometheus can be queried.",
"type": {
"kind": "SCALAR",
"name": "String",
@@ -56647,7 +56647,7 @@
},
{
"name": "integration",
- "description": "The newly created integration",
+ "description": "The newly created integration.",
"args": [
],
@@ -56685,7 +56685,7 @@
"inputFields": [
{
"name": "projectPath",
- "description": "The project the issue to mutate is in",
+ "description": "The project the issue to mutate is in.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -56699,7 +56699,7 @@
},
{
"name": "iid",
- "description": "The IID of the issue to mutate",
+ "description": "The IID of the issue to mutate.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -56797,7 +56797,7 @@
},
{
"name": "issue",
- "description": "The issue after mutation",
+ "description": "The issue after mutation.",
"args": [
],
@@ -59048,7 +59048,7 @@
"inputFields": [
{
"name": "projectPath",
- "description": "Full path of the project the release is associated with",
+ "description": "Full path of the project the release is associated with.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -59062,7 +59062,7 @@
},
{
"name": "tagName",
- "description": "Name of the tag to associate with the release",
+ "description": "Name of the tag to associate with the release.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -59076,7 +59076,7 @@
},
{
"name": "ref",
- "description": "The commit SHA or branch name to use if creating a new tag",
+ "description": "The commit SHA or branch name to use if creating a new tag.",
"type": {
"kind": "SCALAR",
"name": "String",
@@ -59086,7 +59086,7 @@
},
{
"name": "name",
- "description": "Name of the release",
+ "description": "Name of the release.",
"type": {
"kind": "SCALAR",
"name": "String",
@@ -59096,7 +59096,7 @@
},
{
"name": "description",
- "description": "Description (also known as \"release notes\") of the release",
+ "description": "Description (also known as \"release notes\") of the release.",
"type": {
"kind": "SCALAR",
"name": "String",
@@ -59134,7 +59134,7 @@
},
{
"name": "assets",
- "description": "Assets associated to the release",
+ "description": "Assets associated to the release.",
"type": {
"kind": "INPUT_OBJECT",
"name": "ReleaseAssetsInput",
@@ -59204,7 +59204,7 @@
},
{
"name": "release",
- "description": "The release after mutation",
+ "description": "The release after mutation.",
"args": [
],
@@ -59232,7 +59232,7 @@
"inputFields": [
{
"name": "projectPath",
- "description": "Full path of the project the release is associated with",
+ "description": "Full path of the project the release is associated with.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -59877,7 +59877,7 @@
"inputFields": [
{
"name": "projectPath",
- "description": "Full path of the project the release is associated with",
+ "description": "Full path of the project the release is associated with.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -59891,7 +59891,7 @@
},
{
"name": "tagName",
- "description": "Name of the tag associated with the release",
+ "description": "Name of the tag associated with the release.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -59905,7 +59905,7 @@
},
{
"name": "name",
- "description": "Name of the release",
+ "description": "Name of the release.",
"type": {
"kind": "SCALAR",
"name": "String",
@@ -59915,7 +59915,7 @@
},
{
"name": "description",
- "description": "Description (release notes) of the release",
+ "description": "Description (release notes) of the release.",
"type": {
"kind": "SCALAR",
"name": "String",
@@ -59925,7 +59925,7 @@
},
{
"name": "releasedAt",
- "description": "The release date",
+ "description": "The release date.",
"type": {
"kind": "SCALAR",
"name": "Time",
@@ -60041,7 +60041,7 @@
"inputFields": [
{
"name": "awardableId",
- "description": "The global ID of the awardable resource",
+ "description": "The global ID of the awardable resource.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -60089,7 +60089,7 @@
"fields": [
{
"name": "awardEmoji",
- "description": "The award emoji after mutation",
+ "description": "The award emoji after mutation.",
"args": [
],
@@ -60245,7 +60245,7 @@
"inputFields": [
{
"name": "id",
- "description": "The global ID of the DiffNote to update",
+ "description": "The global ID of the DiffNote to update.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -60333,7 +60333,7 @@
},
{
"name": "note",
- "description": "The note after mutation",
+ "description": "The note after mutation.",
"args": [
],
@@ -67552,7 +67552,7 @@
"inputFields": [
{
"name": "id",
- "description": "Global ID of the Terraform state",
+ "description": "Global ID of the Terraform state.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -67695,7 +67695,7 @@
"inputFields": [
{
"name": "id",
- "description": "Global ID of the Terraform state",
+ "description": "Global ID of the Terraform state.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -67783,7 +67783,7 @@
"inputFields": [
{
"name": "id",
- "description": "Global ID of the Terraform state",
+ "description": "Global ID of the Terraform state.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -69183,7 +69183,7 @@
"inputFields": [
{
"name": "targetId",
- "description": "The global ID of the to-do item's parent. Issues, merge requests, designs and epics are supported",
+ "description": "The global ID of the to-do item's parent. Issues, merge requests, designs and epics are supported.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -69257,7 +69257,7 @@
},
{
"name": "todo",
- "description": "The to-do created",
+ "description": "The to-do created.",
"args": [
],
@@ -69340,7 +69340,7 @@
"inputFields": [
{
"name": "id",
- "description": "The global ID of the todo to mark as done",
+ "description": "The global ID of the todo to mark as done.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -69414,7 +69414,7 @@
},
{
"name": "todo",
- "description": "The requested todo",
+ "description": "The requested todo.",
"args": [
],
@@ -69446,7 +69446,7 @@
"inputFields": [
{
"name": "id",
- "description": "The global ID of the todo to restore",
+ "description": "The global ID of the todo to restore.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -69481,7 +69481,7 @@
"inputFields": [
{
"name": "ids",
- "description": "The global IDs of the todos to restore (a maximum of 50 is supported at once)",
+ "description": "The global IDs of the todos to restore (a maximum of 50 is supported at once).",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -69563,7 +69563,7 @@
},
{
"name": "todos",
- "description": "Updated todos",
+ "description": "Updated todos.",
"args": [
],
@@ -69589,7 +69589,7 @@
},
{
"name": "updatedIds",
- "description": "The IDs of the updated todo items Deprecated in 13.2: Use todos.",
+ "description": "The IDs of the updated todo items. Deprecated in 13.2: Use todos.",
"args": [
],
@@ -69668,7 +69668,7 @@
},
{
"name": "todo",
- "description": "The requested todo",
+ "description": "The requested todo.",
"args": [
],
@@ -69840,7 +69840,7 @@
},
{
"name": "todos",
- "description": "Updated todos",
+ "description": "Updated todos.",
"args": [
],
@@ -69866,7 +69866,7 @@
},
{
"name": "updatedIds",
- "description": "Ids of the updated todos Deprecated in 13.2: Use todos.",
+ "description": "Ids of the updated todos. Deprecated in 13.2: Use todos.",
"args": [
],
@@ -69906,7 +69906,7 @@
"inputFields": [
{
"name": "awardableId",
- "description": "The global ID of the awardable resource",
+ "description": "The global ID of the awardable resource.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -69954,7 +69954,7 @@
"fields": [
{
"name": "awardEmoji",
- "description": "The award emoji after mutation",
+ "description": "The award emoji after mutation.",
"args": [
],
@@ -70536,7 +70536,7 @@
"inputFields": [
{
"name": "projectPath",
- "description": "The project the alert to mutate is in",
+ "description": "The project the alert to mutate is in.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -70550,7 +70550,7 @@
},
{
"name": "iid",
- "description": "The IID of the alert to mutate",
+ "description": "The IID of the alert to mutate.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -70564,7 +70564,7 @@
},
{
"name": "status",
- "description": "The status to set the alert",
+ "description": "The status to set the alert.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -70598,7 +70598,7 @@
"fields": [
{
"name": "alert",
- "description": "The alert after mutation",
+ "description": "The alert after mutation.",
"args": [
],
@@ -70652,7 +70652,7 @@
},
{
"name": "issue",
- "description": "The issue created after mutation",
+ "description": "The issue created after mutation.",
"args": [
],
@@ -70666,7 +70666,7 @@
},
{
"name": "todo",
- "description": "The todo after mutation",
+ "description": "The todo after mutation.",
"args": [
],
@@ -70979,7 +70979,7 @@
},
{
"name": "position",
- "description": "Position of list within the board",
+ "description": "Position of list within the board.",
"type": {
"kind": "SCALAR",
"name": "Int",
@@ -70989,7 +70989,7 @@
},
{
"name": "collapsed",
- "description": "Indicates if list is collapsed for this user",
+ "description": "Indicates if list is collapsed for this user.",
"type": {
"kind": "SCALAR",
"name": "Boolean",
@@ -71059,7 +71059,7 @@
},
{
"name": "list",
- "description": "Mutated list",
+ "description": "Mutated list.",
"args": [
],
@@ -71270,7 +71270,7 @@
"inputFields": [
{
"name": "projectPath",
- "description": "The project path where the container expiration policy is located",
+ "description": "The project path where the container expiration policy is located.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -71378,7 +71378,7 @@
},
{
"name": "containerExpirationPolicy",
- "description": "The container expiration policy after mutation",
+ "description": "The container expiration policy after mutation.",
"args": [
],
@@ -71849,7 +71849,7 @@
"inputFields": [
{
"name": "id",
- "description": "The global ID of the note to update",
+ "description": "The global ID of the note to update.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -71943,7 +71943,7 @@
},
{
"name": "note",
- "description": "The note after mutation",
+ "description": "The note after mutation.",
"args": [
],
@@ -71971,7 +71971,7 @@
"inputFields": [
{
"name": "projectPath",
- "description": "The project the issue to mutate is in",
+ "description": "The project the issue to mutate is in.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -71985,7 +71985,7 @@
},
{
"name": "iid",
- "description": "The IID of the issue to mutate",
+ "description": "The IID of the issue to mutate.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -72049,7 +72049,7 @@
},
{
"name": "milestoneId",
- "description": "The ID of the milestone to assign to the issue. On update milestone will be removed if set to null",
+ "description": "The ID of the milestone to assign to the issue. On update milestone will be removed if set to null.",
"type": {
"kind": "SCALAR",
"name": "ID",
@@ -72059,7 +72059,7 @@
},
{
"name": "addLabelIds",
- "description": "The IDs of labels to be added to the issue",
+ "description": "The IDs of labels to be added to the issue.",
"type": {
"kind": "LIST",
"name": null,
@@ -72077,7 +72077,7 @@
},
{
"name": "removeLabelIds",
- "description": "The IDs of labels to be removed from the issue",
+ "description": "The IDs of labels to be removed from the issue.",
"type": {
"kind": "LIST",
"name": null,
@@ -72095,7 +72095,7 @@
},
{
"name": "stateEvent",
- "description": "Close or reopen an issue",
+ "description": "Close or reopen an issue.",
"type": {
"kind": "ENUM",
"name": "IssueStateEvent",
@@ -72195,7 +72195,7 @@
},
{
"name": "issue",
- "description": "The issue after mutation",
+ "description": "The issue after mutation.",
"args": [
],
@@ -72501,7 +72501,7 @@
"inputFields": [
{
"name": "id",
- "description": "The global ID of the note to update",
+ "description": "The global ID of the note to update.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -72595,7 +72595,7 @@
},
{
"name": "note",
- "description": "The note after mutation",
+ "description": "The note after mutation.",
"args": [
],
@@ -72779,7 +72779,7 @@
"inputFields": [
{
"name": "id",
- "description": "The global ID of the snippet to update",
+ "description": "The global ID of the snippet to update.",
"type": {
"kind": "NON_NULL",
"name": null,
@@ -72793,7 +72793,7 @@
},
{
"name": "title",
- "description": "Title of the snippet",
+ "description": "Title of the snippet.",
"type": {
"kind": "SCALAR",
"name": "String",
@@ -72803,7 +72803,7 @@
},
{
"name": "description",
- "description": "Description of the snippet",
+ "description": "Description of the snippet.",
"type": {
"kind": "SCALAR",
"name": "String",
@@ -72813,7 +72813,7 @@
},
{
"name": "visibilityLevel",
- "description": "The visibility level of the snippet",
+ "description": "The visibility level of the snippet.",
"type": {
"kind": "ENUM",
"name": "VisibilityLevelsEnum",
@@ -72823,7 +72823,7 @@
},
{
"name": "blobActions",
- "description": "Actions to perform over the snippet repository and blobs",
+ "description": "Actions to perform over the snippet repository and blobs.",
"type": {
"kind": "LIST",
"name": null,
@@ -72901,7 +72901,7 @@
},
{
"name": "snippet",
- "description": "The snippet after mutation",
+ "description": "The snippet after mutation.",
"args": [
],
@@ -72915,7 +72915,7 @@
},
{
"name": "spam",
- "description": "Indicates whether the operation returns a record detected as spam",
+ "description": "Indicates whether the operation returns a record detected as spam.",
"args": [
],
diff --git a/doc/api/graphql/reference/index.md b/doc/api/graphql/reference/index.md
index 9bbd47a041e..36137c241a5 100644
--- a/doc/api/graphql/reference/index.md
+++ b/doc/api/graphql/reference/index.md
@@ -50,7 +50,7 @@ Autogenerated return type of AddAwardEmoji.
| Field | Type | Description |
| ----- | ---- | ----------- |
-| `awardEmoji` | AwardEmoji | The award emoji after mutation |
+| `awardEmoji` | AwardEmoji | The award emoji after mutation. |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
@@ -72,7 +72,7 @@ Autogenerated return type of AdminSidekiqQueuesDeleteJobs.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `result` | DeleteJobsResponse | Information about the status of the deletion request |
+| `result` | DeleteJobsResponse | Information about the status of the deletion request. |
### AlertManagementAlert
@@ -152,11 +152,11 @@ Autogenerated return type of AlertSetAssignees.
| Field | Type | Description |
| ----- | ---- | ----------- |
-| `alert` | AlertManagementAlert | The alert after mutation |
+| `alert` | AlertManagementAlert | The alert after mutation. |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `issue` | Issue | The issue created after mutation |
-| `todo` | Todo | The todo after mutation |
+| `issue` | Issue | The issue created after mutation. |
+| `todo` | Todo | The todo after mutation. |
### AlertTodoCreatePayload
@@ -164,11 +164,11 @@ Autogenerated return type of AlertTodoCreate.
| Field | Type | Description |
| ----- | ---- | ----------- |
-| `alert` | AlertManagementAlert | The alert after mutation |
+| `alert` | AlertManagementAlert | The alert after mutation. |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `issue` | Issue | The issue created after mutation |
-| `todo` | Todo | The todo after mutation |
+| `issue` | Issue | The issue created after mutation. |
+| `todo` | Todo | The todo after mutation. |
### AwardEmoji
@@ -189,7 +189,7 @@ Autogenerated return type of AwardEmojiAdd.
| Field | Type | Description |
| ----- | ---- | ----------- |
-| `awardEmoji` | AwardEmoji | The award emoji after mutation |
+| `awardEmoji` | AwardEmoji | The award emoji after mutation. |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
@@ -199,7 +199,7 @@ Autogenerated return type of AwardEmojiRemove.
| Field | Type | Description |
| ----- | ---- | ----------- |
-| `awardEmoji` | AwardEmoji | The award emoji after mutation |
+| `awardEmoji` | AwardEmoji | The award emoji after mutation. |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
@@ -209,7 +209,7 @@ Autogenerated return type of AwardEmojiToggle.
| Field | Type | Description |
| ----- | ---- | ----------- |
-| `awardEmoji` | AwardEmoji | The award emoji after mutation |
+| `awardEmoji` | AwardEmoji | The award emoji after mutation. |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
| `toggledOn` | Boolean! | Indicates the status of the emoji. True if the toggle awarded the emoji, and false if the toggle removed the emoji. |
@@ -344,7 +344,7 @@ Autogenerated return type of BoardListCreate.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `list` | BoardList | List of the issue board |
+| `list` | BoardList | List of the issue board. |
### BoardListUpdateLimitMetricsPayload
@@ -552,7 +552,7 @@ Autogenerated return type of CommitCreate.
| Field | Type | Description |
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
-| `commit` | Commit | The commit after mutation |
+| `commit` | Commit | The commit after mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
### ComplianceFramework
@@ -654,11 +654,11 @@ Autogenerated return type of CreateAlertIssue.
| Field | Type | Description |
| ----- | ---- | ----------- |
-| `alert` | AlertManagementAlert | The alert after mutation |
+| `alert` | AlertManagementAlert | The alert after mutation. |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `issue` | Issue | The issue created after mutation |
-| `todo` | Todo | The todo after mutation |
+| `issue` | Issue | The issue created after mutation. |
+| `todo` | Todo | The todo after mutation. |
### CreateAnnotationPayload
@@ -666,7 +666,7 @@ Autogenerated return type of CreateAnnotation.
| Field | Type | Description |
| ----- | ---- | ----------- |
-| `annotation` | MetricsDashboardAnnotation | The created annotation |
+| `annotation` | MetricsDashboardAnnotation | The created annotation. |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
@@ -686,7 +686,7 @@ Autogenerated return type of CreateBranch.
| Field | Type | Description |
| ----- | ---- | ----------- |
-| `branch` | Branch | Branch after mutation |
+| `branch` | Branch | Branch after mutation. |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
@@ -717,7 +717,7 @@ Autogenerated return type of CreateCustomEmoji.
| Field | Type | Description |
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
-| `customEmoji` | CustomEmoji | The new custom emoji |
+| `customEmoji` | CustomEmoji | The new custom emoji. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
### CreateDevopsAdoptionSegmentPayload
@@ -738,7 +738,7 @@ Autogenerated return type of CreateDiffNote.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `note` | Note | The note after mutation |
+| `note` | Note | The note after mutation. |
### CreateEpicPayload
@@ -758,7 +758,7 @@ Autogenerated return type of CreateImageDiffNote.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `note` | Note | The note after mutation |
+| `note` | Note | The note after mutation. |
### CreateIssuePayload
@@ -768,7 +768,7 @@ Autogenerated return type of CreateIssue.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `issue` | Issue | The issue after mutation |
+| `issue` | Issue | The issue after mutation. |
### CreateIterationPayload
@@ -788,7 +788,7 @@ Autogenerated return type of CreateNote.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `note` | Note | The note after mutation |
+| `note` | Note | The note after mutation. |
### CreateRequirementPayload
@@ -808,8 +808,8 @@ Autogenerated return type of CreateSnippet.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `snippet` | Snippet | The snippet after mutation |
-| `spam` | Boolean | Indicates whether the operation returns a record detected as spam |
+| `snippet` | Snippet | The snippet after mutation. |
+| `spam` | Boolean | Indicates whether the operation returns a record detected as spam. |
### CreateTestCasePayload
@@ -1070,7 +1070,7 @@ Autogenerated return type of DesignManagementDelete.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `version` | DesignVersion | The new version in which the designs are deleted |
+| `version` | DesignVersion | The new version in which the designs are deleted. |
### DesignManagementMovePayload
@@ -1079,7 +1079,7 @@ Autogenerated return type of DesignManagementMove.
| Field | Type | Description |
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
-| `designCollection` | DesignCollection | The current state of the collection |
+| `designCollection` | DesignCollection | The current state of the collection. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
### DesignManagementUploadPayload
@@ -1089,7 +1089,7 @@ Autogenerated return type of DesignManagementUpload.
| Field | Type | Description |
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
-| `designs` | Design! => Array | The designs that were uploaded by the mutation |
+| `designs` | Design! => Array | The designs that were uploaded by the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
| `skippedDesigns` | Design! => Array | Any designs that were skipped from the upload due to there being no change to their content since their last version |
@@ -1121,7 +1121,7 @@ Autogenerated return type of DestroyBoard.
| Field | Type | Description |
| ----- | ---- | ----------- |
-| `board` | Board | The board after mutation |
+| `board` | Board | The board after mutation. |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
@@ -1151,7 +1151,7 @@ Autogenerated return type of DestroyContainerRepositoryTags.
| Field | Type | Description |
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
-| `deletedTagNames` | String! => Array | Deleted container repository tags |
+| `deletedTagNames` | String! => Array | Deleted container repository tags. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
### DestroyNotePayload
@@ -1162,7 +1162,7 @@ Autogenerated return type of DestroyNote.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `note` | Note | The note after mutation |
+| `note` | Note | The note after mutation. |
### DestroySnippetPayload
@@ -1172,7 +1172,7 @@ Autogenerated return type of DestroySnippet.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `snippet` | Snippet | The snippet after mutation |
+| `snippet` | Snippet | The snippet after mutation. |
### DetailedStatus
@@ -1281,7 +1281,7 @@ Autogenerated return type of DiscussionToggleResolve.
| Field | Type | Description |
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
-| `discussion` | Discussion | The discussion after mutation |
+| `discussion` | Discussion | The discussion after mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
### DismissVulnerabilityPayload
@@ -1689,7 +1689,7 @@ Autogenerated return type of HttpIntegrationCreate.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `integration` | AlertManagementHttpIntegration | The HTTP integration |
+| `integration` | AlertManagementHttpIntegration | The HTTP integration. |
### HttpIntegrationDestroyPayload
@@ -1699,7 +1699,7 @@ Autogenerated return type of HttpIntegrationDestroy.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `integration` | AlertManagementHttpIntegration | The HTTP integration |
+| `integration` | AlertManagementHttpIntegration | The HTTP integration. |
### HttpIntegrationResetTokenPayload
@@ -1709,7 +1709,7 @@ Autogenerated return type of HttpIntegrationResetToken.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `integration` | AlertManagementHttpIntegration | The HTTP integration |
+| `integration` | AlertManagementHttpIntegration | The HTTP integration. |
### HttpIntegrationUpdatePayload
@@ -1719,7 +1719,7 @@ Autogenerated return type of HttpIntegrationUpdate.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `integration` | AlertManagementHttpIntegration | The HTTP integration |
+| `integration` | AlertManagementHttpIntegration | The HTTP integration. |
### IncidentManagementOncallRotation
@@ -1832,7 +1832,7 @@ Autogenerated return type of IssueMoveList.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `issue` | Issue | The issue after mutation |
+| `issue` | Issue | The issue after mutation. |
### IssueMovePayload
@@ -1842,7 +1842,7 @@ Autogenerated return type of IssueMove.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `issue` | Issue | The issue after mutation |
+| `issue` | Issue | The issue after mutation. |
### IssuePermissions
@@ -1867,7 +1867,7 @@ Autogenerated return type of IssueSetAssignees.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `issue` | Issue | The issue after mutation |
+| `issue` | Issue | The issue after mutation. |
### IssueSetConfidentialPayload
@@ -1877,7 +1877,7 @@ Autogenerated return type of IssueSetConfidential.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `issue` | Issue | The issue after mutation |
+| `issue` | Issue | The issue after mutation. |
### IssueSetDueDatePayload
@@ -1887,7 +1887,7 @@ Autogenerated return type of IssueSetDueDate.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `issue` | Issue | The issue after mutation |
+| `issue` | Issue | The issue after mutation. |
### IssueSetEpicPayload
@@ -1897,7 +1897,7 @@ Autogenerated return type of IssueSetEpic.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `issue` | Issue | The issue after mutation |
+| `issue` | Issue | The issue after mutation. |
### IssueSetIterationPayload
@@ -1907,7 +1907,7 @@ Autogenerated return type of IssueSetIteration.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `issue` | Issue | The issue after mutation |
+| `issue` | Issue | The issue after mutation. |
### IssueSetLockedPayload
@@ -1917,7 +1917,7 @@ Autogenerated return type of IssueSetLocked.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `issue` | Issue | The issue after mutation |
+| `issue` | Issue | The issue after mutation. |
### IssueSetSeverityPayload
@@ -1927,7 +1927,7 @@ Autogenerated return type of IssueSetSeverity.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `issue` | Issue | The issue after mutation |
+| `issue` | Issue | The issue after mutation. |
### IssueSetSubscriptionPayload
@@ -1937,7 +1937,7 @@ Autogenerated return type of IssueSetSubscription.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `issue` | Issue | The issue after mutation |
+| `issue` | Issue | The issue after mutation. |
### IssueSetWeightPayload
@@ -1947,7 +1947,7 @@ Autogenerated return type of IssueSetWeight.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `issue` | Issue | The issue after mutation |
+| `issue` | Issue | The issue after mutation. |
### IssueStatusCountsType
@@ -2001,7 +2001,7 @@ Autogenerated return type of JiraImportStart.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `jiraImport` | JiraImport | The Jira import data after mutation |
+| `jiraImport` | JiraImport | The Jira import data after mutation. |
### JiraImportUsersPayload
@@ -2059,7 +2059,7 @@ Autogenerated return type of LabelCreate.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `label` | Label | The label after mutation |
+| `label` | Label | The label after mutation. |
### MarkAsSpamSnippetPayload
@@ -2069,7 +2069,7 @@ Autogenerated return type of MarkAsSpamSnippet.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `snippet` | Snippet | The snippet after mutation |
+| `snippet` | Snippet | The snippet after mutation. |
### MergeRequest
@@ -2164,7 +2164,7 @@ Autogenerated return type of MergeRequestCreate.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `mergeRequest` | MergeRequest | The merge request after mutation |
+| `mergeRequest` | MergeRequest | The merge request after mutation. |
### MergeRequestDiffRegistry
@@ -2205,7 +2205,7 @@ Autogenerated return type of MergeRequestSetAssignees.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `mergeRequest` | MergeRequest | The merge request after mutation |
+| `mergeRequest` | MergeRequest | The merge request after mutation. |
### MergeRequestSetLabelsPayload
@@ -2215,7 +2215,7 @@ Autogenerated return type of MergeRequestSetLabels.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `mergeRequest` | MergeRequest | The merge request after mutation |
+| `mergeRequest` | MergeRequest | The merge request after mutation. |
### MergeRequestSetLockedPayload
@@ -2225,7 +2225,7 @@ Autogenerated return type of MergeRequestSetLocked.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `mergeRequest` | MergeRequest | The merge request after mutation |
+| `mergeRequest` | MergeRequest | The merge request after mutation. |
### MergeRequestSetMilestonePayload
@@ -2235,7 +2235,7 @@ Autogenerated return type of MergeRequestSetMilestone.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `mergeRequest` | MergeRequest | The merge request after mutation |
+| `mergeRequest` | MergeRequest | The merge request after mutation. |
### MergeRequestSetSubscriptionPayload
@@ -2245,7 +2245,7 @@ Autogenerated return type of MergeRequestSetSubscription.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `mergeRequest` | MergeRequest | The merge request after mutation |
+| `mergeRequest` | MergeRequest | The merge request after mutation. |
### MergeRequestSetWipPayload
@@ -2255,7 +2255,7 @@ Autogenerated return type of MergeRequestSetWip.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `mergeRequest` | MergeRequest | The merge request after mutation |
+| `mergeRequest` | MergeRequest | The merge request after mutation. |
### MergeRequestUpdatePayload
@@ -2265,7 +2265,7 @@ Autogenerated return type of MergeRequestUpdate.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `mergeRequest` | MergeRequest | The merge request after mutation |
+| `mergeRequest` | MergeRequest | The merge request after mutation. |
### Metadata
@@ -2799,7 +2799,7 @@ Autogenerated return type of PrometheusIntegrationCreate.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `integration` | AlertManagementPrometheusIntegration | The newly created integration |
+| `integration` | AlertManagementPrometheusIntegration | The newly created integration. |
### PrometheusIntegrationResetTokenPayload
@@ -2809,7 +2809,7 @@ Autogenerated return type of PrometheusIntegrationResetToken.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `integration` | AlertManagementPrometheusIntegration | The newly created integration |
+| `integration` | AlertManagementPrometheusIntegration | The newly created integration. |
### PrometheusIntegrationUpdatePayload
@@ -2819,7 +2819,7 @@ Autogenerated return type of PrometheusIntegrationUpdate.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `integration` | AlertManagementPrometheusIntegration | The newly created integration |
+| `integration` | AlertManagementPrometheusIntegration | The newly created integration. |
### PromoteToEpicPayload
@@ -2830,7 +2830,7 @@ Autogenerated return type of PromoteToEpic.
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `epic` | Epic | The epic after issue promotion |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `issue` | Issue | The issue after mutation |
+| `issue` | Issue | The issue after mutation. |
### Release
@@ -2884,7 +2884,7 @@ Autogenerated return type of ReleaseCreate.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `release` | Release | The release after mutation |
+| `release` | Release | The release after mutation. |
### ReleaseDeletePayload
@@ -2944,7 +2944,7 @@ Autogenerated return type of RemoveAwardEmoji.
| Field | Type | Description |
| ----- | ---- | ----------- |
-| `awardEmoji` | AwardEmoji | The award emoji after mutation |
+| `awardEmoji` | AwardEmoji | The award emoji after mutation. |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
@@ -2965,7 +2965,7 @@ Autogenerated return type of RepositionImageDiffNote.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `note` | Note | The note after mutation |
+| `note` | Note | The note after mutation. |
### Repository
@@ -3538,7 +3538,7 @@ Autogenerated return type of TodoCreate.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `todo` | Todo | The to-do created |
+| `todo` | Todo | The to-do created. |
### TodoMarkDonePayload
@@ -3548,7 +3548,7 @@ Autogenerated return type of TodoMarkDone.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `todo` | Todo! | The requested todo |
+| `todo` | Todo! | The requested todo. |
### TodoRestoreManyPayload
@@ -3558,7 +3558,7 @@ Autogenerated return type of TodoRestoreMany.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `todos` | Todo! => Array | Updated todos |
+| `todos` | Todo! => Array | Updated todos. |
| `updatedIds` **{warning-solid}** | TodoID! => Array | **Deprecated:** Use todos. Deprecated in 13.2. |
### TodoRestorePayload
@@ -3569,7 +3569,7 @@ Autogenerated return type of TodoRestore.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `todo` | Todo! | The requested todo |
+| `todo` | Todo! | The requested todo. |
### TodosMarkAllDonePayload
@@ -3579,7 +3579,7 @@ Autogenerated return type of TodosMarkAllDone.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `todos` | Todo! => Array | Updated todos |
+| `todos` | Todo! => Array | Updated todos. |
| `updatedIds` **{warning-solid}** | TodoID! => Array | **Deprecated:** Use todos. Deprecated in 13.2. |
### ToggleAwardEmojiPayload
@@ -3588,7 +3588,7 @@ Autogenerated return type of ToggleAwardEmoji.
| Field | Type | Description |
| ----- | ---- | ----------- |
-| `awardEmoji` | AwardEmoji | The award emoji after mutation |
+| `awardEmoji` | AwardEmoji | The award emoji after mutation. |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
| `toggledOn` | Boolean! | Indicates the status of the emoji. True if the toggle awarded the emoji, and false if the toggle removed the emoji. |
@@ -3623,11 +3623,11 @@ Autogenerated return type of UpdateAlertStatus.
| Field | Type | Description |
| ----- | ---- | ----------- |
-| `alert` | AlertManagementAlert | The alert after mutation |
+| `alert` | AlertManagementAlert | The alert after mutation. |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `issue` | Issue | The issue created after mutation |
-| `todo` | Todo | The todo after mutation |
+| `issue` | Issue | The issue created after mutation. |
+| `todo` | Todo | The todo after mutation. |
### UpdateBoardEpicUserPreferencesPayload
@@ -3647,7 +3647,7 @@ Autogenerated return type of UpdateBoardList.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `list` | BoardList | Mutated list |
+| `list` | BoardList | Mutated list. |
### UpdateBoardPayload
@@ -3676,7 +3676,7 @@ Autogenerated return type of UpdateContainerExpirationPolicy.
| Field | Type | Description |
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
-| `containerExpirationPolicy` | ContainerExpirationPolicy | The container expiration policy after mutation |
+| `containerExpirationPolicy` | ContainerExpirationPolicy | The container expiration policy after mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
### UpdateDevopsAdoptionSegmentPayload
@@ -3707,7 +3707,7 @@ Autogenerated return type of UpdateImageDiffNote.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `note` | Note | The note after mutation |
+| `note` | Note | The note after mutation. |
### UpdateIssuePayload
@@ -3717,7 +3717,7 @@ Autogenerated return type of UpdateIssue.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `issue` | Issue | The issue after mutation |
+| `issue` | Issue | The issue after mutation. |
### UpdateIterationPayload
@@ -3747,7 +3747,7 @@ Autogenerated return type of UpdateNote.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `note` | Note | The note after mutation |
+| `note` | Note | The note after mutation. |
### UpdateRequirementPayload
@@ -3767,8 +3767,8 @@ Autogenerated return type of UpdateSnippet.
| ----- | ---- | ----------- |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Errors encountered during execution of the mutation. |
-| `snippet` | Snippet | The snippet after mutation |
-| `spam` | Boolean | Indicates whether the operation returns a record detected as spam |
+| `snippet` | Snippet | The snippet after mutation. |
+| `spam` | Boolean | Indicates whether the operation returns a record detected as spam. |
### User
diff --git a/doc/development/product_analytics/usage_ping.md b/doc/development/product_analytics/usage_ping.md
index 7f4dad172ec..535c8d9fe9d 100644
--- a/doc/development/product_analytics/usage_ping.md
+++ b/doc/development/product_analytics/usage_ping.md
@@ -114,9 +114,9 @@ sequenceDiagram
## How Usage Ping works
1. The Usage Ping [cron job](https://gitlab.com/gitlab-org/gitlab/-/blob/master/app/workers/gitlab_usage_ping_worker.rb#L30) is set in Sidekiq to run weekly.
-1. When the cron job runs, it calls [`GitLab::UsageData.to_json`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/app/services/submit_usage_ping_service.rb#L22).
-1. `GitLab::UsageData.to_json` [cascades down](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/usage_data.rb#L22) to ~400+ other counter method calls.
-1. The response of all methods calls are [merged together](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/usage_data.rb#L14) into a single JSON payload in `GitLab::UsageData.to_json`.
+1. When the cron job runs, it calls [`Gitlab::UsageData.to_json`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/app/services/submit_usage_ping_service.rb#L22).
+1. `Gitlab::UsageData.to_json` [cascades down](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/usage_data.rb#L22) to ~400+ other counter method calls.
+1. The response of all methods calls are [merged together](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/usage_data.rb#L14) into a single JSON payload in `Gitlab::UsageData.to_json`.
1. The JSON payload is then [posted to the Versions application]( https://gitlab.com/gitlab-org/gitlab/-/blob/master/app/services/submit_usage_ping_service.rb#L20)
If a firewall exception is needed, the required URL depends on several things. If
the hostname is `version.gitlab.com`, the protocol is `TCP`, and the port number is `443`,
diff --git a/lib/gitlab/usage_data_counters/aggregated_metrics/common.yml b/lib/gitlab/usage_data_counters/aggregated_metrics/common.yml
index b7c0abae227..a7a2a058483 100644
--- a/lib/gitlab/usage_data_counters/aggregated_metrics/common.yml
+++ b/lib/gitlab/usage_data_counters/aggregated_metrics/common.yml
@@ -22,7 +22,6 @@
'incident_management_alert_todo',
'incident_management_alert_create_incident'
]
- feature_flag: usage_data_incident_management_alerts_total_unique_counts
- name: incident_management_incidents_total_unique_counts
operator: OR
events: [
@@ -38,4 +37,3 @@
'incident_management_incident_unrelate',
'incident_management_incident_change_confidential'
]
- feature_flag: usage_data_incident_management_incidents_total_unique_counts
diff --git a/locale/gitlab.pot b/locale/gitlab.pot
index eae16815173..d87fac90360 100644
--- a/locale/gitlab.pot
+++ b/locale/gitlab.pot
@@ -31477,7 +31477,7 @@ msgstr ""
msgid "Webhooks|This URL will be triggered when a confidential issue is created/updated/merged"
msgstr ""
-msgid "Webhooks|This URL will be triggered when a member is added to a group"
+msgid "Webhooks|This URL will be triggered when a group member is created/updated/removed"
msgstr ""
msgid "Webhooks|This URL will be triggered when a merge request is created/updated/merged"
diff --git a/spec/features/merge_request/user_sees_merge_request_pipelines_spec.rb b/spec/features/merge_request/user_sees_merge_request_pipelines_spec.rb
index 6647a4e9291..d9743f6f330 100644
--- a/spec/features/merge_request/user_sees_merge_request_pipelines_spec.rb
+++ b/spec/features/merge_request/user_sees_merge_request_pipelines_spec.rb
@@ -62,7 +62,7 @@ RSpec.describe 'Merge request > User sees pipelines triggered by merge request',
it 'sees branch pipelines and detached merge request pipelines in correct order' do
page.within('.ci-table') do
expect(page).to have_selector('.ci-pending', count: 2)
- expect(first('.js-pipeline-url-link')).to have_content("##{detached_merge_request_pipeline.id}")
+ expect(first('[data-testid="pipeline-url-link"]')).to have_content("##{detached_merge_request_pipeline.id}")
end
end
@@ -97,16 +97,16 @@ RSpec.describe 'Merge request > User sees pipelines triggered by merge request',
page.within('.ci-table') do
expect(page).to have_selector('.ci-pending', count: 4)
- expect(all('.js-pipeline-url-link')[0])
+ expect(all('[data-testid="pipeline-url-link"]')[0])
.to have_content("##{detached_merge_request_pipeline_2.id}")
- expect(all('.js-pipeline-url-link')[1])
+ expect(all('[data-testid="pipeline-url-link"]')[1])
.to have_content("##{detached_merge_request_pipeline.id}")
- expect(all('.js-pipeline-url-link')[2])
+ expect(all('[data-testid="pipeline-url-link"]')[2])
.to have_content("##{push_pipeline_2.id}")
- expect(all('.js-pipeline-url-link')[3])
+ expect(all('[data-testid="pipeline-url-link"]')[3])
.to have_content("##{push_pipeline.id}")
end
end
@@ -197,7 +197,7 @@ RSpec.describe 'Merge request > User sees pipelines triggered by merge request',
it 'sees a branch pipeline in pipeline tab' do
page.within('.ci-table') do
expect(page).to have_selector('.ci-pending', count: 1)
- expect(first('.js-pipeline-url-link')).to have_content("##{push_pipeline.id}")
+ expect(first('[data-testid="pipeline-url-link"]')).to have_content("##{push_pipeline.id}")
end
end
@@ -246,7 +246,7 @@ RSpec.describe 'Merge request > User sees pipelines triggered by merge request',
it 'sees branch pipelines and detached merge request pipelines in correct order' do
page.within('.ci-table') do
expect(page).to have_selector('.ci-pending', count: 2)
- expect(first('.js-pipeline-url-link')).to have_content("##{detached_merge_request_pipeline.id}")
+ expect(first('[data-testid="pipeline-url-link"]')).to have_content("##{detached_merge_request_pipeline.id}")
end
end
@@ -287,16 +287,16 @@ RSpec.describe 'Merge request > User sees pipelines triggered by merge request',
page.within('.ci-table') do
expect(page).to have_selector('.ci-pending', count: 4)
- expect(all('.js-pipeline-url-link')[0])
+ expect(all('[data-testid="pipeline-url-link"]')[0])
.to have_content("##{detached_merge_request_pipeline_2.id}")
- expect(all('.js-pipeline-url-link')[1])
+ expect(all('[data-testid="pipeline-url-link"]')[1])
.to have_content("##{detached_merge_request_pipeline.id}")
- expect(all('.js-pipeline-url-link')[2])
+ expect(all('[data-testid="pipeline-url-link"]')[2])
.to have_content("##{push_pipeline_2.id}")
- expect(all('.js-pipeline-url-link')[3])
+ expect(all('[data-testid="pipeline-url-link"]')[3])
.to have_content("##{push_pipeline.id}")
end
end
diff --git a/spec/features/merge_request/user_sees_pipelines_spec.rb b/spec/features/merge_request/user_sees_pipelines_spec.rb
index 0d95d6ac466..77d2cb77ae3 100644
--- a/spec/features/merge_request/user_sees_pipelines_spec.rb
+++ b/spec/features/merge_request/user_sees_pipelines_spec.rb
@@ -184,7 +184,7 @@ RSpec.describe 'Merge request > User sees pipelines', :js do
page.within(first('.commit')) do
page.within('.pipeline-tags') do
- expect(page.find('.js-pipeline-url-link')[:href]).to include(expected_project.full_path)
+ expect(page.find('[data-testid="pipeline-url-link"]')[:href]).to include(expected_project.full_path)
expect(page).to have_content('detached')
end
page.within('.pipeline-triggerer') do
diff --git a/spec/lib/gitlab/auth_spec.rb b/spec/lib/gitlab/auth_spec.rb
index dfd21983682..4e4bbd1bb60 100644
--- a/spec/lib/gitlab/auth_spec.rb
+++ b/spec/lib/gitlab/auth_spec.rb
@@ -372,6 +372,11 @@ RSpec.describe Gitlab::Auth, :use_clean_rails_memory_store_caching do
expect(gl_auth.find_for_git_client(project_bot_user.username, project_access_token.token, project: project, ip: 'ip'))
.to eq(Gitlab::Auth::Result.new(project_bot_user, nil, :personal_access_token, described_class.full_authentication_abilities))
end
+
+ it 'successfully authenticates the project bot with a nil project' do
+ expect(gl_auth.find_for_git_client(project_bot_user.username, project_access_token.token, project: nil, ip: 'ip'))
+ .to eq(Gitlab::Auth::Result.new(project_bot_user, nil, :personal_access_token, described_class.full_authentication_abilities))
+ end
end
context 'with invalid project access token' do
diff --git a/spec/services/ci/destroy_expired_job_artifacts_service_spec.rb b/spec/services/ci/destroy_expired_job_artifacts_service_spec.rb
index 666c2e78794..b3db8b56b7c 100644
--- a/spec/services/ci/destroy_expired_job_artifacts_service_spec.rb
+++ b/spec/services/ci/destroy_expired_job_artifacts_service_spec.rb
@@ -220,11 +220,23 @@ RSpec.describe Ci::DestroyExpiredJobArtifactsService, :clean_gitlab_redis_shared
before do
[pipeline_artifact_1, pipeline_artifact_2].each { |pipeline_artifact| pipeline_artifact.pipeline.unlocked! }
+
+ stub_feature_flags(ci_split_pipeline_artifacts_removal: false)
end
it 'destroys pipeline artifacts' do
expect { subject }.to change { Ci::PipelineArtifact.count }.by(-2)
end
+
+ context 'with ci_split_pipeline_artifacts_removal enabled' do
+ before do
+ stub_feature_flags(ci_split_pipeline_artifacts_removal: true)
+ end
+
+ it 'does not destroy pipeline artifacts' do
+ expect { subject }.not_to change { Ci::PipelineArtifact.count }
+ end
+ end
end
context 'when artifacts are not expired' do
diff --git a/spec/services/ci/pipeline_artifacts/destroy_expired_artifacts_service_spec.rb b/spec/services/ci/pipeline_artifacts/destroy_expired_artifacts_service_spec.rb
new file mode 100644
index 00000000000..ac1a590face
--- /dev/null
+++ b/spec/services/ci/pipeline_artifacts/destroy_expired_artifacts_service_spec.rb
@@ -0,0 +1,81 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+RSpec.describe Ci::PipelineArtifacts::DestroyExpiredArtifactsService do
+ let(:service) { described_class.new }
+
+ describe '.execute' do
+ subject { service.execute }
+
+ context 'when timeout happens' do
+ before do
+ stub_const('Ci::PipelineArtifacts::DestroyExpiredArtifactsService::LOOP_TIMEOUT', 0.1.seconds)
+ allow(service).to receive(:destroy_artifacts_batch) { true }
+ end
+
+ it 'returns 0 and does not continue destroying' do
+ is_expected.to eq(0)
+ end
+ end
+
+ context 'when there are no artifacts' do
+ it 'does not raise error' do
+ expect { subject }.not_to raise_error
+ end
+ end
+
+ context 'when the loop limit is reached' do
+ before do
+ stub_const('::Ci::PipelineArtifacts::DestroyExpiredArtifactsService::LOOP_LIMIT', 1)
+ stub_const('::Ci::PipelineArtifacts::DestroyExpiredArtifactsService::BATCH_SIZE', 1)
+
+ create_list(:ci_pipeline_artifact, 2, expire_at: 1.week.ago)
+ end
+
+ it 'destroys one artifact' do
+ expect { subject }.to change { Ci::PipelineArtifact.count }.by(-1)
+ end
+
+ it 'reports the number of destroyed artifacts' do
+ is_expected.to eq(1)
+ end
+ end
+
+ context 'when there are artifacts more than batch sizes' do
+ before do
+ stub_const('Ci::PipelineArtifacts::DestroyExpiredArtifactsService::BATCH_SIZE', 1)
+
+ create_list(:ci_pipeline_artifact, 2, expire_at: 1.week.ago)
+ end
+
+ it 'destroys all expired artifacts' do
+ expect { subject }.to change { Ci::PipelineArtifact.count }.by(-2)
+ end
+
+ it 'reports the number of destroyed artifacts' do
+ is_expected.to eq(2)
+ end
+ end
+
+ context 'when artifacts are not expired' do
+ before do
+ create(:ci_pipeline_artifact, expire_at: 2.days.from_now)
+ end
+
+ it 'does not destroy pipeline artifacts' do
+ expect { subject }.not_to change { Ci::PipelineArtifact.count }
+ end
+
+ it 'reports the number of destroyed artifacts' do
+ is_expected.to eq(0)
+ end
+ end
+ end
+
+ describe '.destroy_artifacts_batch' do
+ it 'returns a falsy value without artifacts' do
+ expect(service.send(:destroy_artifacts_batch)).to be_falsy
+ end
+ end
+end
diff --git a/spec/workers/ci/pipeline_artifacts/expire_artifacts_worker_spec.rb b/spec/workers/ci/pipeline_artifacts/expire_artifacts_worker_spec.rb
new file mode 100644
index 00000000000..9e9aa962b63
--- /dev/null
+++ b/spec/workers/ci/pipeline_artifacts/expire_artifacts_worker_spec.rb
@@ -0,0 +1,36 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+RSpec.describe Ci::PipelineArtifacts::ExpireArtifactsWorker do
+ let(:worker) { described_class.new }
+
+ describe '#perform' do
+ let_it_be(:pipeline_artifact) do
+ create(:ci_pipeline_artifact, expire_at: 1.week.ago)
+ end
+
+ it 'executes a service' do
+ expect_next_instance_of(::Ci::PipelineArtifacts::DestroyExpiredArtifactsService) do |instance|
+ expect(instance).to receive(:execute)
+ end
+
+ worker.perform
+ end
+
+ include_examples 'an idempotent worker' do
+ subject do
+ perform_multiple(worker: worker)
+ end
+
+ it 'removes the artifact only once' do
+ expect(worker).to receive(:log_extra_metadata_on_done).with(:destroyed_pipeline_artifacts_count, 1)
+ expect(worker).to receive(:log_extra_metadata_on_done).with(:destroyed_pipeline_artifacts_count, 0)
+
+ subject
+
+ expect { pipeline_artifact.reload }.to raise_error(ActiveRecord::RecordNotFound)
+ end
+ end
+ end
+end
diff --git a/tooling/overcommit/Gemfile b/tooling/overcommit/Gemfile
index 52e8dcaa497..6d2c5bce29a 100644
--- a/tooling/overcommit/Gemfile
+++ b/tooling/overcommit/Gemfile
@@ -4,6 +4,6 @@
source 'https://rubygems.org'
gem 'overcommit'
-gem 'gitlab-styles', '~> 5.3.0', require: false
+gem 'gitlab-styles', '~> 5.4.0', require: false
gem 'scss_lint', '~> 0.56.0', require: false
gem 'haml_lint', '~> 0.34.0', require: false
diff --git a/tooling/overcommit/Gemfile.lock b/tooling/overcommit/Gemfile.lock
index b46229ac9f8..f1d701b3e4b 100644
--- a/tooling/overcommit/Gemfile.lock
+++ b/tooling/overcommit/Gemfile.lock
@@ -11,7 +11,7 @@ GEM
childprocess (3.0.0)
concurrent-ruby (1.1.7)
ffi (1.12.2)
- gitlab-styles (5.3.0)
+ gitlab-styles (5.4.0)
rubocop (~> 0.89.1)
rubocop-gitlab-security (~> 0.1.0)
rubocop-performance (~> 1.8.1)
@@ -88,7 +88,7 @@ PLATFORMS
ruby
DEPENDENCIES
- gitlab-styles (~> 5.3.0)
+ gitlab-styles (~> 5.4.0)
haml_lint (~> 0.34.0)
overcommit
scss_lint (~> 0.56.0)