Unify labelName and authorUsername GraphQL arguments
What does this MR do and why?
Unify labelName and authorUsername GraphQL arguments
Add labelNames and authorUsernames arguments to the epics GraphQL resolver so that there can be parity between epics and issues. We will also deprecate the labelName and authorUsername arguments so that they can be removed by 17.0.
This MR only adds labelNames and authorUsernames as 'alias' arguments to labelName and authorUsername. Subsequent MRs will update the UI to call these new arguments.
Current State:
default listing | negated | unioned
issues labelName (array) | labelName (array) | labelNames (array)
epics labelName (array) | labelName (array) | labelName (array)
issues authorUsername (single) | authorUsername (single) | authorUsernames (array)
epics authorUsername (single) | authorUsername (single) | authorUsername (array)
New State:
default listing | negated | unioned
issues labelName (array) | labelName (array) | labelNames (array)
epics labelName (array) | labelName (array) | labelNames (array)
issues authorUsername (single) | authorUsername (single) | authorUsernames (array)
epics authorUsername (single) | authorUsername (single) | authorUsernames (array)
Related to: #393179 (closed)
How to set up and validate locally
-
Create a group with several epics, and add some labels to the epics.
-
Confirm that the below queries work as expected:
query {
group(fullPath: "group") {
epics(or: {labelNames: ["foo", "bar"] }) {
nodes {
id,
title
}
}
}
}
query {
group(fullPath: "group") {
epics(or: {authorUsernames: ["user1", "user2"] }) {
nodes {
id,
title
}
}
}
}
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.