Action engine

Da itm wiki.
Versione del 3 nov 2017 alle 14:59 di Renato.daverio (discussione | contributi) (Resource on project association)

Action Engine Configuration

Action Engine enabled the user to configured an Action and the activation condition. An action is composed by:

  • General Information
  • Trigger and Activation condition
  • Parameters
  • Tasks to execute

General

The following images shown the action' user interface and provide some more detail about this functionality

Action Configuration

Parameters

TBC

Events Managed

Category / Class General Project Service Ticket
LDAP Events LDAP Message N/A N/A N/A
MB Scheduler Reporting distribution by mail

Resource on project association

Upload relations Resource-Projects

N/A N/A N/A
User Note Events User Note Created

User Note Updated

N/A N/A N/A
Internal System Events N/A Project Created

Project Updated

Service Created

Service Updated

Ticket Activity Created

Ticket Activity Updated

Ticket Created

Ticket Updated

Workflow Button

External System Events N/A N/A N/A Incoming Message
OCE Events N/A N/A N/A Trigger Value Reached
LDAP Message

This event is raised when MB sends an itmSUITE internal Message to PMSM with type "Ldap Synchronization".

Reporting distribution by mail

This event is raised when MB sends an itmSUITE internal Message to PMSM with type "Reporting distribution by Mail".

Resource on project association

This event is raised when MB sends an itmSUITE internal Message to PMSM with type "Resource on Project Associations".

Upload relations Resource-Projects

TBC

User Note Created

TBC

User Note Updated

TBC

Project Created

TBC

Project Updated

TBC

Service Created

TBC

Service Updated

TBC

Ticket Activity Created

TBC

Ticket Activity Updated

TBC

Ticket Created

TBC

Ticket Updated

TBC

Workflow Button

TBC

Incoming Message

When the incoming message is validated by EEM, the informations are sent to MB (Message Bus) that dispatch it to the itmSUITE® Action engine and a configured Action is activated.

Trigger Value Reched

TBC

VCE Condition

Condition'tab enable the user to define a Boolean condition that should be verify before activate the action' . Generally the conditions works on input Parameter.

Action Configuration

Task

Tasks tab enable the user to define one or more task that will be executed sequentially if the condition is valid. The system manage different type of task, the most flexible and powerful is Scripting task, based on Javascript framework, enable the user to call itmSUITE® primitive

Action Task Configuration

Basic Task

TBC

Scripting Task

Scripting Task in a JavaScript editor: it allows to use many methods to perform a large set of operations on itmSUITE entities (Ticket, Service, CI etc...)

Outbound Comunication

itmSUITE® module can send information towards third parties software using scripting tasks. This can be performed:

  • Sending a preformatted mail
  • Calling a third parties web services
Action Task Configuration

Scripting Task Tutorial

Simple Event Handler

We need to define a function main, which accept two arguments:

  • event
  • incomeParameters
Empty Task Handler
/**
* @param event
* @param incomeParameters
*/
function main(event, incomeParameters)
{
}
incomeParameters usage
/**
* 1. print as warning event name and Task Income Parameters
* 2. accessing to income parameter by name
* @param event
* @param incomeParameters
*/
function main(event, incomeParameters)
{
var message = " event: " + event.getClass().getSimpleName();
var entries = incomeParameters.entrySet().toArray();
for each (var obj in entries)
{
message = message
+ "\n"
+ "key:" + obj.getKey() + "\n"
+ "value:" + (obj.getValue().getValue() != null ? obj.getValue().getValue() : "null");
}
//suppose we have parameter under "ticket" name
//lets retrieve it
var value = incomeParameters.getObjectValue("ticket");
message = message
+ "\n"
+ "ticket:" + value;
//lets retrieve type of incomeParameters.getObjectValue("ticket")
var type = incomeParameters.getParameterTypeModel("ticket");
message = message
+ "\n"
+ "ticket:" + type.getName();
taskRuntime.addWarning(message);
}