Sidebar

Combodo

iTop Extensions

Assign To Me

name:
Assign To Me
version:
0.1.3
release:
2021-04-29
description:
Assign tickets to connected agent
itop-version-min:
2.2.0
dependencies:
itop-ticket, itop-auto-assignment
code:
itop-assign-to-me
state:
public
php-version-max:
PHP 8.1

This extension adds a menu to directly assign any kind of ticket to the agent currently connected.

Features

When a ticket is in a state where an agent can be assigned (or reassigned) to it, the extension adds the capability to directly assign (or reassign) the ticket to the person currently connected, through an additional option in the menu : “Assign to me”.

This feature can be deployed for any kind of ticket. This is is controlled by configuration parameters. By default, the extension enables the “Assign to me” feature to User Requests and Incidents.

For each class of ticket, the list of states where the “Assign to me” menu is available is defined through the configuration options. Furthermore, the stimulus that should be applied to the ticket in these given states to trigger the assign action is, as well, a configuration parameter.

Revision History

Version Release Date Comments
2021-04-29 0.1.3 * Add Russian translation
* Handle transitions where some attributes are must_prompt or must_change
* Allow “assign to me” transtion even if agent does not change
2016-01-22 0.1.2 Accept combodo-autodispatch-ticket as dependency. This makes the extension compatible with iTop 2.4
2016-11-22 0.1.1 Accept extension itop-auto-dispatch-ticket as dependency
2016-01-22 0.1.0 First version

Limitations

The extension has been designed to be, as much as possible, independant from the datamodel. This is why, configuration parameters define, for each class of ticket, what state is concerned and what stimulus should be applied. Nevertheless, the extension has dependencies with attributes from the standard datamodel

  • Agent ID in a ticket is supposed to be 'agent_id',
  • The ticket is expected to handle a support team and this team's id is supposed to be 'team_id',
  • The class lnkPersonToTeam is expected to be the class linking persons to teams.
  • In order to properly handle the transitions where some attributes must change, must be prompted or are mandatory but currently null, the agent_id attribute must be set to “must prompt” or “must change” for these transitions. If this is not the case, the agent will not change during these transition…
An alternative to this extension, with 2 clicks instead of one, is to do it through Form Prefill

Requirements

The extension “Assign to me” requires the module iTop Tickets with at least version 2.2.0 and an auto dispatch module

'itop-auto-assignment/0.1.0||itop-auto-dispatch-ticket/0.1.0||combodo-autodispatch-ticket/1.0.2',

Installation

Use the Standard installation process for this extension.

Configuration

Default configuration of the extension is done through XML. This configuration can be altered through XML and / or completed through the standard configuration file.

By default, the extension enables the “Assign to me” action to User Requests and Incidents and imposes that agent changes:

  <module_parameters>
    <parameters id="itop-assign-to-me" _delta="define">
      <agent_must_change type="bool">true</agent_must_change>
      <allowed_classes type="hash">
        <UserRequest type="hash">
          <dispatched>ev_assign</dispatched>
          <assigned>ev_reassign</assigned>
          <redispatched>ev_assign</redispatched>
        </UserRequest>
        <Incident type="hash">
          <dispatched>ev_assign</dispatched>
          <assigned>ev_reassign</assigned>
          <redispatched>ev_assign</redispatched>
        </Incident>
      </allowed_classes>
    </parameters>
  </module_parameters>

For each class of Ticket, the states where an assignment can be done are listed together with the stimulus triggering that action. These XML lines can be modified through XML customization like any other XML entry of iTop datamodel.

Should an iTop administrator wishes to enable the “Assign to me” action even if the agent won't change and to another type of tickets (like the simple change tickets), just add equivalent lines to the configuration file:

  'itop-assign-to-me' => array (
                'agent_must_change' => false,
                'allowed_classes' => array (
                  'Change' => 
                  array (
                    'new' => 'ev_assign',
                    'rejected' => 'ev_reopen',
                  ),
                ),
        ),
Should your life cycle allow direct transitions from state new to assigned, like in the example above, a team_id attribute must still exist and must be set to the right team before being authorized to apply the stimulus.

Usage

Some filters have been set to authorize, or not, the “Assign to me” action:

  • The user should be different from the agent currently assigned to the ticket (this condition may be disabled though configuration, though),
  • The user should have a profile that enables such action,
  • The person linked to the connected user should belong to the team which the ticket is dispatched to,
  • Configuration parameters should be consistent with the datamodel.

If these conditions are met and if the ticket is in a state where assignment to an agent can be done (as defined through the configuration), the “Assign to me” menu appears in the “Other Actions” menu available for your ticket.

Just select it and the stimulus defined in the configuration file will be applied. Note that action is directly done. No confirmation is required as long as the transition doesn't require some attributes, beside team_id and agent_id, to be changed, prompted or are mandatory but not set yet.

Question & Answers

Q: Can an agent assign a pending ticket to him-self quickly, even if he is already the agent in charge?
A: Yes, since version 0.1.3, using the following configuration

Configuration
   'itop-assign-to-me' => array (
      'agent_must_change' => false,
      'allowed_classes' => array (
         'UserRequest' => array (
            'pending' => 'ev_assign',
            'assigned' => 'ev_reassign',
            'dispatched' => 'ev_assign',
            'redispatched' => 'ev_assign'
         ),
      ),
   ),
extensions/assign_to_me.txt · Last modified: 2022/10/14 15:10 (external edit)
Back to top
Contact us