Skip to content

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.

image

The proposal in this issue is to convert the retry button into a dropdown that has two "retry" options.

image

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 and Retry 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 #347060 (closed)
1 FRONTEND: Create show page #345046
1 BACKEND: Add functionality for retry button no 1 (retry bridge job; re-create new downstream pipeline) #345050 (closed) 👈 workflowin review
1 FRONTEND: Add button no 1 and tie it to the functionality (retry bridge job; re-create new downstream pipeline) #350243 (closed) 👈 workflowblocked
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) 👈 You are here
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 ?
Edited by Mark Nuzzo