Las funciones personalizadas de solicitudes se pueden usar en reglas de negocio, disparadores personalizados de solicitudes, ciclo de vida de solicitudes y acciones del temporizador de solicitudes. Para crear funciones personalizadas de solicitudes, vaya a Admin > Gestión de incidentes > Función personalizada de solicitud.
Las acciones personalizadas son funciones personalizadas ejecutables que permiten a los usuarios manipular datos en ServiceDesk Plus y otras aplicaciones externas. Las funciones personalizadas están basadas en Deluge, el lenguaje de scripting propietario de Zoho.
Las acciones personalizadas se pueden usar en Regla de negocio, Disparador personalizado, ciclo de vida de solicitudes y Acciones del temporizador de solicitudes para realizar acciones en solicitudes, otros módulos y aplicaciones externas.
Use las siguientes indicaciones para crear, habilitar, deshabilitar y eliminar acciones personalizadas.
Como se muestra en la siguiente captura de pantalla, 'requestObj' y 'context' se pasarán como argumentos para la función personalizada:

Debe escribir la función personalizada con requestObj como argumento.
Después de ejecutar la función personalizada, se devolverá el tipo de datos Map en el siguiente formato:
Puede actualizar los campos de la solicitud, agregar notas y agregar aprobaciones condicionales para la solicitud devolviendo el mapa desde la función personalizada. El formato utilizado en estas funciones personalizadas es el mismo que el del script y la clase de Python. Para más detalles, visite esta página.
Los nuevos valores de campo deben devolverse desde la función personalizada en un formato específico, como se muestra a continuación:
Consideremos un script de ejemplo para actualizar el asunto de la solicitud a 'Firewall Upgrade' y la prioridad a 'High'.
returnjson = {
"operation": [{
"INPUT_DATA": [{
"request": {
"subject": "Firewall Upgrade",
"priority": {"name": "High"}
}
}],
"OPERATIONNAME": "UPDATE",
"FORMAT": "V3"
}],
"result": "success",
"message": "¡Solicitud actualizada!"
};
return returnjson;
Supongamos que desea asignar alta prioridad a las solicitudes de la categoría Red/Internet. Puede automatizar esta acción utilizando el siguiente script en una acción de regla de negocio/acción de disparador personalizado/ciclo de vida de solicitud:
returnjson = Map();
if(requestObj.containsKey("category"))
{
if(requestObj.get("category").get("name") == "Internet" || requestObj.get("category").get("name") == "Network")
{
returnjson = {
"operation": [{
"INPUT_DATA": [{
"request": {
"priority": {"name": "High"}
}
}],
"OPERATIONNAME": "UPDATE",
"FORMAT": "V3"
}],
"result": "success",
"message": "¡Solicitud actualizada!"
};
}
}
return returnjson;
Después de escribir la función personalizada, puede probarla siguiendo los pasos que se indican a continuación:
Cuando prueba una función personalizada, puede depurar el código e imprimir la salida usando una instrucción llamada info. Por ejemplo, para comprender la estructura de requestObj y context, simplemente puede ejecutar el siguiente script y estudiar la respuesta.
inforequestObj;