Skip to content

server-nestjs: GitLab group access level defaults to Guest instead of legacy Developer #2682

Description

@shikanime

Users provisioned into a project's GitLab group land with the wrong default access level when no OIDC role group matches them.

Problem

The legacy GitLab plugin defaulted unmatched project members to Developer: plugins/gitlab/src/members.ts:35 folds role matches with AccessLevel.DEVELOPER as the reduce seed, and addGroupMember/editGroupMember (plugins/gitlab/src/class.ts:545,551) default their accessLevel parameter to AccessLevel.DEVELOPER.

The server-nestjs port changed the fallback: generateAccessLevelMapping in apps/server-nestjs/src/modules/gitlab/gitlab.utils.ts:82 seeds unmapped users with AccessLevel.GUEST, so a member with no matching OIDC group is downgraded from the legacy Developer behavior.

Impact: existing users whose OIDC memberships no longer match any configured role-group suffix silently lose Developer rights on their project group (push, pipeline trigger), breaking legacy parity for migrated projects.

Acceptance

  • generateAccessLevelMapping assigns AccessLevel.DEVELOPER to a user with no matching role OIDC group, verified by pnpm vitest run covering the no-match case in the gitlab module suite
  • GitLab group membership sync (ensureGroupMemberAccessLevel) no longer downgrades an existing Developer member to Guest when the mapping yields no match, verified by the same suite
  • Full apps/server-nestjs test suite passes: pnpm vitest run exits 0

References

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions