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
References
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:35folds role matches withAccessLevel.DEVELOPERas the reduce seed, andaddGroupMember/editGroupMember(plugins/gitlab/src/class.ts:545,551) default theiraccessLevelparameter toAccessLevel.DEVELOPER.The server-nestjs port changed the fallback:
generateAccessLevelMappinginapps/server-nestjs/src/modules/gitlab/gitlab.utils.ts:82seeds unmapped users withAccessLevel.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
generateAccessLevelMappingassignsAccessLevel.DEVELOPERto a user with no matching role OIDC group, verified bypnpm vitest runcovering the no-match case in the gitlab module suiteensureGroupMemberAccessLevel) no longer downgrades an existing Developer member to Guest when the mapping yields no match, verified by the same suiteapps/server-nestjstest suite passes:pnpm vitest runexits 0References
GUEST→DEVELOPER)plugins/gitlab/src/members.ts:35,plugins/gitlab/src/class.ts:545-554apps/server-nestjs/src/modules/gitlab/gitlab.utils.ts:63-90