As funções personalizadas de solicitação podem ser usadas em regras de negócios, gatilhos personalizados de solicitação, ciclo de vida da solicitação e ações de temporizador da solicitação. Para criar funções personalizadas de solicitação, vá para Admin > Gerenciamento de Incidentes > Função Personalizada de Solicitação.
As ações personalizadas são funções personalizadas acionáveis que permitem aos usuários manipular dados no ServiceDesk Plus e em outros aplicativos externos. As funções personalizadas são construídas com base no Deluge, a linguagem de script proprietária da Zoho.
As ações personalizadas podem ser usadas em Regra de Negócios, Gatilho Personalizado, ciclo de vida da Solicitação e Ações de Temporizador da Solicitação para executar ações em solicitações, outros módulos e aplicativos externos.
Use as orientações a seguir para criar, habilitar, desabilitar e excluir ações personalizadas.
Conforme demonstrado na captura de tela a seguir, 'requestObj' e 'context' serão passados como argumentos para a função personalizada:

Você deve escrever a função personalizada com requestObj como argumento.
Após executar a função personalizada, o tipo de dado Map será retornado no seguinte formato:
Você pode atualizar os campos da solicitação, adicionar notas e aprovações condicionais para a solicitação retornando o mapa da função personalizada. O formato usado nessas funções personalizadas é o mesmo do script e da classe em Python. Para mais detalhes, visite esta página.
Os novos valores dos campos devem ser retornados pela função personalizada em um formato específico, conforme demonstrado abaixo:
Vamos considerar um script de exemplo para atualizar o assunto da solicitação para 'Firewall Upgrade' e a Prioridade para 'High'.
returnjson = {
"operation": [{
"INPUT_DATA": [{
"request": {
"subject": "Firewall Upgrade",
"priority": {"name": "High"}
}
}],
"OPERATIONNAME": "UPDATE",
"FORMAT": "V3"
}],
"result": "success",
"message": "Request updated!!"
};
return returnjson;
Digamos que você queira atribuir alta prioridade às solicitações da categoria Network/Internet. Você pode automatizar essa ação usando o seguinte script em uma ação de regra de negócios/ação de gatilho personalizado/ciclo de vida da solicitação:
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": "Request updated!!"
};
}
}
return returnjson;
Após escrever a função personalizada, você pode testá-la seguindo as etapas abaixo:
Ao testar uma função personalizada, você pode depurar o código e imprimir a saída usando uma instrução chamada info. Por exemplo, para entender a estrutura de requestObj e context, você pode simplesmente executar o seguinte script e estudar a resposta.
inforequestObj;









