BlogsGitLabProject and User Grouping

Project and User Grouping

Project and User Grouping

12
posts
2014–2026

GitLab is evolving its organizational hierarchy features to better model team structures and enable advanced permissions management. This includes enhancing the capabilities of groups, subgroups, and projects to support strategic planning, value stream management, and cascading configurations. The inheritance model allows settings and permissions defined at higher levels to apply to lower levels, providing visibility and control across the organization. Best practices are provided for setting up complex organizational structures, including the use of scoped labels for managing ownership and workflow states across multiple teams contributing to a single repository, and shared milestones for release cadence.

2026

Teaching software development the easy way using GitLab

4/29/2026

This post details how the GitLab for Education program, leveraging Groups and Subgroups, is used to structure university courses. It explains how instructors can manage assignment distribution, maintain code privacy, and provide contextual feedback through merge requests and inline comments. It also provides a Python script example for automating student subgroup creation and membership management via the GitLab API, and references an open-source project for class management automation.

2025

Fine-grained permissions for job tokens is now GA

8/26/2025

This post announces the General Availability of fine-grained permissions for CI/CD job tokens. It details the initial set of resources for which granular permissions can be applied (repositories, deployments, environments, jobs, packages, pipelines, releases, secure files, Terraform state) and explains the security benefits, including reducing attack surface, eliminating dependency on long-lived tokens, and preparing for machine-based identity. It also provides guidance for getting started by auditing critical pipelines and enabling the opt-in capability.

Custom admin roles are now GA

8/25/2025

Introduced granular permissions for the Admin area in GitLab Self-Managed and GitLab Dedicated instances, allowing for the creation of custom admin roles. These roles enable the principle of least privilege for instance administration, with specific use cases for Platform, Support, and Leadership teams. Features include granular permissions, instance-level management, LDAP integration, and audit integration with Admin mode.

Automating role-based access control (RBAC) at scale

6/20/2025

This post details the implementation of a Role-Based Access Control (RBAC) Accelerator program, demonstrating how to integrate GitLab with Keycloak and OpenID Connect (OIDC) for automated user provisioning and role mapping. It covers setting up a local Docker environment with GitLab and Keycloak, generating SSL certificates, configuring OIDC for authentication, and designing a scalable group hierarchy. The post emphasizes the practical application of least-privilege policies and how this foundation enables broader transformations like the Secure SDLC Accelerator.

2024

Best practices to set up organizational hierarchies that scale

7/22/2024

This post details best practices for setting up organizational hierarchies in GitLab using groups, subgroups, and projects. It explains how to leverage the inheritance model for cascading settings and permissions, and provides two options for granting access based on organizational complexity. It also covers additional configuration considerations for milestones, iterations, data management, template creation, and labels to optimize performance and visibility.

Rate limitations announced for Projects, Groups, and Users APIs

5/14/2024

Introduces rate limitations for Projects, Groups, and Users APIs to address increased server load and performance impacts. Details the rollout schedule, including brownouts and permanent implementation. Explains the feature flag strategy for GitLab.com vs. Self-managed/Dedicated instances, with default settings for new installations. Provides specific rate limits per endpoint for authenticated (user-based) and unauthenticated (IP-based) requests, and outlines the '429 Too Many Requests' response for exceeding limits.

2021

Small experiments, significant results and learnings

4/7/2021

This post details experiments to improve the user invitation flow within GitLab. It describes a multi-user journey map that identified interruptions and waiting times in the process of assigning issues to new team members. Two experiments were conducted: 1) adding an 'Invite members' link to the assignee dropdown for admin users, which resulted in a 2% increase in namespaces with two or more users despite a low click-through rate. 2) showing the 'Invite members' link to non-admin users with a modal explaining the current limitations and providing contact information for admins, showing encouraging early results of up to a 20% increase in namespaces with two or more users. The post also mentions ongoing engineering work on an 'invite members' modal to keep users within their workflow.

Don't hide primary actions

4/1/2021

This post details user research findings that revealed difficulties in creating subgroups due to poor discoverability of the 'New subgroup' action within the 'New project' dropdown. The proposed and tested solution was to split the 'New project' dropdown into separate 'New project' and 'New group' buttons. This change significantly improved task completion rates and user experience for creating group and project structures. The post also highlights the need for a more intuitive graphical user interface and command-line options for building organizational systems, and the confusion participants had differentiating between groups and projects.

2020

Integration management for git projects

11/19/2020

Introduced group-level integration management, allowing group owners and instance administrators to configure integrations for all projects within a group from a single place. This enhances security by allowing administrators to roll out integrations without sharing credentials with individual project owners. This feature is available for free on GitLab.com and self-managed instances running 13.6 and up. The post also outlines future considerations such as inheritance overviews, per-field inheritance, field masking, and inheritance locking. It also announces the deprecation of Service Templates in favor of this new group-level integration management.

2019

Managing multiple product categories in GitLab

12/5/2019

This post details how GitLab uses scoped labels (`stage::name`, `group::name`, `category::name`, `type::name`, `workflow::state`) and group-level issue boards to manage multiple product teams contributing to a single repository. It also explains the use of group milestones for release cadence. It introduces the concept of standardizing workflows across teams for better visibility and introduces the idea of rollup issue boards.

2014

Feature Highlight: LDAP Integration

7/10/2014

Introduced LDAP group synchronization for GitLab Enterprise Edition, allowing GitLab groups to be synced with LDAP groups. This automates user access management by granting members of a specified LDAP group a default access level within a GitLab group. Also documented potential pitfalls like locking oneself out and how nested ActiveDirectory groups are handled.

GitLab Feature Highlight: Groups

6/30/2014

This post introduces and details the functionality of GitLab Groups, explaining how they allow users to group projects into directories and grant users access to multiple projects at once. It covers creating new groups, adding existing projects to groups, and managing user access at the group level, including the concept of overriding permissions for individual projects. It also mentions the possibility of managing group memberships via LDAP in GitLab Enterprise Edition.