From a88c47e65c5c9342f4790c5ffc4495ceb27b1368 Mon Sep 17 00:00:00 2001 From: Marco Zille <marco.zille@gmail.com> Date: Sun, 7 Apr 2024 16:55:13 +0200 Subject: [PATCH] Exposed web_path on the MR GraphQL type Changelog: added --- app/graphql/types/merge_request_type.rb | 10 ++++++++++ doc/api/graphql/reference/index.md | 1 + spec/graphql/types/merge_request_type_spec.rb | 2 +- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/app/graphql/types/merge_request_type.rb b/app/graphql/types/merge_request_type.rb index 774f5a765d739..dd92cc4b18cb7 100644 --- a/app/graphql/types/merge_request_type.rb +++ b/app/graphql/types/merge_request_type.rb @@ -140,6 +140,12 @@ class MergeRequestType < BaseObject field :user_notes_count, GraphQL::Types::Int, null: true, description: 'User notes count of the merge request.', resolver: Resolvers::UserNotesCountResolver + + field :web_path, + GraphQL::Types::String, + null: false, + description: 'Web path of the merge request.' + field :web_url, GraphQL::Types::String, null: true, description: 'Web URL of the merge request.' @@ -342,6 +348,10 @@ def detailed_merge_status def committers object.commits.committers end + + def web_path + ::Gitlab::Routing.url_helpers.project_merge_request_path(object.project, object) + end end end diff --git a/doc/api/graphql/reference/index.md b/doc/api/graphql/reference/index.md index 01295064525cb..16b0c3fc783f0 100644 --- a/doc/api/graphql/reference/index.md +++ b/doc/api/graphql/reference/index.md @@ -23267,6 +23267,7 @@ Defines which user roles, users, or groups can merge into a protected branch. | <a id="mergerequestuserdiscussionscount"></a>`userDiscussionsCount` | [`Int`](#int) | Number of user discussions in the merge request. | | <a id="mergerequestusernotescount"></a>`userNotesCount` | [`Int`](#int) | User notes count of the merge request. | | <a id="mergerequestuserpermissions"></a>`userPermissions` | [`MergeRequestPermissions!`](#mergerequestpermissions) | Permissions for the current user on the resource. | +| <a id="mergerequestwebpath"></a>`webPath` | [`String!`](#string) | Web path of the merge request. | | <a id="mergerequestweburl"></a>`webUrl` | [`String`](#string) | Web URL of the merge request. | #### Fields with arguments diff --git a/spec/graphql/types/merge_request_type_spec.rb b/spec/graphql/types/merge_request_type_spec.rb index 4d1d651f0ca89..1652e25d1c459 100644 --- a/spec/graphql/types/merge_request_type_spec.rb +++ b/spec/graphql/types/merge_request_type_spec.rb @@ -28,7 +28,7 @@ in_progress_merge_commit_sha merge_error allow_collaboration should_be_rebased rebase_commit_sha rebase_in_progress default_merge_commit_message - merge_ongoing mergeable_discussions_state web_url + merge_ongoing mergeable_discussions_state web_path web_url source_branch_exists target_branch_exists diverged_from_target_branch upvotes downvotes head_pipeline pipelines task_completion_status milestone assignees reviewers participants subscribed labels discussion_locked time_estimate -- GitLab