From f6c3c5d0c9713e438ccafc234eeaa349236830d9 Mon Sep 17 00:00:00 2001 From: bmarjanovic Date: Thu, 26 Jan 2023 12:03:07 +0100 Subject: [PATCH] Deprecate `Projects::ServiceType` interface Deprecates Project::ServiceType interface Changelog: deprecated --- app/graphql/resolvers/projects/services_resolver.rb | 1 + app/graphql/types/project_type.rb | 4 ++++ app/graphql/types/projects/service_type.rb | 1 + app/graphql/types/projects/service_type_enum.rb | 1 + app/graphql/types/projects/services/base_service_type.rb | 1 + app/graphql/types/projects/services/jira_project_type.rb | 1 + app/graphql/types/projects/services/jira_service_type.rb | 1 + doc/api/graphql/reference/index.md | 4 ++++ .../graphql/resolvers/projects/jira_projects_resolver_spec.rb | 2 +- .../graphql/projects/services_resolver_shared_examples.rb | 2 +- 10 files changed, 16 insertions(+), 2 deletions(-) diff --git a/app/graphql/resolvers/projects/services_resolver.rb b/app/graphql/resolvers/projects/services_resolver.rb index 99de4df945c987..3eca0dfd83f867 100644 --- a/app/graphql/resolvers/projects/services_resolver.rb +++ b/app/graphql/resolvers/projects/services_resolver.rb @@ -2,6 +2,7 @@ module Resolvers module Projects + # TODO: Remove in 17.0, see https://gitlab.com/gitlab-org/gitlab/-/merge_requests/108418 class ServicesResolver < BaseResolver include Gitlab::Graphql::Authorize::AuthorizeResource diff --git a/app/graphql/types/project_type.rb b/app/graphql/types/project_type.rb index d0c2c583f9f22e..def16887c53377 100644 --- a/app/graphql/types/project_type.rb +++ b/app/graphql/types/project_type.rb @@ -393,6 +393,10 @@ class ProjectType < BaseObject field :services, Types::Projects::ServiceType.connection_type, null: true, + deprecated: { + reason: 'This will be renamed to `Project.integrations`', + milestone: '15.9' + }, description: 'Project services.', resolver: Resolvers::Projects::ServicesResolver diff --git a/app/graphql/types/projects/service_type.rb b/app/graphql/types/projects/service_type.rb index 1416d93d3b4f9c..ec58e3254aeed7 100644 --- a/app/graphql/types/projects/service_type.rb +++ b/app/graphql/types/projects/service_type.rb @@ -2,6 +2,7 @@ module Types module Projects + # TODO: Remove in 17.0, see https://gitlab.com/gitlab-org/gitlab/-/merge_requests/108418 module ServiceType include Types::BaseInterface graphql_name 'Service' diff --git a/app/graphql/types/projects/service_type_enum.rb b/app/graphql/types/projects/service_type_enum.rb index d0cecbfea49ce8..fd88fa957e7b3b 100644 --- a/app/graphql/types/projects/service_type_enum.rb +++ b/app/graphql/types/projects/service_type_enum.rb @@ -2,6 +2,7 @@ module Types module Projects + # TODO: Remove in 17.0, see https://gitlab.com/gitlab-org/gitlab/-/merge_requests/108418 class ServiceTypeEnum < BaseEnum graphql_name 'ServiceType' diff --git a/app/graphql/types/projects/services/base_service_type.rb b/app/graphql/types/projects/services/base_service_type.rb index 5341ae2a864daa..9a48aafa5a8f58 100644 --- a/app/graphql/types/projects/services/base_service_type.rb +++ b/app/graphql/types/projects/services/base_service_type.rb @@ -3,6 +3,7 @@ module Types module Projects module Services + # TODO: Remove in 17.0, see https://gitlab.com/gitlab-org/gitlab/-/merge_requests/108418 class BaseServiceType < BaseObject graphql_name 'BaseService' diff --git a/app/graphql/types/projects/services/jira_project_type.rb b/app/graphql/types/projects/services/jira_project_type.rb index 1c5b97802e36ae..eb721d02b36042 100644 --- a/app/graphql/types/projects/services/jira_project_type.rb +++ b/app/graphql/types/projects/services/jira_project_type.rb @@ -4,6 +4,7 @@ module Types module Projects module Services # rubocop:disable Graphql/AuthorizeTypes + # TODO: Remove in 17.0, see https://gitlab.com/gitlab-org/gitlab/-/merge_requests/108418 class JiraProjectType < BaseObject graphql_name 'JiraProject' diff --git a/app/graphql/types/projects/services/jira_service_type.rb b/app/graphql/types/projects/services/jira_service_type.rb index 425a283c674f9b..ac274d7f890850 100644 --- a/app/graphql/types/projects/services/jira_service_type.rb +++ b/app/graphql/types/projects/services/jira_service_type.rb @@ -3,6 +3,7 @@ module Types module Projects module Services + # TODO: Remove in 17.0, see https://gitlab.com/gitlab-org/gitlab/-/merge_requests/108418 class JiraServiceType < BaseObject graphql_name 'JiraService' diff --git a/doc/api/graphql/reference/index.md b/doc/api/graphql/reference/index.md index d01e8e3e7c3bd1..febd69360273c8 100644 --- a/doc/api/graphql/reference/index.md +++ b/doc/api/graphql/reference/index.md @@ -18603,6 +18603,10 @@ Returns [`SentryDetailedError`](#sentrydetailederror). Project services. +WARNING: +**Deprecated** in 15.9. +This will be renamed to `Project.integrations`. + Returns [`ServiceConnection`](#serviceconnection). This field returns a [connection](#connections). It accepts the diff --git a/spec/graphql/resolvers/projects/jira_projects_resolver_spec.rb b/spec/graphql/resolvers/projects/jira_projects_resolver_spec.rb index b95bab41e3efd2..6af2f56cef47e2 100644 --- a/spec/graphql/resolvers/projects/jira_projects_resolver_spec.rb +++ b/spec/graphql/resolvers/projects/jira_projects_resolver_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Resolvers::Projects::JiraProjectsResolver do +RSpec.describe Resolvers::Projects::JiraProjectsResolver, feature_category: :integrations do include GraphqlHelpers specify do diff --git a/spec/support/shared_examples/graphql/projects/services_resolver_shared_examples.rb b/spec/support/shared_examples/graphql/projects/services_resolver_shared_examples.rb index 16c2ab07f3aac9..d9a9400cb4eda7 100644 --- a/spec/support/shared_examples/graphql/projects/services_resolver_shared_examples.rb +++ b/spec/support/shared_examples/graphql/projects/services_resolver_shared_examples.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true - +# TODO: Remove in 17.0, see https://gitlab.com/gitlab-org/gitlab/-/merge_requests/108418 RSpec.shared_examples 'no project services' do it 'returns empty collection' do expect(resolve_services).to be_empty -- GitLab