Punti di approvazione

Mettere in pausa un job finché qualcuno non lo approva

  1. Come funziona
  2. Approvare il proprio job
  3. Attributi
  4. Esempi
    1. 1) Remove host
    2. 2) Ask for approval in Teams

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
Free text with placeholders

The approval point consists out of a title and message. This is the title attribute, used as the subject of the approval mail.
Without it, the mail gets the default approval subject. A workflow’s approval nodes take the node’s name as title.
Note: This supports placeholders (the placeholders point to extravars)

message
string / obbligatorio

Approval message
Free text with placeholders

The approval point consists out of a title and message. This is the message attribute.
Note: This supports placeholders (the placeholders point to extravars)

roles
array / obbligatorio

The approver roles
a valid role

Every role in this list will have the power to approve or reject this job.

notifications
array

The approval recipients
a valid email address

Every email-address in this list will receive the approval message by email with the approval link.

channels
array

The approval channels
the name of a notification channel

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.
A mail channel in this list sends the approval mail to the notifications addresses through that server instead of the active one.
A name that is not there is said in the log and skipped. (Added in 7.0.0)

allowSelf
boolean

The requester may approve their own job
true or false

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 allowSelf: true to let the requester approve their own job too. An admin can always approve any job, their own included, whatever this says. (Added in 7.3.0)


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