From b3c002197a1309d4ca80cc28ad5c6cc8894cfb8e Mon Sep 17 00:00:00 2001 From: Phil Hughes Date: Mon, 10 Jun 2024 11:47:04 +0100 Subject: [PATCH] Updated label GraphQL param name for merge request Added a new param for labels that matches what the issues GraphQL query uses this is to make the frontend easier to work with so that we can re-use the GraphQL frontend code from issues. https://gitlab.com/gitlab-org/gitlab/-/issues/466261 --- .../resolvers/merge_requests_resolver.rb | 6 +- doc/api/graphql/reference/index.md | 87 ++++++++++++------- .../project_merge_requests_resolver_spec.rb | 12 ++- spec/graphql/types/project_type_spec.rb | 1 + 4 files changed, 75 insertions(+), 31 deletions(-) diff --git a/app/graphql/resolvers/merge_requests_resolver.rb b/app/graphql/resolvers/merge_requests_resolver.rb index fec852b6c1ecc3..7e46644950205a 100644 --- a/app/graphql/resolvers/merge_requests_resolver.rb +++ b/app/graphql/resolvers/merge_requests_resolver.rb @@ -87,10 +87,14 @@ def self.accept_reviewer required: false, description: 'Merge requests updated before the timestamp.' + argument :label_name, [GraphQL::Types::String, { null: true }], + required: false, + description: 'Labels applied to the merge request.' argument :labels, [GraphQL::Types::String], required: false, as: :label_name, - description: 'Array of label names. All resolved merge requests will have all of these labels.' + description: 'Array of label names. All resolved merge requests will have all of these labels.', + deprecated: { reason: 'Use `labelName`', milestone: '17.1' } argument :merged_after, Types::TimeType, required: false, description: 'Merge requests merged after the date.' diff --git a/doc/api/graphql/reference/index.md b/doc/api/graphql/reference/index.md index a17842b1f5289a..8a2191c520b091 100644 --- a/doc/api/graphql/reference/index.md +++ b/doc/api/graphql/reference/index.md @@ -15986,7 +15986,8 @@ four standard [pagination arguments](#pagination-arguments): | `draft` | [`Boolean`](#boolean) | Limit result to draft merge requests. | | `groupId` | [`GroupID`](#groupid) | The global ID of the group the authored merge requests should be in. Merge requests in subgroups are included. | | `iids` | [`[String!]`](#string) | Array of IIDs of merge requests, for example `[1, 2]`. | -| `labels` | [`[String!]`](#string) | Array of label names. All resolved merge requests will have all of these labels. | +| `labelName` | [`[String]`](#string) | Labels applied to the merge request. | +| `labels` **{warning-solid}** | [`[String!]`](#string) | **Deprecated** in GitLab 17.1. Use `labelName`. | | `mergedAfter` | [`Time`](#time) | Merge requests merged after the date. | | `mergedBefore` | [`Time`](#time) | Merge requests merged before the date. | | `milestoneTitle` | [`String`](#string) | Title of the milestone. Incompatible with milestoneWildcardId. | @@ -16029,7 +16030,8 @@ four standard [pagination arguments](#pagination-arguments): | `draft` | [`Boolean`](#boolean) | Limit result to draft merge requests. | | `groupId` | [`GroupID`](#groupid) | The global ID of the group the authored merge requests should be in. Merge requests in subgroups are included. | | `iids` | [`[String!]`](#string) | Array of IIDs of merge requests, for example `[1, 2]`. | -| `labels` | [`[String!]`](#string) | Array of label names. All resolved merge requests will have all of these labels. | +| `labelName` | [`[String]`](#string) | Labels applied to the merge request. | +| `labels` **{warning-solid}** | [`[String!]`](#string) | **Deprecated** in GitLab 17.1. Use `labelName`. | | `mergedAfter` | [`Time`](#time) | Merge requests merged after the date. | | `mergedBefore` | [`Time`](#time) | Merge requests merged before the date. | | `milestoneTitle` | [`String`](#string) | Title of the milestone. Incompatible with milestoneWildcardId. | @@ -16126,7 +16128,8 @@ four standard [pagination arguments](#pagination-arguments): | `draft` | [`Boolean`](#boolean) | Limit result to draft merge requests. | | `groupId` | [`GroupID`](#groupid) | The global ID of the group the authored merge requests should be in. Merge requests in subgroups are included. | | `iids` | [`[String!]`](#string) | Array of IIDs of merge requests, for example `[1, 2]`. | -| `labels` | [`[String!]`](#string) | Array of label names. All resolved merge requests will have all of these labels. | +| `labelName` | [`[String]`](#string) | Labels applied to the merge request. | +| `labels` **{warning-solid}** | [`[String!]`](#string) | **Deprecated** in GitLab 17.1. Use `labelName`. | | `mergedAfter` | [`Time`](#time) | Merge requests merged after the date. | | `mergedBefore` | [`Time`](#time) | Merge requests merged before the date. | | `milestoneTitle` | [`String`](#string) | Title of the milestone. Incompatible with milestoneWildcardId. | @@ -16794,7 +16797,8 @@ four standard [pagination arguments](#pagination-arguments): | `draft` | [`Boolean`](#boolean) | Limit result to draft merge requests. | | `groupId` | [`GroupID`](#groupid) | The global ID of the group the authored merge requests should be in. Merge requests in subgroups are included. | | `iids` | [`[String!]`](#string) | Array of IIDs of merge requests, for example `[1, 2]`. | -| `labels` | [`[String!]`](#string) | Array of label names. All resolved merge requests will have all of these labels. | +| `labelName` | [`[String]`](#string) | Labels applied to the merge request. | +| `labels` **{warning-solid}** | [`[String!]`](#string) | **Deprecated** in GitLab 17.1. Use `labelName`. | | `mergedAfter` | [`Time`](#time) | Merge requests merged after the date. | | `mergedBefore` | [`Time`](#time) | Merge requests merged before the date. | | `milestoneTitle` | [`String`](#string) | Title of the milestone. Incompatible with milestoneWildcardId. | @@ -16837,7 +16841,8 @@ four standard [pagination arguments](#pagination-arguments): | `draft` | [`Boolean`](#boolean) | Limit result to draft merge requests. | | `groupId` | [`GroupID`](#groupid) | The global ID of the group the authored merge requests should be in. Merge requests in subgroups are included. | | `iids` | [`[String!]`](#string) | Array of IIDs of merge requests, for example `[1, 2]`. | -| `labels` | [`[String!]`](#string) | Array of label names. All resolved merge requests will have all of these labels. | +| `labelName` | [`[String]`](#string) | Labels applied to the merge request. | +| `labels` **{warning-solid}** | [`[String!]`](#string) | **Deprecated** in GitLab 17.1. Use `labelName`. | | `mergedAfter` | [`Time`](#time) | Merge requests merged after the date. | | `mergedBefore` | [`Time`](#time) | Merge requests merged before the date. | | `milestoneTitle` | [`String`](#string) | Title of the milestone. Incompatible with milestoneWildcardId. | @@ -16946,7 +16951,8 @@ four standard [pagination arguments](#pagination-arguments): | `draft` | [`Boolean`](#boolean) | Limit result to draft merge requests. | | `groupId` | [`GroupID`](#groupid) | The global ID of the group the authored merge requests should be in. Merge requests in subgroups are included. | | `iids` | [`[String!]`](#string) | Array of IIDs of merge requests, for example `[1, 2]`. | -| `labels` | [`[String!]`](#string) | Array of label names. All resolved merge requests will have all of these labels. | +| `labelName` | [`[String]`](#string) | Labels applied to the merge request. | +| `labels` **{warning-solid}** | [`[String!]`](#string) | **Deprecated** in GitLab 17.1. Use `labelName`. | | `mergedAfter` | [`Time`](#time) | Merge requests merged after the date. | | `mergedBefore` | [`Time`](#time) | Merge requests merged before the date. | | `milestoneTitle` | [`String`](#string) | Title of the milestone. Incompatible with milestoneWildcardId. | @@ -18990,7 +18996,8 @@ four standard [pagination arguments](#pagination-arguments): | `draft` | [`Boolean`](#boolean) | Limit result to draft merge requests. | | `groupId` | [`GroupID`](#groupid) | The global ID of the group the authored merge requests should be in. Merge requests in subgroups are included. | | `iids` | [`[String!]`](#string) | Array of IIDs of merge requests, for example `[1, 2]`. | -| `labels` | [`[String!]`](#string) | Array of label names. All resolved merge requests will have all of these labels. | +| `labelName` | [`[String]`](#string) | Labels applied to the merge request. | +| `labels` **{warning-solid}** | [`[String!]`](#string) | **Deprecated** in GitLab 17.1. Use `labelName`. | | `mergedAfter` | [`Time`](#time) | Merge requests merged after the date. | | `mergedBefore` | [`Time`](#time) | Merge requests merged before the date. | | `milestoneTitle` | [`String`](#string) | Title of the milestone. Incompatible with milestoneWildcardId. | @@ -19033,7 +19040,8 @@ four standard [pagination arguments](#pagination-arguments): | `draft` | [`Boolean`](#boolean) | Limit result to draft merge requests. | | `groupId` | [`GroupID`](#groupid) | The global ID of the group the authored merge requests should be in. Merge requests in subgroups are included. | | `iids` | [`[String!]`](#string) | Array of IIDs of merge requests, for example `[1, 2]`. | -| `labels` | [`[String!]`](#string) | Array of label names. All resolved merge requests will have all of these labels. | +| `labelName` | [`[String]`](#string) | Labels applied to the merge request. | +| `labels` **{warning-solid}** | [`[String!]`](#string) | **Deprecated** in GitLab 17.1. Use `labelName`. | | `mergedAfter` | [`Time`](#time) | Merge requests merged after the date. | | `mergedBefore` | [`Time`](#time) | Merge requests merged before the date. | | `milestoneTitle` | [`String`](#string) | Title of the milestone. Incompatible with milestoneWildcardId. | @@ -19130,7 +19138,8 @@ four standard [pagination arguments](#pagination-arguments): | `draft` | [`Boolean`](#boolean) | Limit result to draft merge requests. | | `groupId` | [`GroupID`](#groupid) | The global ID of the group the authored merge requests should be in. Merge requests in subgroups are included. | | `iids` | [`[String!]`](#string) | Array of IIDs of merge requests, for example `[1, 2]`. | -| `labels` | [`[String!]`](#string) | Array of label names. All resolved merge requests will have all of these labels. | +| `labelName` | [`[String]`](#string) | Labels applied to the merge request. | +| `labels` **{warning-solid}** | [`[String!]`](#string) | **Deprecated** in GitLab 17.1. Use `labelName`. | | `mergedAfter` | [`Time`](#time) | Merge requests merged after the date. | | `mergedBefore` | [`Time`](#time) | Merge requests merged before the date. | | `milestoneTitle` | [`String`](#string) | Title of the milestone. Incompatible with milestoneWildcardId. | @@ -22336,7 +22345,8 @@ four standard [pagination arguments](#pagination-arguments): | `iids` | [`[String!]`](#string) | Array of IIDs of merge requests, for example `[1, 2]`. | | `includeArchived` | [`Boolean`](#boolean) | Return merge requests from archived projects. | | `includeSubgroups` | [`Boolean`](#boolean) | Include merge requests belonging to subgroups. | -| `labels` | [`[String!]`](#string) | Array of label names. All resolved merge requests will have all of these labels. | +| `labelName` | [`[String]`](#string) | Labels applied to the merge request. | +| `labels` **{warning-solid}** | [`[String!]`](#string) | **Deprecated** in GitLab 17.1. Use `labelName`. | | `mergedAfter` | [`Time`](#time) | Merge requests merged after the date. | | `mergedBefore` | [`Time`](#time) | Merge requests merged before the date. | | `milestoneTitle` | [`String`](#string) | Title of the milestone. Incompatible with milestoneWildcardId. | @@ -24304,7 +24314,8 @@ four standard [pagination arguments](#pagination-arguments): | `draft` | [`Boolean`](#boolean) | Limit result to draft merge requests. | | `groupId` | [`GroupID`](#groupid) | The global ID of the group the authored merge requests should be in. Merge requests in subgroups are included. | | `iids` | [`[String!]`](#string) | Array of IIDs of merge requests, for example `[1, 2]`. | -| `labels` | [`[String!]`](#string) | Array of label names. All resolved merge requests will have all of these labels. | +| `labelName` | [`[String]`](#string) | Labels applied to the merge request. | +| `labels` **{warning-solid}** | [`[String!]`](#string) | **Deprecated** in GitLab 17.1. Use `labelName`. | | `mergedAfter` | [`Time`](#time) | Merge requests merged after the date. | | `mergedBefore` | [`Time`](#time) | Merge requests merged before the date. | | `milestoneTitle` | [`String`](#string) | Title of the milestone. Incompatible with milestoneWildcardId. | @@ -24347,7 +24358,8 @@ four standard [pagination arguments](#pagination-arguments): | `draft` | [`Boolean`](#boolean) | Limit result to draft merge requests. | | `groupId` | [`GroupID`](#groupid) | The global ID of the group the authored merge requests should be in. Merge requests in subgroups are included. | | `iids` | [`[String!]`](#string) | Array of IIDs of merge requests, for example `[1, 2]`. | -| `labels` | [`[String!]`](#string) | Array of label names. All resolved merge requests will have all of these labels. | +| `labelName` | [`[String]`](#string) | Labels applied to the merge request. | +| `labels` **{warning-solid}** | [`[String!]`](#string) | **Deprecated** in GitLab 17.1. Use `labelName`. | | `mergedAfter` | [`Time`](#time) | Merge requests merged after the date. | | `mergedBefore` | [`Time`](#time) | Merge requests merged before the date. | | `milestoneTitle` | [`String`](#string) | Title of the milestone. Incompatible with milestoneWildcardId. | @@ -24444,7 +24456,8 @@ four standard [pagination arguments](#pagination-arguments): | `draft` | [`Boolean`](#boolean) | Limit result to draft merge requests. | | `groupId` | [`GroupID`](#groupid) | The global ID of the group the authored merge requests should be in. Merge requests in subgroups are included. | | `iids` | [`[String!]`](#string) | Array of IIDs of merge requests, for example `[1, 2]`. | -| `labels` | [`[String!]`](#string) | Array of label names. All resolved merge requests will have all of these labels. | +| `labelName` | [`[String]`](#string) | Labels applied to the merge request. | +| `labels` **{warning-solid}** | [`[String!]`](#string) | **Deprecated** in GitLab 17.1. Use `labelName`. | | `mergedAfter` | [`Time`](#time) | Merge requests merged after the date. | | `mergedBefore` | [`Time`](#time) | Merge requests merged before the date. | | `milestoneTitle` | [`String`](#string) | Title of the milestone. Incompatible with milestoneWildcardId. | @@ -24644,7 +24657,8 @@ four standard [pagination arguments](#pagination-arguments): | `draft` | [`Boolean`](#boolean) | Limit result to draft merge requests. | | `groupId` | [`GroupID`](#groupid) | The global ID of the group the authored merge requests should be in. Merge requests in subgroups are included. | | `iids` | [`[String!]`](#string) | Array of IIDs of merge requests, for example `[1, 2]`. | -| `labels` | [`[String!]`](#string) | Array of label names. All resolved merge requests will have all of these labels. | +| `labelName` | [`[String]`](#string) | Labels applied to the merge request. | +| `labels` **{warning-solid}** | [`[String!]`](#string) | **Deprecated** in GitLab 17.1. Use `labelName`. | | `mergedAfter` | [`Time`](#time) | Merge requests merged after the date. | | `mergedBefore` | [`Time`](#time) | Merge requests merged before the date. | | `milestoneTitle` | [`String`](#string) | Title of the milestone. Incompatible with milestoneWildcardId. | @@ -24687,7 +24701,8 @@ four standard [pagination arguments](#pagination-arguments): | `draft` | [`Boolean`](#boolean) | Limit result to draft merge requests. | | `groupId` | [`GroupID`](#groupid) | The global ID of the group the authored merge requests should be in. Merge requests in subgroups are included. | | `iids` | [`[String!]`](#string) | Array of IIDs of merge requests, for example `[1, 2]`. | -| `labels` | [`[String!]`](#string) | Array of label names. All resolved merge requests will have all of these labels. | +| `labelName` | [`[String]`](#string) | Labels applied to the merge request. | +| `labels` **{warning-solid}** | [`[String!]`](#string) | **Deprecated** in GitLab 17.1. Use `labelName`. | | `mergedAfter` | [`Time`](#time) | Merge requests merged after the date. | | `mergedBefore` | [`Time`](#time) | Merge requests merged before the date. | | `milestoneTitle` | [`String`](#string) | Title of the milestone. Incompatible with milestoneWildcardId. | @@ -24784,7 +24799,8 @@ four standard [pagination arguments](#pagination-arguments): | `draft` | [`Boolean`](#boolean) | Limit result to draft merge requests. | | `groupId` | [`GroupID`](#groupid) | The global ID of the group the authored merge requests should be in. Merge requests in subgroups are included. | | `iids` | [`[String!]`](#string) | Array of IIDs of merge requests, for example `[1, 2]`. | -| `labels` | [`[String!]`](#string) | Array of label names. All resolved merge requests will have all of these labels. | +| `labelName` | [`[String]`](#string) | Labels applied to the merge request. | +| `labels` **{warning-solid}** | [`[String!]`](#string) | **Deprecated** in GitLab 17.1. Use `labelName`. | | `mergedAfter` | [`Time`](#time) | Merge requests merged after the date. | | `mergedBefore` | [`Time`](#time) | Merge requests merged before the date. | | `milestoneTitle` | [`String`](#string) | Title of the milestone. Incompatible with milestoneWildcardId. | @@ -25031,7 +25047,8 @@ four standard [pagination arguments](#pagination-arguments): | `draft` | [`Boolean`](#boolean) | Limit result to draft merge requests. | | `groupId` | [`GroupID`](#groupid) | The global ID of the group the authored merge requests should be in. Merge requests in subgroups are included. | | `iids` | [`[String!]`](#string) | Array of IIDs of merge requests, for example `[1, 2]`. | -| `labels` | [`[String!]`](#string) | Array of label names. All resolved merge requests will have all of these labels. | +| `labelName` | [`[String]`](#string) | Labels applied to the merge request. | +| `labels` **{warning-solid}** | [`[String!]`](#string) | **Deprecated** in GitLab 17.1. Use `labelName`. | | `mergedAfter` | [`Time`](#time) | Merge requests merged after the date. | | `mergedBefore` | [`Time`](#time) | Merge requests merged before the date. | | `milestoneTitle` | [`String`](#string) | Title of the milestone. Incompatible with milestoneWildcardId. | @@ -25074,7 +25091,8 @@ four standard [pagination arguments](#pagination-arguments): | `draft` | [`Boolean`](#boolean) | Limit result to draft merge requests. | | `groupId` | [`GroupID`](#groupid) | The global ID of the group the authored merge requests should be in. Merge requests in subgroups are included. | | `iids` | [`[String!]`](#string) | Array of IIDs of merge requests, for example `[1, 2]`. | -| `labels` | [`[String!]`](#string) | Array of label names. All resolved merge requests will have all of these labels. | +| `labelName` | [`[String]`](#string) | Labels applied to the merge request. | +| `labels` **{warning-solid}** | [`[String!]`](#string) | **Deprecated** in GitLab 17.1. Use `labelName`. | | `mergedAfter` | [`Time`](#time) | Merge requests merged after the date. | | `mergedBefore` | [`Time`](#time) | Merge requests merged before the date. | | `milestoneTitle` | [`String`](#string) | Title of the milestone. Incompatible with milestoneWildcardId. | @@ -25171,7 +25189,8 @@ four standard [pagination arguments](#pagination-arguments): | `draft` | [`Boolean`](#boolean) | Limit result to draft merge requests. | | `groupId` | [`GroupID`](#groupid) | The global ID of the group the authored merge requests should be in. Merge requests in subgroups are included. | | `iids` | [`[String!]`](#string) | Array of IIDs of merge requests, for example `[1, 2]`. | -| `labels` | [`[String!]`](#string) | Array of label names. All resolved merge requests will have all of these labels. | +| `labelName` | [`[String]`](#string) | Labels applied to the merge request. | +| `labels` **{warning-solid}** | [`[String!]`](#string) | **Deprecated** in GitLab 17.1. Use `labelName`. | | `mergedAfter` | [`Time`](#time) | Merge requests merged after the date. | | `mergedBefore` | [`Time`](#time) | Merge requests merged before the date. | | `milestoneTitle` | [`String`](#string) | Title of the milestone. Incompatible with milestoneWildcardId. | @@ -25407,7 +25426,8 @@ four standard [pagination arguments](#pagination-arguments): | `draft` | [`Boolean`](#boolean) | Limit result to draft merge requests. | | `groupId` | [`GroupID`](#groupid) | The global ID of the group the authored merge requests should be in. Merge requests in subgroups are included. | | `iids` | [`[String!]`](#string) | Array of IIDs of merge requests, for example `[1, 2]`. | -| `labels` | [`[String!]`](#string) | Array of label names. All resolved merge requests will have all of these labels. | +| `labelName` | [`[String]`](#string) | Labels applied to the merge request. | +| `labels` **{warning-solid}** | [`[String!]`](#string) | **Deprecated** in GitLab 17.1. Use `labelName`. | | `mergedAfter` | [`Time`](#time) | Merge requests merged after the date. | | `mergedBefore` | [`Time`](#time) | Merge requests merged before the date. | | `milestoneTitle` | [`String`](#string) | Title of the milestone. Incompatible with milestoneWildcardId. | @@ -25450,7 +25470,8 @@ four standard [pagination arguments](#pagination-arguments): | `draft` | [`Boolean`](#boolean) | Limit result to draft merge requests. | | `groupId` | [`GroupID`](#groupid) | The global ID of the group the authored merge requests should be in. Merge requests in subgroups are included. | | `iids` | [`[String!]`](#string) | Array of IIDs of merge requests, for example `[1, 2]`. | -| `labels` | [`[String!]`](#string) | Array of label names. All resolved merge requests will have all of these labels. | +| `labelName` | [`[String]`](#string) | Labels applied to the merge request. | +| `labels` **{warning-solid}** | [`[String!]`](#string) | **Deprecated** in GitLab 17.1. Use `labelName`. | | `mergedAfter` | [`Time`](#time) | Merge requests merged after the date. | | `mergedBefore` | [`Time`](#time) | Merge requests merged before the date. | | `milestoneTitle` | [`String`](#string) | Title of the milestone. Incompatible with milestoneWildcardId. | @@ -25547,7 +25568,8 @@ four standard [pagination arguments](#pagination-arguments): | `draft` | [`Boolean`](#boolean) | Limit result to draft merge requests. | | `groupId` | [`GroupID`](#groupid) | The global ID of the group the authored merge requests should be in. Merge requests in subgroups are included. | | `iids` | [`[String!]`](#string) | Array of IIDs of merge requests, for example `[1, 2]`. | -| `labels` | [`[String!]`](#string) | Array of label names. All resolved merge requests will have all of these labels. | +| `labelName` | [`[String]`](#string) | Labels applied to the merge request. | +| `labels` **{warning-solid}** | [`[String!]`](#string) | **Deprecated** in GitLab 17.1. Use `labelName`. | | `mergedAfter` | [`Time`](#time) | Merge requests merged after the date. | | `mergedBefore` | [`Time`](#time) | Merge requests merged before the date. | | `milestoneTitle` | [`String`](#string) | Title of the milestone. Incompatible with milestoneWildcardId. | @@ -28422,7 +28444,8 @@ four standard [pagination arguments](#pagination-arguments): | `deploymentId` | [`String`](#string) | ID of the deployment. | | `draft` | [`Boolean`](#boolean) | Limit result to draft merge requests. | | `iids` | [`[String!]`](#string) | Array of IIDs of merge requests, for example `[1, 2]`. | -| `labels` | [`[String!]`](#string) | Array of label names. All resolved merge requests will have all of these labels. | +| `labelName` | [`[String]`](#string) | Labels applied to the merge request. | +| `labels` **{warning-solid}** | [`[String!]`](#string) | **Deprecated** in GitLab 17.1. Use `labelName`. | | `mergedAfter` | [`Time`](#time) | Merge requests merged after the date. | | `mergedBefore` | [`Time`](#time) | Merge requests merged before the date. | | `milestoneTitle` | [`String`](#string) | Title of the milestone. Incompatible with milestoneWildcardId. | @@ -31186,7 +31209,8 @@ four standard [pagination arguments](#pagination-arguments): | `draft` | [`Boolean`](#boolean) | Limit result to draft merge requests. | | `groupId` | [`GroupID`](#groupid) | The global ID of the group the authored merge requests should be in. Merge requests in subgroups are included. | | `iids` | [`[String!]`](#string) | Array of IIDs of merge requests, for example `[1, 2]`. | -| `labels` | [`[String!]`](#string) | Array of label names. All resolved merge requests will have all of these labels. | +| `labelName` | [`[String]`](#string) | Labels applied to the merge request. | +| `labels` **{warning-solid}** | [`[String!]`](#string) | **Deprecated** in GitLab 17.1. Use `labelName`. | | `mergedAfter` | [`Time`](#time) | Merge requests merged after the date. | | `mergedBefore` | [`Time`](#time) | Merge requests merged before the date. | | `milestoneTitle` | [`String`](#string) | Title of the milestone. Incompatible with milestoneWildcardId. | @@ -31229,7 +31253,8 @@ four standard [pagination arguments](#pagination-arguments): | `draft` | [`Boolean`](#boolean) | Limit result to draft merge requests. | | `groupId` | [`GroupID`](#groupid) | The global ID of the group the authored merge requests should be in. Merge requests in subgroups are included. | | `iids` | [`[String!]`](#string) | Array of IIDs of merge requests, for example `[1, 2]`. | -| `labels` | [`[String!]`](#string) | Array of label names. All resolved merge requests will have all of these labels. | +| `labelName` | [`[String]`](#string) | Labels applied to the merge request. | +| `labels` **{warning-solid}** | [`[String!]`](#string) | **Deprecated** in GitLab 17.1. Use `labelName`. | | `mergedAfter` | [`Time`](#time) | Merge requests merged after the date. | | `mergedBefore` | [`Time`](#time) | Merge requests merged before the date. | | `milestoneTitle` | [`String`](#string) | Title of the milestone. Incompatible with milestoneWildcardId. | @@ -31326,7 +31351,8 @@ four standard [pagination arguments](#pagination-arguments): | `draft` | [`Boolean`](#boolean) | Limit result to draft merge requests. | | `groupId` | [`GroupID`](#groupid) | The global ID of the group the authored merge requests should be in. Merge requests in subgroups are included. | | `iids` | [`[String!]`](#string) | Array of IIDs of merge requests, for example `[1, 2]`. | -| `labels` | [`[String!]`](#string) | Array of label names. All resolved merge requests will have all of these labels. | +| `labelName` | [`[String]`](#string) | Labels applied to the merge request. | +| `labels` **{warning-solid}** | [`[String!]`](#string) | **Deprecated** in GitLab 17.1. Use `labelName`. | | `mergedAfter` | [`Time`](#time) | Merge requests merged after the date. | | `mergedBefore` | [`Time`](#time) | Merge requests merged before the date. | | `milestoneTitle` | [`String`](#string) | Title of the milestone. Incompatible with milestoneWildcardId. | @@ -37570,7 +37596,8 @@ four standard [pagination arguments](#pagination-arguments): | `draft` | [`Boolean`](#boolean) | Limit result to draft merge requests. | | `groupId` | [`GroupID`](#groupid) | The global ID of the group the authored merge requests should be in. Merge requests in subgroups are included. | | `iids` | [`[String!]`](#string) | Array of IIDs of merge requests, for example `[1, 2]`. | -| `labels` | [`[String!]`](#string) | Array of label names. All resolved merge requests will have all of these labels. | +| `labelName` | [`[String]`](#string) | Labels applied to the merge request. | +| `labels` **{warning-solid}** | [`[String!]`](#string) | **Deprecated** in GitLab 17.1. Use `labelName`. | | `mergedAfter` | [`Time`](#time) | Merge requests merged after the date. | | `mergedBefore` | [`Time`](#time) | Merge requests merged before the date. | | `milestoneTitle` | [`String`](#string) | Title of the milestone. Incompatible with milestoneWildcardId. | @@ -37613,7 +37640,8 @@ four standard [pagination arguments](#pagination-arguments): | `draft` | [`Boolean`](#boolean) | Limit result to draft merge requests. | | `groupId` | [`GroupID`](#groupid) | The global ID of the group the authored merge requests should be in. Merge requests in subgroups are included. | | `iids` | [`[String!]`](#string) | Array of IIDs of merge requests, for example `[1, 2]`. | -| `labels` | [`[String!]`](#string) | Array of label names. All resolved merge requests will have all of these labels. | +| `labelName` | [`[String]`](#string) | Labels applied to the merge request. | +| `labels` **{warning-solid}** | [`[String!]`](#string) | **Deprecated** in GitLab 17.1. Use `labelName`. | | `mergedAfter` | [`Time`](#time) | Merge requests merged after the date. | | `mergedBefore` | [`Time`](#time) | Merge requests merged before the date. | | `milestoneTitle` | [`String`](#string) | Title of the milestone. Incompatible with milestoneWildcardId. | @@ -37710,7 +37738,8 @@ four standard [pagination arguments](#pagination-arguments): | `draft` | [`Boolean`](#boolean) | Limit result to draft merge requests. | | `groupId` | [`GroupID`](#groupid) | The global ID of the group the authored merge requests should be in. Merge requests in subgroups are included. | | `iids` | [`[String!]`](#string) | Array of IIDs of merge requests, for example `[1, 2]`. | -| `labels` | [`[String!]`](#string) | Array of label names. All resolved merge requests will have all of these labels. | +| `labelName` | [`[String]`](#string) | Labels applied to the merge request. | +| `labels` **{warning-solid}** | [`[String!]`](#string) | **Deprecated** in GitLab 17.1. Use `labelName`. | | `mergedAfter` | [`Time`](#time) | Merge requests merged after the date. | | `mergedBefore` | [`Time`](#time) | Merge requests merged before the date. | | `milestoneTitle` | [`String`](#string) | Title of the milestone. Incompatible with milestoneWildcardId. | diff --git a/spec/graphql/resolvers/project_merge_requests_resolver_spec.rb b/spec/graphql/resolvers/project_merge_requests_resolver_spec.rb index 8408fb28c44861..bee15faf32f9df 100644 --- a/spec/graphql/resolvers/project_merge_requests_resolver_spec.rb +++ b/spec/graphql/resolvers/project_merge_requests_resolver_spec.rb @@ -9,6 +9,7 @@ let_it_be(:current_user) { create(:user, developer_of: project) } let_it_be(:other_user) { create(:user) } let_it_be(:reviewer) { create(:user) } + let_it_be(:label) { create(:label, project: project) } let_it_be(:merge_request) do create( @@ -19,7 +20,8 @@ author: other_user, assignee: other_user, milestone: create(:milestone, project: project), - reviewers: [reviewer] + reviewers: [reviewer], + labels: [label] ) end @@ -110,6 +112,14 @@ end end + context 'with label name param' do + it 'filters merge requests by label name' do + result = resolve_mr(project, label_name: [label.name]) + + expect(result).to contain_exactly(merge_request) + end + end + def resolve_mr(project, resolver: described_class, user: current_user, **args) resolve(resolver, obj: project, args: args, ctx: { current_user: user }) end diff --git a/spec/graphql/types/project_type_spec.rb b/spec/graphql/types/project_type_spec.rb index c0884afb733d5a..00dfb4f10d6a26 100644 --- a/spec/graphql/types/project_type_spec.rb +++ b/spec/graphql/types/project_type_spec.rb @@ -341,6 +341,7 @@ :draft, :approved, :labels, + :label_name, :before, :after, :first, -- GitLab