Display a verification reminder when a pipeline fails due to missing cc verification

What does this MR do and why?

This adds a global warning alert on Gitlab.com when a user is not verified and a pipeline initiated by the user failed for that reason.

A user can dismiss the alert, but it will show up again whenever another pipeline fails for the same reason.

The user can choose to verify by clicking the link in the warning alert, which will open a credit card verification modal. The user can also choose to get information on setting up their own runners by clicking the second link in the warning.

When the user verifies their credit card successfully, a one-time success alert will be shown and the warning alert will not be shown again.

Issue: https://gitlab.com/gitlab-org/gitlab/-/issues/346278

UX issue: https://gitlab.com/gitlab-org/growth/team-tasks/-/issues/464

Screenshots or screen recordings

Because this feature is hard to test locally (a working CustomersDot application with Zuora integration needs to be setup), I created a short video demo here: https://youtu.be/EFbC503Cztc

User is not verified and a pipeline failed for that reason Screen_Shot_2021-11-30_at_19.16.57
User clicked "Validate your account" Screen_Shot_2021-11-30_at_19.17.34
User verified successfully Screen_Shot_2021-11-30_at_19.18.16

How to set up and validate locally

  1. The CustomersDot application needs to be setup locally
  2. A Zuora payment page needs to be created on the Zuora API Sandbox with the local GDK URL configured
  3. The Zuora payment page ID needs to be configured in CustomersDot
  4. The Feature flag verification_reminder needs to be enabled
  5. A pipeline needs to be created by a user with the user_not_verified failure reason

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Alex Buijs

Merge request reports

Loading