Sidebar

Combodo

iTop Extensions

Change approval light

😎 😎 😎 Combodo's customers only 😎 😎 😎

name:
Change approval light
description:
Enable to set an approver on Change ticket
version:
1.0.0
release:
2020-03-11
itop-version-min:
2.4.1
code:
change-approval-light
state:
pilot

Extend the possibility of Approval Light to the Change class

Features

  • Simple approval mechanism with multiple approvers (no substitutes) per ticket
  • Passive or active approval
  • Configurable timeout delay
  • Graphical view of the approval status on each ticket

Revision history

Date Version Description
2020-03-11 1.0.0 * Fix: Approval reminder in edit mode : double pop-up
* Add compatibility with iTop 2.7+
* Update DE translations
* Enable Notification management delegation
* ActionEmailApprovalRequest : default sender for sample email actions
2018-12-19 0.5.0 * Add missing reconciliation key to the ApprovalScheme class
* Fix UI glitch on approval form
* Improve jQuery compatibility (jQuery 3 since iTop 2.6)

Limitations

Applicable only for change management ITIL

Installation

  • Use the Standard installation process for this extension.
  • Check Approval process light in the list of extensions at the end of the interactive wizard.

Configuration

After installing this module, configure a proper email_sender and configure trigger/action to ensure “Approval eMails” delivery.

The following settings are available to configure the module:

Parameters of change-approval-light

Parameter Type Description Default Value
target_state code When a Change enter this state, it will initiate the approval process and notify the approvers plannedscheduled
change_cab string OQL to return the approvers (must define a set of objects derived from the class Contact). Use :this->attcode to add conditions based on the Change properties. SELECT Person AS p WHERE id = :this->manager_id
approve_if_no_answer yes/no Define the policy if approvers do not reply within delay yes
approve_condition string Check approval-base for the possible values and their effect first_reject
approval_timeout_delay int Delay to get the answers given in days. Use 0 to disable the timeout (= infinite duration to approve or reject the request). Note the first negative answer marks the request as rejected without waiting for the further answers. 5
bypass_profiles string CSV list of profiles. Having any of the given profiles is sufficient to be allowed to bypass approval processes. Set to an empty string to deny the feature to anybody. Administrator, Service Manager
Configuration file
       'change-approval-light' => array (
               'target_state' => 'plannedscheduled',
               'change_cab' => 'SELECT Person AS p JOIN lnkPersonToTeam AS l ON l.person_id=p.id WHERE l.team_id=:this->approving_team_id',
               'approve_if_no_answer' => 'yes',
               'approve_condition' => 'first_reject',
               'approval_timeout_delay' => 14,
               'bypass_profiles' => 'Administrator, Service Manager',
       ),

The following standard settings might be of interest when setting up the approval feature:

  • email_asynchronous
  • email_transport

Parameters from approval-base

Those parameters are shared by all approval processes such as UserRequest Extended Approval and this Change Approval Light, so be cautious when changing them.

Module Parameter Type Description Default Value
approval-base email_sender string Sender eMail address, as seen in the approval email. If left blank, sending the email will likely fail.
approval-base email_reply_to string Default “reply to” eMail address for the approval email. (optional) defaults to email_sender
approval-base comment_attcode string Attribute into which the user comments will be reported. Can be a case log or text. The comments are all aggregated. Note: the comment can also be viewed as a tooltip. (optional)
approval-base list_last_first boolean In case several execution occur, drives the order in which the executions are displayed (vertically). false
approval-base enable_reminder boolean Enable the feature “send a reminder”. true

Trigger-Action

Email notification is based on Trigger/Action and email content can be tailored to your need with HTML format and placeholders.

A default trigger is created at installation as well as 3 default actions with body in English, French and German.

You can of course edit this message to make it yours, here is the english default version for example of possible placeholders:

Dear $approver→html(friendlyname)$,
Please take some time to approve or reject ticket $this→html(ref)$

Caller: $this→html(caller_id_friendlyname)$
Title: $this→html(title)$
Service: $this→html(service_name)$
Service subcategory: $this→html(servicesubcategory_name)$

Description:
$this→html(description)$

Additional information:
$this→html(service_details)$

$approval_link$

You must create the linkage between trigger and action of the language you want to use.

You can create your own trigger and action
If you need to send different notification depending on the organization of the caller, the service, the service family, or any data available on the Ticket, this can be done by creating multiple trigger/action couples, using a filter on the Trigger.

Usage

Check here on how it could be used, replacing UserRequest by Change.

The portal part of the Change approval might not be provided by this extension
extensions/change-approval-light.txt ¡ Last modified: 2025/03/27 17:40 by 127.0.0.1
Back to top
Contact us