Allow users to cancel a manual job
Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.
Problem to solve
Make it possible to prevent a pipeline that is currently paused at a manual step from being continued/finished.
Target audience
Devon, DevOps Engineer
Delaney, Development Team Lead
Sasha, Software Developer
Further details
Manual jobs (when: manual) are useful to control the release/promotion of changes that require manual approval from the developer, release lead, QA, etc. However, if a change is not approved, this mechanism breaks down a bit. The manual control only has a play/execute button, not a cancel button, nor is there a way to cancel the entire pipeline. So while the change can be manually approved, it cannot be permanently rejected/canceled, nor is there even a way to communicate right there in context that the job/pipeline is intended not to be run.
Proposal
Offer an alternative action that a user can take on a pipeline job that is stopped awaiting manual confirmation. In addition to supporting the existing play/execute action, add support for a cancel/reject action, which prevents the pipeline from ever completing. (Perhaps this can be undone.)
What does success look like, and how can we measure that?
There is a way to identify a pipeline waiting on a manual step, and allow the waiting job (or the pipeline in its entirety) to be explicitly canceled, thus clarifying that it is not desirable to run the job, and also preventing accidental execution at a future date.
It is okay (although lower priority) to permit the cancel action to be undone, with some additional confirmation. (e.g. "This job was canceled. Are you sure you want to run? (y/n)")