Skip to content

Document root group requirement to add member role

Michael Trainor requested to merge docs-tmike-api-member-role-root into master

What does this MR do?

Documenting current behaviour where you can only add a member role to a group that is root, ie has no parent group. https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/app/models/ee/namespace.rb#L487

https://gitlab.com/gitlab-org/gitlab/-/blob/762289bfc2dd7f6662fd1cae9bdbea47629c4296/ee/lib/api/member_roles.rb#L7

This MR is based off a Slack thread (internal).

Customer reached out to Support to ask why they were receiving a 404, and it seems that is because the group is not a root group.

I was able to reproduce this on GitLab self-managed:

irb(main):001:0> sub_group_id = 23
=> 23
irb(main):002:0> sub_group = Group.find(sub_group_id)
=> #<Group id:23 @zd375194/zd375194-sub>
irb(main):003:0> root_group = sub_group.ancestors.first
=> #<Group id:22 @zd375194>
irb(main):004:0> root_group.root?
=> true
irb(main):005:0> root_group.custom_roles_enabled?
=> true
irb(main):006:0> sub_group.root?
=> false
irb(main):007:0> sub_group.custom_roles_enabled?
=> false

Related issues

Author's checklist

If you are a GitLab team member and only adding documentation, do not add any of the following labels:

  • ~"frontend"
  • ~"backend"
  • ~"type::bug"
  • ~"database"

These labels cause the MR to be added to code verification QA issues.

Reviewer's checklist

Documentation-related MRs should be reviewed by a Technical Writer for a non-blocking review, based on Documentation Guidelines and the Style Guide.

If you aren't sure which tech writer to ask, use roulette or ask in the #docs Slack channel.

  • If the content requires it, ensure the information is reviewed by a subject matter expert.
  • Technical writer review items:
    • Ensure docs metadata is present and up-to-date.
    • Ensure the appropriate labels are added to this MR.
    • Ensure a release milestone is set.
    • If relevant to this MR, ensure content topic type principles are in use, including:
      • The headings should be something you'd do a Google search for. Instead of Default behavior, say something like Default behavior when you close an issue.
      • The headings (other than the page title) should be active. Instead of Configuring GDK, say something like Configure GDK.
      • Any task steps should be written as a numbered list.
      • If the content still needs to be edited for topic types, you can create a follow-up issue with the docs-technical-debt label.
  • Review by assigned maintainer, who can always request/require the reviews above. Maintainer's review can occur before or after a technical writer review.
Edited by Michael Trainor

Merge request reports

Loading