Skip to content

Adds “Pending promotion” tab to the admin panel

What does this MR do and why?

This MR implements #433177 (closed), adding a tab to display promotion requests in the admin area for the promotion management epic. This MR integrates with the GraphQL BE api and displays the list with a pagination.

MR acceptance checklist

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

Screenshots or screen recordings

before after
normal state n/a image
error state n/a image

How to set up and validate locally

  1. Have an Ultimate License, and simulate Ultimate Self Managed setup (export GITLAB_SIMULATE_SAAS=0)

  2. Enable Setting setting = ApplicationSetting.first; setting.enable_member_promotion_management=true; setting.save!

  3. Enable FF Feature.enable(:member_promotion_management)

  4. Create promotion requests:

    1. Visit any Group as an owner of that group (e.g. http://127.0.0.1:3000/groups/gitlab-org/-/group_members)
    2. try promoting a non-billable GUEST member to a DEVELOPER role (this member should be non-billable on the whole instance, i.e. have a highest role as guest, see !149094 (comment 1869616221) for details)
    3. you should see a banner saying "Role change request was sent to the administrator." — this means a promotion request has been created
  5. As an admin open Admin area > Users > Promotion Requests (e.g. http://localhost:3000/admin/role_promotion_requests)

  6. After a loading indicator show up — you should see the request table

Storybook

This MR also adds a Storybook story for this app's top component, start the storybook with npm run storybook:start and open http://localhost:9002/?path=/story/ee-admin-role-promotion-requests-app--default

Edited by Kos Palchyk

Merge request reports