Consolidate Secrets Manager billing link text and fix target url

What does this MR do and why?

The GitLab Secrets Manager billing/trial banners and modals asked the same question with three different wordings, scattered across six components:

  • "How is Secrets Manager billed?"
  • "How is GitLab Secrets Manager billed?"
  • "How is secrets manager billed?"

Two of the six spots also linked to the generic GitLab Credits docs page instead of the Secrets Manager credit-usage page.

This MR consolidates all of them to the wording and destination already used by start_trial_modal.vue and secrets_beta_transition_alert.vue:

How does GitLab Secrets Manager use GitLab Credits?

linking to ci/secrets/secrets_manager/credit_usage.

Component Before After
secrets_manager_billing_alert.vue (billing alert) "How is GitLab Secrets Manager billed?" → subscriptions/gitlab_credits "How does GitLab Secrets Manager use GitLab Credits?" → ci/secrets/secrets_manager/credit_usage
secrets_manager_instance_settings.vue (credit consumption alert) "How is Secrets Manager billed?" → ci/secrets/secrets_manager/credit_usage "How does GitLab Secrets Manager use GitLab Credits?" → ci/secrets/secrets_manager/credit_usage (unchanged)
secrets_app.vue (trial banner) "How is secrets manager billed?" → subscriptions/gitlab_credits "How does GitLab Secrets Manager use GitLab Credits?" → ci/secrets/secrets_manager/credit_usage
enable_add_on_modal.vue "How does GitLab Secrets Manager use GitLab Credits?" → subscriptions/gitlab_credits same text → ci/secrets/secrets_manager/credit_usage
secrets_beta_transition_alert.vue "How does GitLab Secrets Manager use GitLab Credits?" → subscriptions/gitlab_credits same text → ci/secrets/secrets_manager/credit_usage
secrets_trial_empty_state.vue (billing footer) reused I18N_BILLING_ALERT.linkText → subscriptions/gitlab_credits same text (auto-updated via shared constant) → ci/secrets/secrets_manager/credit_usage

start_trial_modal.vue already used the target wording and link, so it's untouched. Two legitimate, separate "GitLab Credits" links (not part of this "how is it billed" question) are intentionally left pointing at the generic subscriptions/gitlab_credits page: the open-beta alert branch in secrets_manager_billing_alert.vue, and the inline credits mention in start_trial_modal.vue.

locale/gitlab.pot is regenerated to match (tooling/bin/gettext_extractor).

References

Not applicable — no related issue.

Screenshots or screen recordings

This is a text/link-only change with no layout or structural change, spread across six components that each require a specific Secrets Manager entitlement state (beta, trial, paid, blocked) to render. See the table above for the exact before/after text and link target per component; the updated Jest specs assert the new text and href directly.

How to set up and validate locally

  1. Run the updated specs:

    yarn jest ee/spec/frontend/ci/secrets/components/secrets_manager_billing_alert_spec.js \
      ee/spec/frontend/ci/secrets/components/secrets_app_spec.js \
      ee/spec/frontend/ci/secrets/components/enable_add_on_modal_spec.js \
      ee/spec/frontend/ci/secrets/components/secrets_beta_transition_alert_spec.js \
      ee/spec/frontend/ci/secrets/components/secrets_table/secrets_trial_empty_state_spec.js \
      ee/spec/frontend/admin/application_settings/general/secrets_manager_instance_enrollment/components/secrets_manager_instance_settings_spec.js
  2. To see it live, visit a group/project's Secrets page or the instance Secrets Manager admin settings while the secrets_manager_paid_experience feature flag and a Secrets Manager entitlement (trial, paid, or blocked) are set up, and confirm the billing link now reads "How does GitLab Secrets Manager use GitLab Credits?" and points to /help/ci/secrets/secrets_manager/credit_usage.

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

🤖 Generated with Claude Code

Edited by Sayo Bittencourt

Merge request reports

Loading
Loading