Backend: Retry failed or canceled jobs in the downstream pipelines from the trigger job
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.
🧩 Problem to solve
GitLab CI/CD users that have complex parent/child pipeline set-ups would like to retry the failed jobs in all of the downstream pipelines from one place, without having to go into each downstream pipeline one-by-one.
Workaround
You can retry failed (or canceled) jobs in a downstream pipeline by going into the downstream pipeline page and clicking the "Retry" button there, but it can be very time-consuming when there are lots of downstream pipelines.
User experience goal
When troubleshooting a pipeline run I want to retry only the failed (or canceled) jobs in the downstream pipelines from one place.
💡 Proposal
With #343256 (closed) implemented any bridge job will have the following page. The retry button in the trigger job page will retry the bridge job that triggers a new downstream pipeline.
The proposal in this issue is to convert the retry button into a dropdown that has two "retry" options.
The retry the downstream pipeline
button will retry all downstream pipelines (which means retry failed or canceled job) the bridge job generates.
Permissions
- When user has the permissions to retry downstream pipelines, show a dropdown "Retry" button in the trigger job page with two options:
Retry the trigger job
andRetry the downstream pipeline
(retries the failed or canceled jobs in the downstream pipeline, following the usual "retry pipeline" process). - When the user has insufficient permissions to retry the downstream pipelines, we'll show only the "Retry" button which will work as usual job retry (retry the trigger job). See the designs in this issue.
Implementation plan
Iteration | Description | Link |
---|---|---|
- | DESIGN/DISCUSSION | #343256 (closed), #352000 (closed), #353049 (closed), #340194 (closed) |
1 | BACKEND: Add route for show page |
|
1 | FRONTEND: Create show page |
|
1 | BACKEND: Add functionality for retry button no 1 (retry bridge job; re-create new downstream pipeline) |
#345050 (closed) |
1 | FRONTEND: Add button no 1 and tie it to the functionality (retry bridge job; re-create new downstream pipeline) |
#350243 (closed) |
1 | FRONTEND: Redirect old trigger jobs to the latest trigger job | #352472 (closed) workflowblocked |
1 | FRONTEND: Only show latest downstream pipeline and trigger job in the pipeline graphs | #352124 (closed) workflowblocked |
2 | BACKEND: Add functionality for retry button no 2 (retry failed/canceled jobs) |
|
2 | FRONTEND: Add split button and tie it to the functionality (retry failed/canceled jobs) | #32559 (closed) workflowin dev |
3 | BACKEND: Add functionality for retrying from the graph (or what we say is iteration 3) | #323470 (closed) workflowblocked |
3 | FRONTEND: Add button/icon for retrying from graph | ? |