Skip to content

QRTLY COTERMS .COM: Create Dynamic "Seats Currently in Use Members List" for GitLab.com (Backend)

Notes:

  1. The frontend issue for this MVC found here: #216899 (closed)
  2. This issue is an MVC of the desired implementation found here: #27074 (closed)

MVC Proposal

On the parent group billing page, beneath the current subscription table, create a collapsible list of members who tie to the Seats currently in use value.

In the table include:

  1. Member Name (first, last)
  2. Username
  3. Email address - only if the email address is publicly available, otherwise display private
  4. IP we should not serve up this information per legal
  5. This information will only be accessible by members of the parent group with owner permissions

Rules

  1. Only display a member once if they are members of multiple subgroups/projects
  2. Display only billable members. Exclude GitLab generated bots (Support Bot, Alert Bot), Ghost Users, and Users with Guest permissions if the namespace subscribes to the Gold plan.
  3. Include members invited from shared groups as long as they meet the conditions in rule 2.
  4. The data should be updated dynamically as changes to the members in the instance are made. If this is too draining, let's update once a day and include a hover text which states that the table is updated at xx:xx time daily (including the timezone).

Testing & Availability

Tests should cover scenarios defined in Rules section, and following

  1. list only displays for root group with subscription
  2. list can only be retrieved for members with owner permission
  3. email displayed as private is member doesn't set public email
  4. list is paginated with a default order
  5. members removed from 1 of the subgroups they belong to still included in list

Documentation

Would need to update:

What does success look like, and how can we measure that?

  • Group owners can match their subscription user count to the group members list via UI.
Edited by Chloe Liu