审批点
暂停作业,直到有人批准
工作原理
审批点会让作业在表单中它所在的位置暂停,直到审批人作出回应:
When you want to pause a job and ask for approval first. You can insert an approval point using the approval-object attributes
批准自己的作业
从 7.3.0 起,运行作业的用户不能批准该作业,即使拥有该审批的某个角色也不行,因此需要第二个人;管理员始终可以批准,包括自己的作业。 运行者仍然可以拒绝(撤回)自己的作业。如果也允许运行者批准,请设置 allowSelf: true ,例如在测试表单中:
approval:
title: Approve the change
message: Please approve this change
roles:
- approvers
allowSelf: true
属性
审批点的属性:
| 属性 | 说明 |
|---|---|
| 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 / 必填 | Approval message
The approval point consists out of a title and message. This is the message attribute. |
| roles array / 必填 | 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 |
示例
审批点示例(YAML):
1) Remove host
定义(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
定义(YAML):
approval:
title: Remove host $(vm.name) ?
message: You are about to remove vm $(vm.name).
roles:
- approvers
channels:
- approvers-teams