Frontend: Add a retry button to a downstream pipeline on the pipeline graph
Release notes
Previously, in order to retry a downstream pipeline, you would have to navigate to a pipeline to click the retry button, this is challenging when there are multiple downstream pipelines. Users then have to navigate into each individual pipeline and click the retry action, in this release we've improved the user experience by allowing you to retry the downstream pipeline directly from the pipeline graph without the need to navigate to each pipeline individually.
Problem to solve
In order to retry a downstream pipeline user needs to navigate into the downstream pipeline and click the retry button, this is challenging when there are multiple downstream pipelines that need to be retried. Users then have to navigate into each individual pipeline and click the retry action.
JTBD
When troubleshooting multiple downstream pipelines I want to quickly retry them from one place so I can get the pipeline back to green.
UX DoD
Click to expand
UX Definition of Done
Problem Validation Phase
-
Problem is well understood and has been validated -
JTBD is well understood and has been validated - [-] PM has communicated the opportunity canvas to stable counterparts and group stakeholders, including the Product Designer and Product Design Manager
Design Phase
-
Document the JTBD and UX goal in the issue/epic description - [-] Explore multiple different approaches as a team
-
Discuss the technical implications with Engineering -
Identify any potential cross-team dependencies and include the DRIs in the discussions
-
- [-] Identify a small set of options to validate (Low risk MVC, validation not necessary)
- [-] Document the user story(ies) for the MVC
- [-] Consider edge cases for each user story
- [-] Create prototypes or mockups for each user story
- [-] Pajamas component lifecyle
- [-] Identify component design or pattern update/creation
- [-] Discuss the technical implications with Engineering
- [-] Pajamas issue is created (within the scope of the MVC)
-
Update issues/epic descriptions -
The appropriate labels were applied - [-] If changes involve copy, add the Technical Writing and UI text labels
-
-
Proposed solution(s) identified and documented in the issue/epic description
Solution Validation Phase
- [-] Validate the solution to increase confidence in the proposed solution
- [-] Document the solution validation learnings
- [-] Product Designer has communicated the solution validation learnings to stable counterparts and group stakeholders, including the Product Design Manager
- [-] Update the MVC proposal with relevant insights from the solution validation
- [-] Discuss the technical implications with Engineering
- [-] Update issue/epic description to contain or link to the findings
Proposal
Allow users to retry a downstream pipeline from the pipeline graph.
- Add a retry button to the downstream pipeline (DSP) card on the pipeline graph, so users wont need to leave the graph in order to retry a downstream pipeline.
- The retry button will look exactly the same as a retry button on jobs. It'll be placed in the top-right corner of the DSP card, with 8px padding on top and right between the button and the edges of the card.
- When the DSP has no failed or canceled jobs, the button won't show up (just like the retry button on the DSP pipeline page)
- Permissions should be the same as a permissions to retry the DSP from the pipeline page. If user has no permissions to retry, button won't show up.
- When user clicks to retry the DSP, the pipeline will update its status just like it does when you retry it from the pipeline page.
Further details
- When a DSP is successful, the retry button won't show
- When you click retry, the button becomes a "cancel" button which will cancel the pipeline retry if you press it
- The Cancel button will persist as long as the pipeline is running
- If the pipeline is successful, the button disappears from the DSP card, and if it fails then the "Cancel" button becomes "Retry" again
Intended users
Implementation plan
Iteration | Description | Link |
---|---|---|
1 | DESIGN/DISCUSSION | https://gitlab.com/gitlab-org/ci-cd/pipeline-authoring/-/issues/53 |
2 | Frontend: Add a retry button to a downstream pipeline on the pipeline graph |
#354974 (closed) |
3 | Backend: Differentiate trigger jobs from regular jobs in the UI | #355751 (closed) |
4 | Design: Differentiate trigger jobs in the UI | #340194 (closed) |
5 | Frontend: Differentiate trigger jobs from regular jobs in the pipeline graph | #356330 (closed) |
6 | Technical spike - expose unexpected behavior when recreating a downstream pipeline | #355508 (closed) |
7 | Backend issue to recreate downstream pipeline | |
8 | Frontend issue to recreate downstream pipeline |
Feature Usage Metrics
Should we track the clicks here to see how much this retry feature is used?
This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.