diff --git a/app/graphql/resolvers/merge_requests_resolver.rb b/app/graphql/resolvers/merge_requests_resolver.rb
index fec852b6c1ecc328161c52b6672375a14e8354e5..7e46644950205a496300cba501433a1ec9ac9279 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 a17842b1f5289a73f8c986d9b53e3c5b4bfcd113..8a2191c520b09145db7dd892ce31340182d93722 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 8408fb28c44861b2370faeaa7e7672ab92ee326d..bee15faf32f9dfb776b5c34118543ded454cfc4d 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 c0884afb733d5a2124bd889ef5b033ac093661eb..00dfb4f10d6a269643096319a417a45fae3a1e32 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,