Review apps are often not available for MRs, and it's not always clear why or how to solve this
Problem to solve
Review apps are awesome, but it's hit or miss whether or not a review app is available for a particular MR. In cases where the review app is not available (i.e. no "View app" button is displayed), it's not obvious to the user as to why the review app isn't available - the "View app" button is simply missing.
It would be great if the merge request page UI would provide an explanation as to why the review app isn't running and allow the user to take action (i.e. restart or redeploy the review environment) directly from the merge request page.
Intended users
Anyone who uses review apps, which includes just about every persona!
Further details
My knowledge of review apps is limited, but my gut feeling is that the majority of cases where the review app isn't available is caused by the review app environment expiring.
Another related usecase: when the "View app" button is visible on the merge request page, but the environment is broken. In this case it would be nice to be able to trigger this environment to restart/redeploy without having to navigate through to the Environments page.
Proposal
A few ideas on how we might make review apps feel more reliable:
- If a review app isn't available, disable the "View app" button instead of removing it altogether. Also provide some informational text about why the app isn't available (i.e. "The review environment has not yet been created" or "The review environment has expired and has been removed" or "External URL is blank").
- Add a "Restart app" (or maybe "Redeploy app"?) button next to the "View app" button to allow users to recreate/refresh environments that have been stopped or are broken.
- In cases when the review app is working as expected, show some informational text next to the "View app" button describing how long the environment will live ("This review app will expire in 3 days").