Approval Points
Pause a job until someone approves it
How it works
An approval point pauses the job at its place in the form until an approver answers it:
When you want to pause a job and ask for approval first. You can insert an approval point using the approval-object attributes
Approving your own job
From 7.3.0 the user who launched a job cannot approve it, even with one of the approval’s roles, so it takes a second person; an admin can always approve, their own jobs too. The launcher can still reject (withdraw) their own job. Set allowSelf: true when they may approve it too, for example in a test form:
approval:
title: Approve the change
message: Please approve this change
roles:
- approvers
allowSelf: true
Attributes
The attributes of an approval point:
| Attribute | Comments |
|---|---|
| title string | Approval message title
The approval point consists out of a title and message. This is the title attribute, used as the subject of the approval mail. |
| message string / required | Approval message
The approval point consists out of a title and message. This is the message attribute. |
| roles array / required | The approver roles
Every role in this list will have the power to approve or reject this job. |
| notifications array | The approval recipients
Every email-address in this list will receive the approval message by email with the approval link. |
| channels array | The approval channels
The notification channels of Connections > Notifications that receive the approval message, with a link to the job, where it is approved or rejected: Slack, Microsoft Teams, Telegram, a webhook. |
| allowSelf boolean | The requester may approve their own job
By default the user who launched a job cannot approve it, even with one of the approver roles: another approver must, so every approved job was seen by two people. The requester can still reject (withdraw) their own job. Set |
Examples
Example approval points, in YAML:
1) Remove host
The definition, in YAML:
approval:
title: Remove host $(vm.name) ?
message: |
You are about to remove vm $(vm.name).<br>
Esx server: $(cluster.esxhost.name)<br>
Status: $(vm.status)<br>
Change request: $(cr.id)
roles:
- approvers
- vmwareadmin
notifications:
- vmware@domain.local
- approvers@domain.local
2) Ask for approval in Teams
The definition, in YAML:
approval:
title: Remove host $(vm.name) ?
message: You are about to remove vm $(vm.name).
roles:
- approvers
channels:
- approvers-teams