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
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:
$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.
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
.