GitLab roles and permissions
GitLab uses roles to control what users can view and do within groups and projects. In SHIP-HATS, roles are managed directly in GitLab, while Console is used to provision GitLab licences.
The most common GitLab roles are:
- Guest
- Reporter
- Developer
- Maintainer
- Owner
For details, see GitLab roles.
How repository access works in SHIP-HATS
SHIP-HATS GitLab contains two types of repositories:
Repository access requirements differ between InnerSource and WOG repositories. For a complete explanation, see GitLab access requirements.
InnerSource repositories
The default role for InnerSource repositories depends on whether the user has a GitLab licence.
| Active TechPass | GitLab licence | Default role | Access |
|---|---|---|---|
| ✅ | ❌ | Guest | View only |
| ✅ | ✅ | Developer | View and contribute |
| ❌ | ❌ | - | No access |
For information about automatic role changes and blocked accounts, see Why was my GitLab role changed to Guest?.
For more information, see:
WOG repositories
After users are granted access to a WOG repository, their GitLab role determines what they can do within that repository.
For the access requirements for WOG repositories, see GitLab access requirements.
How roles are managed
When using GitLab in SHIP-HATS:
- A GitLab group is typically created for each SHIP-HATS project. For details, see Create GitLab groups.
- The group may contain multiple repositories (GitLab projects).
- Users are added as members of the group or individual repositories.
- Roles are assigned directly in GitLab by project administrators.
Roles assigned at the group level may apply to all repositories within that group.
GitLab roles
GitLab provides standard roles that determine what actions users can perform.
| Role | Typical capability |
|---|---|
| Guest | Limited access. For InnerSource repositories, this is the default role for users without a GitLab licence. |
| Reporter | View repository contents, issues, merge requests, and pipelines. |
| Developer | Push code, create branches, and manage merge requests. |
| Maintainer | Manage repository settings, pipelines, and members. |
| Owner | Full administrative control of a GitLab group. |
For detailed role definitions and permissions, see the GitLab documentation.
Open Data Access (GovTech subscriptions only)
Eligible GovTech users may have view access to GovTech repositories through Open Data Access.
For details, see Open Data Access for GitLab repositories.