Expose a real group_id only on the group SCIM token API entity
Series
group_id has been dead since group SCIM tokens moved to group_scim_auth_access_tokens in 17.9.
Prerequisites — target master, any order, all must land before step 2:
| MR | What |
|---|---|
| !261148 | GroupScimAuthAccessToken gets its own serializer |
| !261149 |
Real group_id only on the group SCIM API entity |
| !261150 (merged) | No SCIM token transfer on group org transfer |
Steps — sequential, one milestone apart, since each needs the previous deployed, not just merged:
| Step | MR | Milestone | What | State |
|---|---|---|---|---|
| 1 | !256720 (merged) | 19.5 | Delete orphaned group-level rows | merged |
| 2 | !256721 | 19.6 | Remove code references, add ignore_column |
open |
| 3 | !256722 | 19.7 | Drop group_id column |
open |
| 4 | !256725 | 19.8 | Remove ignore_column rule |
open |
What does this MR do and why?
Moves the real group_id exposure from ScimAccessTokenBase down to API::Entities::GroupScimAuthAccessToken, and pins it to nil on API::Entities::ScimOauthAccessToken.
The pinned nil instead of a removal: these entities are served by POST /api/v4/admin/token, GA since 17.5 with no lifecycle setting, so dropping a response field would be a breaking change to REST API v4. The API style guide prescribes silent degradation — keep the key, return a static value.
No changelog: instance tokens have returned a nil group_id since 17.9.
References
How to set up and validate locally
No behavior change, as the instance SCIM auth tokens have no group ID. A green pipeline should be enough.
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist.