Skip to content

Unify labelName and authorUsername GraphQL arguments

Joseph Wambua requested to merge jj_393179_unify_epic_issue_args into master

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

  1. Create a group with several epics, and add some labels to the epics.

  2. 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.

Edited by Joseph Wambua

Merge request reports