Skip to content

Change type of merge request assignees in GraphQL

Alex Kalderimis requested to merge ajk-add-mr-interaction-for-assignees into master

What does this MR do?

This MR addresses #299881 (closed) by adding the merge request interaction field to MergeRequest.assignees.

This MR converts the User type from a concrete type to an interface, with UserCore as the primary concrete implementation.

The reason for this is to enable more specific kinds of user with new fields (see MergeRequestAssignee) but without breaking the use of inline fragments that spread on User.

Example GraphQL query

query {
  project(fullPath: "gitlab-org/gitlab") {
    mergeRequest(iid: "55944") {
      reviewers { nodes { username mergeRequestInteraction { canMerge } }}
      assignees { nodes { username mergeRequestInteraction { canMerge } }}
    }
  }
}

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Edited by Alex Kalderimis

Merge request reports