Para la situación de emergencia anterior, donde el impacto es "Alto", la "Acción" requerida puede activarse mediante el archivo script/clase.
Los miembros del E-CAB pueden configurarse con mucha anticipación para este tipo de situaciones de emergencia y puede ejecutarse el archivo de clase/script correspondiente. Para realizar acciones, es necesario tener el archivo de clase en la ubicación especificada para la implementación de la acción.
En caso de un archivo de "clase":
*De manera predeterminada, el jar debe colocarse en el directorio [SDP_Home]/integration/lib/
*Ejemplo:com.servicedeskplus.integration.ChangeActionImplementation
Nota: Es necesario que el archivo de clase se convierta en un archivo jar para implementar la acción.

Consideremos la situación en la que los roles desempeñados por los miembros del E-CAB deben actualizarse. Se debe seguir el siguiente formato JSON para activar la acción requerida.
UPDATE_ROLES (Script/Class)
{
"message": "Agregando miembros del CAB de emergencia mediante activador personalizado",
"operations": [
{
"operation_name": "UPDATE_ROLES",
"input_data": {
"change": {
"roles": [
{
"id": 5,
"name": "Gerente de línea",
"users": [
{
"email": "Aaron@xyz.com",
"name": "Aaron"
},
{
"email": "Abby@xyz.com",
"name": "Shawn Adams"
}
]
}
]
}
}
}
]
}
A continuación se muestra una implementación de ejemplo para la acción de "Cambio" :
package com.servicedeskplus.integration;
import com.manageengine.servicedesk.actionplugin.executor.ActionInterface
import com.manageengine.servicedesk.actionplugin.executor.ExecutorData
/**
*La implementación del activador debe realizarse en esta clase
*@executorData, contiene DataJSON,diffJSON
*/
public class ChangeActionImplementation extends DefaultActionInterface {
public JSONObject execute(ExecutorData executorData) throws Exception {
//obtener los datos del cambio en formato API
JSONObject changeData = executorData.getDataJSON();
//obtener el campo de impacto
JSONObject impact = changeData.get("impact");
//obtener el valor asociado con el impacto
String impactName = impact.get("name");
JSONObject returnJSON = new JSONObject();
//Arreglo de operaciones que se realizarán en el activador; actualmente en cambio solo se proporciona la opción UPDATE_ROLES
JSONArray operations = new JSONArray();
//JSON para la operación específica
JSONObject operation = new JSONObject();
//JSON para proporcionar detalles de la operación
JSONObject input_data = new JSONObject();
//JSON para el cambio de entidad
JSONObject change = new JSONObject();
//Arreglo de roles que se configurarán
JSONArray roles = new JSONArray();
//JSONObject para los detalles del rol
JSONObject roleObject = new JSONObject();
//arreglo de usuarios que se configurarán
JSAONArray users = new JSONArray();
//JSONObject para los detalles del usuario
JSONObject user1 = new JSONObject();
JSONObject user2 = new JSONObject();
if (impactName.equalsIgnoreCase("High") {
returnJSON.put("message", "Agregando miembros del CAB de emergencia mediante el activador");
operation.put("operation_name", "UPDATE_ROLES");
roleObject.put('id': ROLEID of CAB);
roleObject.put("name": "Nombre del rol, aquí CAB");
user1.put("email": "emailId of user");
user1.put("name": "name of user");
user2.put("id": ID of user);
// Ingrese el nombre del usuario.
user2.put("name": "name of user");
users.put(user1);
users.put(user2);
roleObject.put("users", users);
roles.put(roleObject);
change.put("roles", roles);
input_data.put("change", change);
operation.put("input_data", input_data);
operations.put(operation);
returnJSON.put("operations", operation);
} else {
returnJSON.put("message", "Agregando miembros del CAB mediante el activador");
operation.put("operation_name", "UPDATE_ROLES");
roleObject.put("id ": ROLEID of CAB);
roleObject.put("name": "Nombre del rol, aquí CAB ");
user1.put("email": "emailId of user");
user1.put("name": "name of user");
user2.put("id": ID of user);
user2.put("name": "name of user");
users.put(user1);
users.put(user2);
roleObject.put("users", users);
roles.put(roleObject);
change.put("roles", roles);
input_data.put("change", change);
operation.put("input_data", input_data);
operations.put(operation);
returnJSON.put("operations", operation);
}
return returnJSON;
}
Los siguientes son los métodos utilizados en la implementación de la clase:
*getDataJSON()- Para obtener la entrada en formato API, que proporciona información completa sobre el "cambio".
*getDiffJSON()- Devuelve los detalles de los campos que se modificaron recientemente en el cambio. Para obtener información sobre los campos modificados recientemente en el "cambio".
Haz clic aquí para ver los valores devueltos en getDataJSON() y getDiffJSON()
Una vez conocido el formato JSON, la acción puede ejecutarse mediante un archivo de clase o un archivo script. Para realizar acciones, es necesario tener el archivo Script en la ubicación especificada para la implementación de la acción.
En caso de un archivo "script":
*De manera predeterminada, los scripts deben colocarse en el directorio [SDP_Home]/integration/custom_scripts/
*Ejemplo: py addApprovers.py

Haz clic aquí para ver un archivo script de ejemplo para la acción de "Cambio":