Punti di approvazione
Mettere in pausa un job finché qualcuno non lo approva
Come funziona
Un punto di approvazione mette in pausa il job nel suo punto del modulo finché un approvatore non risponde:
When you want to pause a job and ask for approval first. You can insert an approval point using the approval-object attributes
Approvare il proprio job
Dalla 7.3.0 l’utente che ha avviato un job non può approvarlo, nemmeno con uno dei ruoli dell’approvazione, quindi serve una seconda persona; un amministratore può sempre approvare, anche i propri job. Chi l’ha avviato può comunque rifiutare (ritirare) il proprio job. Imposta allowSelf: true quando può anche approvarlo, per esempio in un modulo di test:
approval:
title: Approve the change
message: Please approve this change
roles:
- approvers
allowSelf: true
Attributi
Gli attributi di un punto di approvazione:
| Attributo | Commenti |
|---|---|
| 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 / obbligatorio | Approval message
The approval point consists out of a title and message. This is the message attribute. |
| roles array / obbligatorio | 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 |
Esempi
Esempi di punti di approvazione, in YAML:
1) Remove host
La definizione, 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
La definizione, in YAML:
approval:
title: Remove host $(vm.name) ?
message: You are about to remove vm $(vm.name).
roles:
- approvers
channels:
- approvers-teams