Skip to content

Approvals

An approval pauses a deployment until enough eligible people say yes. Approvals are available on every plan.

Approvals are a protection rule of the environment, not of a pipeline, so they apply to every way of deploying there:

# environment protection rules
required_approvals: 2
approvers:
- { kind: role, id: deployer }
- { kind: team, id: sre, min_count: 1 } # per-group quorum
- { kind: user, id: user_01H... }
allow_self_approval: false # default
approval_timeout: 24h
  • required_approvals: how many distinct approvals are needed.
  • approvers: users, teams or roles that are eligible. min_count sets a per-group quorum (for example “at least one from SRE”). A person must also hold the permission deployments.approve at the environment’s scope.
  • allow_self_approval: by default the person who requested a deployment cannot approve it.
  • approval_timeout: how long to wait before the approval expires.
  • A rejection by any eligible approver rejects the deployment.
Channel How
Web The Approvals inbox lists everything waiting on you, with the release diff and gate results alongside
Slack Interactive buttons on the notification; the Slack user must map to a Slipway user with permission
Teams Adaptive-card actions
CLI slipway approve dep_01H... -m "comment" or slipway reject ...
API ApprovalService.DecideApproval

Every decision is recorded with the user, the decision, a comment, a timestamp and the channel (web, slack, teams, api), and appears in the audit log.

In a pipeline, a deploy job bound to a protected environment shows waiting_approval and holds its runner slot only after approval: the job is not assigned to a runner until the approval passes, so waiting costs nothing.

When approval_timeout passes, the approval expires and the deployment fails with that reason. A requester can cancel a waiting deployment (ApprovalService.CancelApproval), which also cancels the approval request.

  • Production: 1 or 2 approvers from a team that is not the author’s.
  • Staging: no approval, auto-promotion.
  • Combine with a deployment window so approvals are not requested at 3 a.m.