opsenDocs
Platforms

GitLab

.md

Billable seats, Duo seats and compute minutes on gitlab.com or self-managed, and who is not using them.

opsen reads what GitLab bills you for: every billable member and when they were last active, the plan they are billed on, GitLab Duo seats and when each holder last used Duo, and compute minutes bought on top of the plan. It prices them and finds what nobody is using.

Connect

Settings → Connections → GitLab.

gitlab.com. Enter your top-level group (gitlab.com/your-group works) and a token with the Owner role on it. A group access token with the Owner role works on Premium and Ultimate; on Free, use an Owner's personal access token.

Self-managed. Enter your instance URL. Leave the group empty and use an administrator's personal access token to read the whole licence: seats bought, seats in use, seats owed at true-up, and every user holding a licence seat. Or name a top-level group to read only that group.

Scope Why
read_api Members, activity, plan, Duo seats, compute minutes and merged merge requests
api Only if you want one-click removal, deactivation or Duo unassignment

Prices

Item Price
Premium $29 a user a month, list
Ultimate Sold by quote. Priced at $99 until you enter your contract price
Duo Pro $19 a user a month
Duo Enterprise $39 a user a month
Extra compute minutes $10 per 1,000

Enter your contract price per seat in the connection form and every GitLab figure uses it.

What it finds

Finding Rule Priced at
Dormant seats No activity and no sign-in in 90 days, member for more than 30 days. The last Owner and administrators are never listed Your seat price
Unused Duo seats Duo seat held with no Duo activity in 30 days $19 or $39 a month
Unassigned Duo seats Duo seats bought minus seats assigned $19 or $39 a month

Acting on it

  • Remove members (gitlab.com) takes dormant members out of the top-level group and every subgroup and project in it. Their account and contributions stay. GitLab applies the removal within a few minutes.
  • Deactivate users (self-managed) frees their licence seat. Seats on self-managed are instance-wide, so removing someone from one group would not free one. A deactivated user is reactivated the next time they sign in.
  • Unassign seats takes Duo seats from people who are not using Duo. Their GitLab access is unchanged. Hand the seats to someone else, or lower the Duo quantity at renewal.

The fee

opsen's fee counts merge requests merged in the group (or the instance) during the month, including archived projects.