Add GraphQL mutations for merge request saved views

What does this MR do and why?

Adds mergeRequestSavedViewCreate, mergeRequestSavedViewUpdate and mergeRequestSavedViewDelete, along with MergeRequestSavedViewFilterInput and a negated version of it for the not block.

This is the last of four backend merge requests for merge request dashboard saved views:

  1. !247083 (merged) - table, model, JSON schema, factory
  2. !247090 (merged) - services, finder, and authorization policy
  3. !247106 (merged) - GraphQL read API
  4. This merge request - GraphQL mutations

Example mutation:

mutation {
  mergeRequestSavedViewCreate(input: {
    name: "Needs my review"
    filters: {
      state: opened
      reviewerUsername: "root"
      not: { authorUsername: "root" }
    }
  }) {
    errors
    savedView {
      id
      name
      filters
    }
  }
}

How to set up and validate locally

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Merge request reports

Loading
Loading