Skip to content

Add GraphQL mutation to create a member role

Jarka Košanová requested to merge create-member-role-graphql into master

What does this MR do and why?

It adds a mutation for creating a new custom role. We already have a REST API endpoint, but we agreed that we should aim for GraphQL endpoints in general. That's why I added this mutation after creating update mutation (!131358 (merged))

How to set up and validate locally

Run the following mutation in graphQL explorer (https://gdk.test:3443/-/graphql-explorer)

mutation {
  memberRoleCreate(input: {
    groupPath: "flightjs"
    name: "Role name", 
    description: "This is a new test role",
    readCode: true,
    readVulnerability: true,
    baseAccessLevel: GUEST
  }) {
    errors
    memberRole {
      id
      name
      description
      readVulnerability
      readCode
      enabledPermissions
      baseAccessLevel {
        integerValue
        stringValue
      }
    }
  }
}
Response { "data": { "memberRoleCreate": { "errors": [], "memberRole": { "id": "gid://gitlab/MemberRole/17", "name": "Role name", "description": "This is a new test role", "readVulnerability": true, "readCode": true, "enabledPermissions": [ "READ_CODE", "READ_VULNERABILITY" ], "baseAccessLevel": { "integerValue": 10, "stringValue": "GUEST" } } } } }

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 Jarka Košanová

Merge request reports

Loading