Skip to content
Latchkey

How to Add a Manual Approval Job to a Deploy in CircleCI

A workflow job with type: approval halts the pipeline; the deploy job that lists it under requires runs only after someone approves in the UI.

Insert an approval placeholder job into the workflow and make the deploy job require it, so the run waits for a click before proceeding.

Steps

  • Define a job entry with type: approval in the workflow.
  • List that job in the deploy job requires.
  • Keep build and test jobs ahead of the approval gate.
  • Approve in the CircleCI UI to release the deploy.

Config

.circleci/config.yml
version: 2.1
workflows:
  release:
    jobs:
      - build
      - test:
          requires: [build]
      - hold:
          type: approval
          requires: [test]
      - deploy:
          requires: [hold]

Gotchas

  • The approval job runs no steps; it exists purely as a gate in the workflow graph.
  • Anyone with write access can approve, so pair it with a restricted context for real protection.

Related guides

Run this faster and cheaper on Latchkey managed runners. Start free →