Describe token scopes by access rather than membership
What does this MR do and why?
When you create a fine-grained personal access token, you pick how wide its reach is. Two of those options described themselves as groups and projects "that I'm a member of", and the GraphQL enum said the same thing.
Membership is no longer what decides whether a token works on a group or project — your own access is (see the two MRs below). So the copy now says "that I have access to", which is what actually happens.
Text only. No behavior changes here.
| Before | After |
|---|---|
| All groups and projects that I'm a member of | All groups and projects I have access to |
| Only specific groups or projects that I'm a member of | Only specific groups or projects I have access to |
| All groups and projects that I'm a member of, including future ones | All groups and projects I have access to, including future ones |
| Only specific group or projects that I'm a member of | Only specific groups or projects I have access to |
The last row also gains a missing plural, which makes it identical to the second row — so the two components now share one string instead of two.
Raised by @dlrussel in
!256275 (comment 3860567495).
Renaming the underlying ALL_MEMBERSHIPS and SELECTED_MEMBERSHIPS values
is deliberately not part of this MR: they are a public GraphQL enum and a
stored database value, so changing them needs a deprecation of its own.
References
Stacked on !256288 (merged) and
targets its branch; it will retarget to master once that merges.
Screenshots or screen recordings
No screenshots attached: the only change is the wording in the table above, and the layout is untouched. The strings appear in the "Group and project access" step of the token creation form, and in the scope summary shown for an existing token.
How to set up and validate locally
- Go to User settings > Access tokens and start creating a fine-grained token.
- Under "Group and project access", the two group options read "... I have access to".
- Create the token, then open it: the scope summary uses the same wording.
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist.
locale/gitlab.pot and doc/api/graphql/reference/_index.md were regenerated.
Jest specs for both components pass locally (26 examples), and ESLint, Prettier
and RuboCop are clean.