As funções personalizadas de alteração podem ser usadas em gatilhos personalizados de alteração. Você pode executar funções personalizadas de alteração como ações personalizadas e funções globais. Enquanto as ações personalizadas podem ser invocadas diretamente em gatilhos personalizados de alteração, as ações globais podem ser chamadas em ações personalizadas de alteração.
Para criar funções personalizadas de alteração, acesse Admin > Gerenciamento de Problemas/Alterações > Função Personalizada de Alteração.
As ações personalizadas são funções personalizadas executáveis que permitem aos usuários manipular dados no ServiceDesk Plus e em outros aplicativos externos. As funções personalizadas são desenvolvidas em Deluge, a linguagem de script proprietária da Zoho.
As ações personalizadas podem ser usadas em Gatilhos Personalizados de Alteração para executar ações em alterações, outros módulos e aplicativos externos.
Use as orientações a seguir para criar, habilitar, desabilitar e excluir ações personalizadas.
Clique em Novo na página de visualização em lista de ações personalizadas.
Na página exibida, forneça um nome e uma descrição para sua ação personalizada.
Use a interface simples de arrastar e soltar chamada Editor de Script Deluge para criar sua ação personalizada.
Conforme demonstrado na captura de tela a seguir, 'changeObj' e 'context' serão passados como argumentos para a função personalizada:

Você deve escrever a função personalizada com changeObj 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 alteração, adicionar notas e atualizar funções da alteraçã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 de campo devem ser retornados da função personalizada em um formato específico, conforme demonstrado abaixo:
Vamos considerar uma função de exemplo para atualizar o assunto da alteração para 'Upgrade de Firewall' e a Prioridade para 'Alta'.
returnJson = Collection();
changeID = changeObj.get("id");
instanceJson = context.get("instance");
helpdeskID = instanceJson.get("id");
inputData = {"change": {"title":"Firewall Upgrade","priority":{"name":"High"}}};
resp = invokeurl
[
url: "http://servername:portnumber/api/v3/changes/" + changeID
type: PUT
parameters: {"input_data": inputData,"TECHNICIAN_KEY":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","PORTALID":helpdeskID}
];
response_status = resp.get("response_status");
if("success".equals(response_status.get("status"))) {
returnJson.insert("result":"success");
}
else {
returnJson.insert("result":"failure");
}
return returnJson;
Dentro das funções personalizadas de alteração, você pode chamar funções globais que podem armazenar informações essenciais para se conectar a aplicativos externos, funcionalidades comuns e configurações.
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 changeObj e context, você pode simplesmente executar o script a seguir e estudar a resposta.
info
;
info context;
return true;









