Sidebar

Combodo

iTop Extensions

Reminder

Combodo's customers only

name:
Reminder
version:
0.1.1
release:
2016-07-28
description:
Allow support agent to create reminders for a User Request
itop-version:
2.2.0
code:
itop-reminder
dependencies:
itop-ticket, itop-object-copier
diffusion:
ITSM Designer
php-version-max:
PHP 8.1

This extension adds the capability to create and manage reminders for any kind of tickets.

Features

The extension allows agents to create a reminder for a ticket (user request, incident…) when the ticket is in a specific status (assigned…). The reminder is defined by a target date (default choice) or a delay. When a delay is set, the reminder can be recurrent or not.

At expiration time, an event can be applied to the ticket and a notification can be sent. The reminder is then closed or restarted if it is a recurrent one.

The type of tickets where reminders can be applied, the list of status where reminders are available and the event that may be applied when the reminder expires are defined in iTop's configuration file. See Configuration chapter below.

The agent has the possibility to cancel a running reminder by stopping the reminder stopwatch. This is an action available in the Reminder menus.

The agent can, as well, reset a running reminder. For that purpose, he just needs to redo the action ‘Create reminder’ from the same ticket where the reminder has been created (assuming that the ticket is in a state where reminder creation is allowed). This will stop the running reminder and will create a new one.

Revision History

Version Release Date Comments
0.1.1 2016-07-28 Update
0.1.0 2016-01-07 First version

Limitations

Reminders can only be applied to class of objects that derive from ticket. They cannot be set for items of the CMDB.

Requirements

The extension requires iTop 2.2.0, at least, and the extension iTop object copier 1.1.3.

Installation

Use the Standard installation process for this extension.

Configuration

The extension will add the following section in the configuration file:

  'itop-reminder' => array (
                'allowed_classes' => array (
                  'UserRequest' => array (
                    'status' => array (
                      0 => 'assigned',
                    ),
                    'stimulus' => '',
                  ),
                ),
        ),

This section allows you to define iTop's behaviour when a reminder expires. For each class of tickets listed, you may define:

  • status: the list of status where a stimulus will be applied when the reminder expires,
  • stimulus: the stimulus that will be applied at that time.

Next to its specific section, the extension is adding, at installation time, an entry to the list of rules defined for the itop-object-copier extension. Here is defined for which class of ticket and within what status reminders can be triggered.

            array (
                    'source_scope' => 'SELECT UserRequest WHERE status IN (\'assigned\')',
                    'allowed_profiles' => 'Support Agent,Administrator',
                    'menu_label' => 'Create a reminder...',
                    'menu_label/FR FR' => 'Créer un rappel...',
                    'form_label' => 'Create a reminder from %1$s',
                    'form_label/FR FR' => 'Créer un rappel depuis %1$s',
                    'report_label' => 'Created from %1$s',
                    'report_label/FR FR' => 'Créé depuis %1$s',
                    'dest_class' => 'Reminder',
                    'preset' => 
                    array (
                      0 => 'copy(id,ticket_id)',
                    ),
                    'retrofit' => 
                    array (
                      0 => 'copy(id,active_reminder_id)',
                    ),
                  ),
This default configuration can be used 'as is' or modified if you want to allow reminders to be available for User Requests. It can, as well, be used as an exemple for other type of tickets like Incidents or Changes.
The extension iTop Reminder relies on the service cron.php. Make sure this one is scheduled to run on your system. More information in the chapter about Background tasks.

To check the status of this service, use the command:

php webservice/cron.php --auth_user=user --auth_pwd=password --status_only=1

Usage

From the “Other Actions” menu available for your ticket, select “Create a reminder…”. The following form is displayed:

New reminder

Reminder properties

A reminder has the following attributes:

Field Type Comment Mandatory ?
Name Alphanumeric string Yes
Status Possible values: New, Active, Closed Read only No
Started Date and time (year-month-day hh:mm:ss) Set at creation time N/A
Ticket Foreign key to a(n) Ticket Read only No
Reason Multiline character string Reason why the reminder has bee created No
Target date* Date and time (year-month-day hh:mm:ss) No
Delay* Integer No
Delay unit Possible values: Weeks, Days, Hours, Minutes Used with delay No
Recurrent Possible values: yes, No Can be used with delay only No
Target date or Delay must be set. If booth are set Target date wins.
If you set a recurrence, you must empty the Target date and set a Delay

Attributes added to tickets

By default, the reminder extension adds attributes to the class Ticket and manages them. These attributes can the be reused and displayed within the classes where reminders are available (User Requests, Changes…)

Fields Type Comment Mandatory ?
Active reminder Foreign key to a(n) Reminder Reminder currently active for the ticket No
List of reminders List List of all reminders that have been started for the ticket No

Notifications

A trigger on threshold can be defined to generate an event when a reminder expires. Parameters to be used are :

  • Target class : Reminder
  • Stop watch : reminder_sw
  • Threshold : 100
You may use the following OQL to notify the agent in charge of a user request for which a reminder has expired: SELECT Person AS p JOIN UserRequest AS ur ON ur.agent_id = p.id WHERE :this->ticket_id = ur.id

Add-on example for User Requests

This chapter provides an add-on example on how to use Reminders with User Requests. It is available as an XML file that can be added to your datamodel.

This add-on depends on the Dispatch User Request extension.

What this add-on does is:

  • Create a new status : Reminded,
  • Allows events ev_assign, ev_dispatch, ev_timeout and ev_autoresolve to be applied from that status,
  • Makes sure that TTO and TTR run while tickets are in the Reminded state,
  • Adds a new event called 'ev_remind' that can be applied when in the Assigned, Dispatched, Redispatched and Escallated TTR status,
  • Adds a field reminders_list to User Requests that list all the reminders that have been launched for that User request (if you want it to be dispayed as a tab, you need to add it to the presentation),
  • Adds the menu 'My reminders' that lists the active reminders of tickets managed by the agent currently connected.

You may download the add-on to use it 'out of the box' or to customize it to match your needs : datamodel.itop-reminder.userrequest-example.xml

extensions/itop-reminder.txt · Last modified: 2022/10/14 16:51 (external edit)
Back to top
Contact us