Add Premium upgrade card to project access tokens page
What does this MR do and why?
This MR adds a feature discovery card to the Project Access Tokens settings page for Free-tier project owners on GitLab.com. The card replaces the terse "disabled" subheader with a clear upgrade offer titled "Try project access tokens with Premium". It includes an "Upgrade to Premium" button linking to the Customers Portal checkout page and an "Explore plans" button linking to the group billing page. Both button clicks are tracked via internal events. Paid groups with token creation disabled in group settings continue to show the existing group settings message unchanged. The feature is gated behind a new feature flag and disabled by default.
Related to https://gitlab.com/gitlab-org/gitlab/-/work_items/607722
Screenshots or screen recordings
Rendered in-app with Playwright (GitLab.com SaaS mode, Free-tier project owner):
| Before | After |
|---|---|
![]() |
![]() |
Matches the Figma design.
How to set up and validate locally
- Be a Free-tier owner of a group project on a GitLab.com-like instance (
GITLAB_SIMULATE_SAAS=1). - Enable the feature flag:
Feature.enable(:project_access_token_upgrade_card) - Visit the project's Settings > Access tokens page.
- Confirm the card renders with both CTAs (Upgrade to Premium, Explore plans) and that the old subheader is gone.
- Verify a paid group with token creation disabled in group settings still shows the existing message.
Feature flag
- Flag:
project_access_token_upgrade_card - Type:
gitlab_com_derisk - Default: disabled
- Milestone: 19.4
- Rollout issue: #618752

