As funções personalizadas de problema podem ser usadas para executar ações personalizadas, como atualizar campos de problema e o título do problema, atribuir prioridade, adicionar notas, associar incidentes a problemas e assim por diante. Você também pode usar funções personalizadas para manipular dados no ServiceDesk Plus e em outros aplicativos externos. As funções personalizadas são baseadas em Deluge, a linguagem de script proprietária da Zoho. A função personalizada de problema pode ser usada no gatilho personalizado de problema.
Vá para Admin > Espaço do desenvolvedor > Função personalizada.
Navegue até Problema.
Clique em Novo.
Forneça um nome e uma descrição para a função personalizada.
Use a interface simples de arrastar e soltar do Editor de Script Deluge para criar sua ação personalizada.
Clique em Salvar.
Como mostrado na captura de tela abaixo, 'problemObj' e 'context' serão passados como argumentos para a função personalizada.

Você deve escrever a função personalizada com problemObj como argumento. Após executar a função personalizada, o tipo de dado Map será retornado no seguinte formato:
| { "message":"Executado com sucesso", "status":"sucesso/falha" } |
Você pode atualizar campos do problema, o título do problema, adicionar notas e associar incidentes retornando o mapa da função personalizada. O formato usado nas funções personalizadas é o mesmo do script e da classe Python. Para mais detalhes, visite esta página.
Você pode atualizar os campos padrão do problema e os campos adicionais em problemObj.
Os novos valores dos campos devem ser retornados pela função personalizada em um formato específico, como segue:
Script de exemplo para atualizar o título do problema para Firewall Upgrade e a prioridade para High:
returnjson ={
"operation": [
{
"INPUT_DATA": [
{
"problem": {
"priority": {
"name":"High"
},
"title": "FireWall Upgrade"
}
}
],
"OPERATIONNAME": "UPDATE",
"FORMAT": "V3"
}
],
"message": "Script Python de atualização de exemplo",
"result": "success"
};
return returnjson;
Script de exemplo para atribuir prioridade ao problema e atualizar o título com base na categoria do problema
if(problemObj.containsKey("category"))
{
if(problemObj.get("category").get("name") == "Internet" || problemObj.get("category").get("name") == "Network")
{
returnjson = {
"operation": [{
"INPUT_DATA": [{
"problem": {
"priority": {"name": "High"},
"title":"Problema de rede"
}
}],
"OPERATIONNAME": "UPDATE",
"FORMAT": "V3"
}],
"result": "success",
"message": "Problema atualizado!!"
};
}
}
return returnjson;
Após escrever a função personalizada, você pode testá-la seguindo as etapas abaixo:
Clique em Salvar e testar.
Escolha um problema de exemplo na lista de problemas exibida e clique em Avançar.
Os dados que serão passados para a função personalizada serão exibidos no parâmetro problemObj.
Clique em Executar.
Se você fizer chamadas de API usando invokeurl ao testar a função personalizada, a API será invocada. Certifique-se de não invocar uma API que possa resultar em consequências indesejadas.
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 problemObj e context, você pode simplesmente executar o script a seguir e estudar a resposta.
| info problemObj; info context; return true; |
Para mais detalhes sobre Deluge, visite o guia de ajuda do Deluge.
Editar/Excluir função personalizada - Para editar/excluir uma função personalizada, clique no ícone Ações
ao lado da função personalizada.
Habilitar função personalizada - Clique em
para habilitar a função personalizada.
Desabilitar função personalizada - Clique em
para desabilitar a função personalizada.
Ações em massa - Use a lista suspensa Ações para excluir, habilitar ou desabilitar em massa a função personalizada. Para executar esta ação, selecione as funções personalizadas necessárias habilitando as caixas de seleção correspondentes e clique em Ações.
Pesquisar função personalizada - Insira palavras-chave no campo de pesquisa para procurar funções personalizadas.
Filtrar função personalizada - Use a lista suspensa de filtro na parte superior para exibir a função personalizada usada em recursos específicos.









