diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-11-18 16:16:36 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-11-18 16:16:36 +0300 |
commit | 311b0269b4eb9839fa63f80c8d7a58f32b8138a0 (patch) | |
tree | 07e7870bca8aed6d61fdcc810731c50d2c40af47 /app/graphql/types | |
parent | 27909cef6c4170ed9205afa7426b8d3de47cbb0c (diff) |
Add latest changes from gitlab-org/gitlab@14-5-stable-eev14.5.0-rc42
Diffstat (limited to 'app/graphql/types')
28 files changed, 249 insertions, 29 deletions
diff --git a/app/graphql/types/ci/job_artifact_type.rb b/app/graphql/types/ci/job_artifact_type.rb index f80681bcf36..69bb5325dba 100644 --- a/app/graphql/types/ci/job_artifact_type.rb +++ b/app/graphql/types/ci/job_artifact_type.rb @@ -12,6 +12,10 @@ module Types field :file_type, ::Types::Ci::JobArtifactFileTypeEnum, null: true, description: 'File type of the artifact.' + field :name, GraphQL::Types::String, null: true, + description: 'File name of the artifact.', + method: :filename + def download_path ::Gitlab::Routing.url_helpers.download_project_job_artifacts_path( object.project, diff --git a/app/graphql/types/ci/pipeline_scope_enum.rb b/app/graphql/types/ci/pipeline_scope_enum.rb new file mode 100644 index 00000000000..3ce81bc7bf3 --- /dev/null +++ b/app/graphql/types/ci/pipeline_scope_enum.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Types + module Ci + class PipelineScopeEnum < BaseEnum + SCOPES_DESCRIPTION = { + running: 'Pipeline is running.', + pending: 'Pipeline has not started running yet.', + finished: 'Pipeline has completed.', + branches: 'Branches.', + tags: 'Tags.' + }.freeze + + SCOPES_DESCRIPTION.each do |scope, description| + value scope.to_s.upcase, + description: description, + value: scope.to_s + end + end + end +end diff --git a/app/graphql/types/ci/pipeline_status_enum.rb b/app/graphql/types/ci/pipeline_status_enum.rb index 2800454a999..c8e031e18ea 100644 --- a/app/graphql/types/ci/pipeline_status_enum.rb +++ b/app/graphql/types/ci/pipeline_status_enum.rb @@ -3,10 +3,24 @@ module Types module Ci class PipelineStatusEnum < BaseEnum - ::Ci::Pipeline.all_state_names.each do |state_symbol| - value state_symbol.to_s.upcase, - description: "#{::Ci::Pipeline::STATUSES_DESCRIPTION[state_symbol]}.", - value: state_symbol.to_s + STATUSES_DESCRIPTION = { + created: 'Pipeline has been created.', + waiting_for_resource: 'A resource (for example, a runner) that the pipeline requires to run is unavailable.', + preparing: 'Pipeline is preparing to run.', + pending: 'Pipeline has not started running yet.', + running: 'Pipeline is running.', + failed: 'At least one stage of the pipeline failed.', + success: 'Pipeline completed successfully.', + canceled: 'Pipeline was canceled before completion.', + skipped: 'Pipeline was skipped.', + manual: 'Pipeline needs to be manually started.', + scheduled: 'Pipeline is scheduled to run.' + }.freeze + + STATUSES_DESCRIPTION.each do |state, description| + value state.to_s.upcase, + description: description, + value: state.to_s end end end diff --git a/app/graphql/types/ci/pipeline_type.rb b/app/graphql/types/ci/pipeline_type.rb index 493ce188d9b..da2f11be9e2 100644 --- a/app/graphql/types/ci/pipeline_type.rb +++ b/app/graphql/types/ci/pipeline_type.rb @@ -108,6 +108,11 @@ module Types description: 'Name of the job.' end + field :job_artifacts, + null: true, + description: 'Job artifacts of the pipeline.', + resolver: ::Resolvers::Ci::PipelineJobArtifactsResolver + field :source_job, type: Types::Ci::JobType, null: true, @@ -125,6 +130,10 @@ module Types field :path, GraphQL::Types::String, null: true, description: "Relative path to the pipeline's page." + field :commit, Types::CommitType, null: true, + description: "Git commit of the pipeline.", + calls_gitaly: true + field :commit_path, GraphQL::Types::String, null: true, description: 'Path to the commit that triggered the pipeline.' diff --git a/app/graphql/types/ci/runner_setup_type.rb b/app/graphql/types/ci/runner_setup_type.rb index 70f33cef8ad..b6b020db40e 100644 --- a/app/graphql/types/ci/runner_setup_type.rb +++ b/app/graphql/types/ci/runner_setup_type.rb @@ -9,7 +9,7 @@ module Types field :install_instructions, GraphQL::Types::String, null: false, description: 'Instructions for installing the runner on the specified architecture.' field :register_instructions, GraphQL::Types::String, null: true, - description: 'Instructions for registering the runner.' + description: 'Instructions for registering the runner. The actual registration tokens are not included in the commands. Instead, a placeholder `$REGISTRATION_TOKEN` is shown.' end end end diff --git a/app/graphql/types/commit_type.rb b/app/graphql/types/commit_type.rb index dc1bf6a3101..7d141bd6daa 100644 --- a/app/graphql/types/commit_type.rb +++ b/app/graphql/types/commit_type.rb @@ -14,12 +14,19 @@ module Types description: 'SHA1 ID of the commit.' field :short_id, type: GraphQL::Types::String, null: false, description: 'Short SHA1 ID of the commit.' + field :title, type: GraphQL::Types::String, null: true, calls_gitaly: true, description: 'Title of the commit message.' markdown_field :title_html, null: true + + field :full_title, type: GraphQL::Types::String, null: true, calls_gitaly: true, + description: 'Full title of the commit message.' + markdown_field :full_title_html, null: true + field :description, type: GraphQL::Types::String, null: true, description: 'Description of the commit message.' markdown_field :description_html, null: true + field :message, type: GraphQL::Types::String, null: true, description: 'Raw commit message.' field :authored_date, type: Types::TimeType, null: true, diff --git a/app/graphql/types/customer_relations/contact_type.rb b/app/graphql/types/customer_relations/contact_type.rb index b5224a3e239..6a3882c66af 100644 --- a/app/graphql/types/customer_relations/contact_type.rb +++ b/app/graphql/types/customer_relations/contact_type.rb @@ -5,7 +5,7 @@ module Types class ContactType < BaseObject graphql_name 'CustomerRelationsContact' - authorize :read_contact + authorize :read_crm_contact field :id, GraphQL::Types::ID, diff --git a/app/graphql/types/customer_relations/organization_type.rb b/app/graphql/types/customer_relations/organization_type.rb index 9b22fa35b11..0f97f0a2433 100644 --- a/app/graphql/types/customer_relations/organization_type.rb +++ b/app/graphql/types/customer_relations/organization_type.rb @@ -5,7 +5,7 @@ module Types class OrganizationType < BaseObject graphql_name 'CustomerRelationsOrganization' - authorize :read_organization + authorize :read_crm_organization field :id, GraphQL::Types::ID, diff --git a/app/graphql/types/dependency_proxy/manifest_type.rb b/app/graphql/types/dependency_proxy/manifest_type.rb index 9aa62266ef7..ef9f730df43 100644 --- a/app/graphql/types/dependency_proxy/manifest_type.rb +++ b/app/graphql/types/dependency_proxy/manifest_type.rb @@ -8,6 +8,7 @@ module Types authorize :read_dependency_proxy + field :id, ::Types::GlobalIDType[::DependencyProxy::Manifest], null: false, description: 'ID of the manifest.' field :created_at, Types::TimeType, null: false, description: 'Date of creation.' field :updated_at, Types::TimeType, null: false, description: 'Date of most recent update.' field :file_name, GraphQL::Types::String, null: false, description: 'Name of the manifest.' diff --git a/app/graphql/types/evidence_type.rb b/app/graphql/types/evidence_type.rb index 26fb64d25d8..33f46c712f1 100644 --- a/app/graphql/types/evidence_type.rb +++ b/app/graphql/types/evidence_type.rb @@ -5,7 +5,7 @@ module Types graphql_name 'ReleaseEvidence' description 'Evidence for a release' - authorize :download_code + authorize :read_release_evidence present_using Releases::EvidencePresenter diff --git a/app/graphql/types/group_type.rb b/app/graphql/types/group_type.rb index b1bbabcdaed..4a20d84f2ab 100644 --- a/app/graphql/types/group_type.rb +++ b/app/graphql/types/group_type.rb @@ -34,6 +34,7 @@ module Types null: true, method: :project_creation_level_str, description: 'Permission level required to create projects in the group.' + field :subgroup_creation_level, type: GraphQL::Types::String, null: true, @@ -44,6 +45,7 @@ module Types type: GraphQL::Types::Boolean, null: true, description: 'Indicates if all users in this group are required to set up two-factor authentication.' + field :two_factor_grace_period, type: GraphQL::Types::Int, null: true, @@ -220,12 +222,16 @@ module Types group.container_repositories.size end + def dependency_proxy_manifests + group.dependency_proxy_manifests.order_id_desc + end + def dependency_proxy_image_count - group.dependency_proxy_manifests.count + group.dependency_proxy_manifests.size end def dependency_proxy_blob_count - group.dependency_proxy_blobs.count + group.dependency_proxy_blobs.size end def dependency_proxy_total_size diff --git a/app/graphql/types/issues/negated_issue_filter_input_type.rb b/app/graphql/types/issues/negated_issue_filter_input_type.rb index c8b7cdaa68e..73e090a4802 100644 --- a/app/graphql/types/issues/negated_issue_filter_input_type.rb +++ b/app/graphql/types/issues/negated_issue_filter_input_type.rb @@ -14,6 +14,9 @@ module Types argument :milestone_title, [GraphQL::Types::String], required: false, description: 'Milestone not applied to this issue.' + argument :release_tag, [GraphQL::Types::String], + required: false, + description: "Release tag not associated with the issue's milestone. Ignored when parent is a group." argument :author_username, GraphQL::Types::String, required: false, description: "Username of a user who didn't author the issue." diff --git a/app/graphql/types/merge_request_type.rb b/app/graphql/types/merge_request_type.rb index 004ac364487..a0f00ddc3c6 100644 --- a/app/graphql/types/merge_request_type.rb +++ b/app/graphql/types/merge_request_type.rb @@ -53,9 +53,6 @@ module Types description: 'Indicates if the source branch is protected.' field :target_branch, GraphQL::Types::String, null: false, description: 'Target branch of the merge request.' - field :work_in_progress, GraphQL::Types::Boolean, method: :work_in_progress?, null: false, - deprecated: { reason: 'Use `draft`', milestone: '13.12' }, - description: 'Indicates if the merge request is a draft.' field :draft, GraphQL::Types::Boolean, method: :draft?, null: false, description: 'Indicates if the merge request is a draft.' field :merge_when_pipeline_succeeds, GraphQL::Types::Boolean, null: true, @@ -102,7 +99,8 @@ module Types field :default_merge_commit_message, GraphQL::Types::String, null: true, description: 'Default merge commit message of the merge request.' field :default_merge_commit_message_with_description, GraphQL::Types::String, null: true, - description: 'Default merge commit message of the merge request with description.' + description: 'Default merge commit message of the merge request with description. Will have the same value as `defaultMergeCommitMessage` when project has `mergeCommitTemplate` set.', + deprecated: { reason: 'Define merge commit template in project and use `defaultMergeCommitMessage`', milestone: '14.5' } field :default_squash_commit_message, GraphQL::Types::String, null: true, calls_gitaly: true, description: 'Default squash commit message of the merge request.' field :merge_ongoing, GraphQL::Types::Boolean, method: :merge_ongoing?, null: false, diff --git a/app/graphql/types/mutation_type.rb b/app/graphql/types/mutation_type.rb index cd4c45d2942..e8a952e9c61 100644 --- a/app/graphql/types/mutation_type.rb +++ b/app/graphql/types/mutation_type.rb @@ -16,6 +16,7 @@ module Types mount_mutation Mutations::AlertManagement::HttpIntegration::ResetToken mount_mutation Mutations::AlertManagement::HttpIntegration::Destroy mount_mutation Mutations::Security::CiConfiguration::ConfigureSast + mount_mutation Mutations::Security::CiConfiguration::ConfigureSastIac mount_mutation Mutations::Security::CiConfiguration::ConfigureSecretDetection mount_mutation Mutations::AlertManagement::PrometheusIntegration::Create mount_mutation Mutations::AlertManagement::PrometheusIntegration::Update @@ -48,6 +49,7 @@ module Types mount_mutation Mutations::Environments::CanaryIngress::Update mount_mutation Mutations::Issues::Create mount_mutation Mutations::Issues::SetAssignees + mount_mutation Mutations::Issues::SetCrmContacts mount_mutation Mutations::Issues::SetConfidential mount_mutation Mutations::Issues::SetLocked mount_mutation Mutations::Issues::SetDueDate @@ -63,12 +65,10 @@ module Types mount_mutation Mutations::MergeRequests::SetLocked mount_mutation Mutations::MergeRequests::SetMilestone mount_mutation Mutations::MergeRequests::SetSubscription - mount_mutation Mutations::MergeRequests::SetWip, - calls_gitaly: true, - deprecated: { reason: 'Use mergeRequestSetDraft', milestone: '13.12' } mount_mutation Mutations::MergeRequests::SetDraft, calls_gitaly: true mount_mutation Mutations::MergeRequests::SetAssignees mount_mutation Mutations::MergeRequests::ReviewerRereview + mount_mutation Mutations::MergeRequests::ToggleAttentionRequested, feature_flag: :mr_attention_requests mount_mutation Mutations::Metrics::Dashboard::Annotations::Create mount_mutation Mutations::Metrics::Dashboard::Annotations::Delete mount_mutation Mutations::Notes::Create::Note, calls_gitaly: true diff --git a/app/graphql/types/packages/file_metadata_type.rb b/app/graphql/types/packages/file_metadata_type.rb index 46ccb424218..0731fc897a2 100644 --- a/app/graphql/types/packages/file_metadata_type.rb +++ b/app/graphql/types/packages/file_metadata_type.rb @@ -14,6 +14,8 @@ module Types case object when ::Packages::Conan::FileMetadatum ::Types::Packages::Conan::FileMetadatumType + when ::Packages::Helm::FileMetadatum + ::Types::Packages::Helm::FileMetadatumType else # NOTE: This method must be kept in sync with `PackageFileType#file_metadata`, # which must never produce data that this discriminator cannot handle. @@ -21,7 +23,8 @@ module Types end end - orphan_types Types::Packages::Conan::FileMetadatumType + orphan_types Types::Packages::Conan::FileMetadatumType, + Types::Packages::Helm::FileMetadatumType end end end diff --git a/app/graphql/types/packages/helm/dependency_type.rb b/app/graphql/types/packages/helm/dependency_type.rb new file mode 100644 index 00000000000..35598c2b1d7 --- /dev/null +++ b/app/graphql/types/packages/helm/dependency_type.rb @@ -0,0 +1,28 @@ +# frozen_string_literal: true + +module Types + module Packages + module Helm + # rubocop: disable Graphql/AuthorizeTypes + class DependencyType < BaseObject + graphql_name 'PackageHelmDependencyType' + description 'Represents a Helm dependency' + + # Need to be synced with app/validators/json_schemas/helm_metadata.json#dependencies + field :name, GraphQL::Types::String, null: true, description: 'Name of the dependency.' + field :version, GraphQL::Types::String, null: true, description: 'Version of the dependency.' + field :repository, GraphQL::Types::String, null: true, description: 'Repository of the dependency.' + field :condition, GraphQL::Types::String, null: true, description: 'Condition of the dependency.' + field :tags, [GraphQL::Types::String], null: true, description: 'Tags of the dependency.' + field :enabled, GraphQL::Types::Boolean, null: true, description: 'Indicates the dependency is enabled.' + field :import_values, [GraphQL::Types::JSON], null: true, description: 'Import-values of the dependency.', hash_key: "import-values" # rubocop:disable Graphql/JSONType + field :alias, GraphQL::Types::String, null: true, description: 'Alias of the dependency.', resolver_method: :resolve_alias + + # field :alias` conflicts with a built-in method + def resolve_alias + object['alias'] + end + end + end + end +end diff --git a/app/graphql/types/packages/helm/file_metadatum_type.rb b/app/graphql/types/packages/helm/file_metadatum_type.rb new file mode 100644 index 00000000000..734ed52df40 --- /dev/null +++ b/app/graphql/types/packages/helm/file_metadatum_type.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Types + module Packages + module Helm + class FileMetadatumType < BaseObject + graphql_name 'HelmFileMetadata' + description 'Helm file metadata' + + implements Types::Packages::FileMetadataType + + authorize :read_package + + field :channel, GraphQL::Types::String, null: false, description: 'Channel of the Helm chart.' + field :metadata, Types::Packages::Helm::MetadataType, null: false, description: 'Metadata of the Helm chart.' + end + end + end +end diff --git a/app/graphql/types/packages/helm/maintainer_type.rb b/app/graphql/types/packages/helm/maintainer_type.rb new file mode 100644 index 00000000000..6d25a26c46b --- /dev/null +++ b/app/graphql/types/packages/helm/maintainer_type.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Types + module Packages + module Helm + # rubocop: disable Graphql/AuthorizeTypes + class MaintainerType < BaseObject + graphql_name 'PackageHelmMaintainerType' + description 'Represents a Helm maintainer' + + # Need to be synced with app/validators/json_schemas/helm_metadata.json#maintainers + field :name, GraphQL::Types::String, null: true, description: 'Name of the maintainer.' + field :email, GraphQL::Types::String, null: true, description: 'Email of the maintainer.' + field :url, GraphQL::Types::String, null: true, description: 'URL of the maintainer.' + end + end + end +end diff --git a/app/graphql/types/packages/helm/metadata_type.rb b/app/graphql/types/packages/helm/metadata_type.rb new file mode 100644 index 00000000000..eeb3e8087a8 --- /dev/null +++ b/app/graphql/types/packages/helm/metadata_type.rb @@ -0,0 +1,32 @@ +# frozen_string_literal: true + +module Types + module Packages + module Helm + # rubocop: disable Graphql/AuthorizeTypes + class MetadataType < BaseObject + graphql_name 'PackageHelmMetadataType' + description 'Represents the contents of a Helm Chart.yml file' + + # Need to be synced with app/validators/json_schemas/helm_metadata.json + field :name, GraphQL::Types::String, null: false, description: 'Name of the chart.' + field :home, GraphQL::Types::String, null: true, description: 'URL of the home page.' + field :sources, [GraphQL::Types::String], null: true, description: 'URLs of the source code for the chart.' + field :version, GraphQL::Types::String, null: false, description: 'Version of the chart.' + field :description, GraphQL::Types::String, null: true, description: 'Description of the chart.' + field :keywords, [GraphQL::Types::String], null: true, description: 'Keywords for the chart.' + field :maintainers, [Types::Packages::Helm::MaintainerType], null: true, description: 'Maintainers of the chart.' + field :icon, GraphQL::Types::String, null: true, description: 'URL to an SVG or PNG image for the chart.' + field :api_version, GraphQL::Types::String, null: false, description: 'API version of the chart.', hash_key: "apiVersion" + field :condition, GraphQL::Types::String, null: true, description: 'Condition for the chart.' + field :tags, GraphQL::Types::String, null: true, description: 'Tags for the chart.' + field :app_version, GraphQL::Types::String, null: true, description: 'App version of the chart.', hash_key: "appVersion" + field :deprecated, GraphQL::Types::Boolean, null: true, description: 'Indicates if the chart is deprecated.' + field :annotations, GraphQL::Types::JSON, null: true, description: 'Annotations for the chart.' # rubocop:disable Graphql/JSONType + field :kube_version, GraphQL::Types::String, null: true, description: 'Kubernetes versions for the chart.', hash_key: "kubeVersion" + field :dependencies, [Types::Packages::Helm::DependencyType], null: true, description: 'Dependencies of the chart.' + field :type, GraphQL::Types::String, null: true, description: 'Type of the chart.', hash_key: "appVersion" + end + end + end +end diff --git a/app/graphql/types/packages/package_file_type.rb b/app/graphql/types/packages/package_file_type.rb index 8cc0f9b984a..f90a0992bf8 100644 --- a/app/graphql/types/packages/package_file_type.rb +++ b/app/graphql/types/packages/package_file_type.rb @@ -27,6 +27,8 @@ module Types case object.package.package_type when 'conan' object.conan_file_metadatum + when 'helm' + object.helm_file_metadatum else nil end diff --git a/app/graphql/types/project_type.rb b/app/graphql/types/project_type.rb index 791875242df..b6cb9cd3302 100644 --- a/app/graphql/types/project_type.rb +++ b/app/graphql/types/project_type.rb @@ -306,7 +306,7 @@ module Types null: true, description: 'A single release of the project.', resolver: Resolvers::ReleasesResolver.single, - authorize: :download_code + authorize: :read_release field :container_expiration_policy, Types::ContainerExpirationPolicyType, @@ -381,6 +381,11 @@ module Types description: 'Cluster agents associated with the project.', resolver: ::Resolvers::Clusters::AgentsResolver + field :merge_commit_template, + GraphQL::Types::String, + null: true, + description: 'Template used to create merge commit message in merge requests.' + def label(title:) BatchLoader::GraphQL.for(title).batch(key: project) do |titles, loader, args| LabelsFinder diff --git a/app/graphql/types/projects/topic_type.rb b/app/graphql/types/projects/topic_type.rb new file mode 100644 index 00000000000..79ab69e794b --- /dev/null +++ b/app/graphql/types/projects/topic_type.rb @@ -0,0 +1,28 @@ +# frozen_string_literal: true + +module Types + module Projects + # rubocop: disable Graphql/AuthorizeTypes + class TopicType < BaseObject + graphql_name 'Topic' + + field :id, GraphQL::Types::ID, null: false, + description: 'ID of the topic.' + + field :name, GraphQL::Types::String, null: false, + description: 'Name of the topic.' + + field :description, GraphQL::Types::String, null: true, + description: 'Description of the topic.' + markdown_field :description_html, null: true + + field :avatar_url, GraphQL::Types::String, null: true, + description: 'URL to avatar image file of the topic.' + + def avatar_url + object.avatar_url(only_path: false) + end + end + # rubocop: enable Graphql/AuthorizeTypes + end +end diff --git a/app/graphql/types/query_type.rb b/app/graphql/types/query_type.rb index ed4ddbb982b..4a4d6727c3f 100644 --- a/app/graphql/types/query_type.rb +++ b/app/graphql/types/query_type.rb @@ -140,6 +140,11 @@ module Types null: true, resolver: Resolvers::BoardListResolver + field :topics, Types::Projects::TopicType.connection_type, + null: true, + resolver: Resolvers::TopicsResolver, + description: "Find project topics." + def design_management DesignManagementObject.new(nil) end diff --git a/app/graphql/types/release_links_type.rb b/app/graphql/types/release_links_type.rb index 7830e29f3cd..37ad52ce6d0 100644 --- a/app/graphql/types/release_links_type.rb +++ b/app/graphql/types/release_links_type.rb @@ -4,7 +4,7 @@ module Types class ReleaseLinksType < BaseObject graphql_name 'ReleaseLinks' - authorize :download_code + authorize :read_release alias_method :release, :object @@ -16,14 +16,19 @@ module Types description: "HTTP URL of the release's edit page.", authorize: :update_release field :opened_merge_requests_url, GraphQL::Types::String, null: true, - description: 'HTTP URL of the merge request page, filtered by this release and `state=open`.' + description: 'HTTP URL of the merge request page, filtered by this release and `state=open`.', + authorize: :download_code field :merged_merge_requests_url, GraphQL::Types::String, null: true, - description: 'HTTP URL of the merge request page , filtered by this release and `state=merged`.' + description: 'HTTP URL of the merge request page , filtered by this release and `state=merged`.', + authorize: :download_code field :closed_merge_requests_url, GraphQL::Types::String, null: true, - description: 'HTTP URL of the merge request page , filtered by this release and `state=closed`.' + description: 'HTTP URL of the merge request page , filtered by this release and `state=closed`.', + authorize: :download_code field :opened_issues_url, GraphQL::Types::String, null: true, - description: 'HTTP URL of the issues page, filtered by this release and `state=open`.' + description: 'HTTP URL of the issues page, filtered by this release and `state=open`.', + authorize: :download_code field :closed_issues_url, GraphQL::Types::String, null: true, - description: 'HTTP URL of the issues page, filtered by this release and `state=closed`.' + description: 'HTTP URL of the issues page, filtered by this release and `state=closed`.', + authorize: :download_code end end diff --git a/app/graphql/types/release_tag_wildcard_id_enum.rb b/app/graphql/types/release_tag_wildcard_id_enum.rb new file mode 100644 index 00000000000..27765864101 --- /dev/null +++ b/app/graphql/types/release_tag_wildcard_id_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Types + class ReleaseTagWildcardIdEnum < BaseEnum + graphql_name 'ReleaseTagWildcardId' + description 'Release tag ID wildcard values' + + value 'NONE', 'No release tag is assigned.' + value 'ANY', 'Release tag is assigned.' + end +end diff --git a/app/graphql/types/release_type.rb b/app/graphql/types/release_type.rb index 6dda93c7329..fcc9ec49252 100644 --- a/app/graphql/types/release_type.rb +++ b/app/graphql/types/release_type.rb @@ -14,8 +14,7 @@ module Types present_using ReleasePresenter field :tag_name, GraphQL::Types::String, null: true, method: :tag, - description: 'Name of the tag associated with the release.', - authorize: :download_code + description: 'Name of the tag associated with the release.' field :tag_path, GraphQL::Types::String, null: true, description: 'Relative web path to the tag associated with the release.', authorize: :download_code diff --git a/app/graphql/types/repository/blob_type.rb b/app/graphql/types/repository/blob_type.rb index ef7f535212f..104171e6772 100644 --- a/app/graphql/types/repository/blob_type.rb +++ b/app/graphql/types/repository/blob_type.rb @@ -68,6 +68,9 @@ module Types field :replace_path, GraphQL::Types::String, null: true, description: 'Web path to replace the blob content.' + field :pipeline_editor_path, GraphQL::Types::String, null: true, + description: 'Web path to edit .gitlab-ci.yml file.' + field :file_type, GraphQL::Types::String, null: true, description: 'Expected format of the blob based on the extension.' diff --git a/app/graphql/types/repository_type.rb b/app/graphql/types/repository_type.rb index 63d1eef5b59..fc9860900c9 100644 --- a/app/graphql/types/repository_type.rb +++ b/app/graphql/types/repository_type.rb @@ -16,8 +16,7 @@ module Types description: 'Tree of the repository.' field :paginated_tree, Types::Tree::TreeType.connection_type, null: true, resolver: Resolvers::PaginatedTreeResolver, calls_gitaly: true, max_page_size: 100, - description: 'Paginated tree of the repository.', - feature_flag: :paginated_tree_graphql_query + description: 'Paginated tree of the repository.' field :blobs, Types::Repository::BlobType.connection_type, null: true, resolver: Resolvers::BlobsResolver, calls_gitaly: true, description: 'Blobs contained within the repository' field :branch_names, [GraphQL::Types::String], null: true, calls_gitaly: true, |