Skip to content

Implement issues_mrs_empty_state experiment for MRs

What does this MR do and why?

We know that Issue and MR creation early in a new signup's experience increases the likelihood of them converting to paid.

To verify that, we will test alternative designs to the issues and MRs empty state pages (different layout and inclusion of something visual - in this case a video)

This MR implements experiment for the MRs list. Tracking will be implemented in separate MR.

MR acceptance checklist

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

Screenshots or screen recordings

control candidate
Project issues empty list Screenshot_2024-02-16_at_12.04.41 Screenshot_2024-02-16_at_12.00.08
Project issues empty list (mobile) Screenshot_2024-02-16_at_12.04.20 localhost_3000_empty_empty_-issues__iPhone_XR
Project issues empty list (logged out) Screenshot_2024-02-16_at_12.06.04 no change
Group issues empty list Screenshot_2024-02-16_at_12.01.41 no change
Project MRs empty list Screenshot_2024-02-16_at_12.04.54 Screenshot_2024-02-16_at_12.03.02
Project MRs empty list (mobile) Screenshot_2024-02-16_at_12.03.34 Screenshot_2024-02-16_at_12.03.13
Project MRs empty list with filter Screenshot_2024-02-16_at_12.18.04 no change
Project MRs empty list (logged out) Screenshot_2024-02-16_at_13.25.10 no change
Group MRs empty list Screenshot_2024-02-16_at_12.02.04 no change

How to set up and validate locally

bin/rails c

Feature.enable(:issues_mrs_empty_state)
  • Enable incoming_email: in gitlab.yml.
  • Setup gdk to simulate SaaS - https://docs.gitlab.com/ee/development/ee_features.html#simulate-a-saas-instance and restart GDK
  • Sign in. Create new group and blank project under that group.
  • Visit empty issues list. Make sure all the buttons and links work.
  • Open same page incognito. Make sure there is no video component.
  • Visit group empty issues list.
  • Make sure there is no video component.
  • Visit project empty MRs list.
  • Make sure all the buttons and links work.
  • Open same page incognito. Make sure there is no video component.
  • Add ?draft=true to the URL.
  • Make sure there is no video component.
  • Visit group empty MRs list.
  • Make sure there is no video component.
bin/rails c

GitlabSubscription.last.update(hosted_plan: Plan.find_by(name: 'ultimate'))
  • Sign in. Visit project empty issues list.
  • Make sure there is no video component.
  • Visit project empty MRs list. Make sure there is no video component.

Related to #436480 (closed)

Edited by Serhii Yarynovskyi

Merge request reports