Executando guias de ordem automaticamente
Os guias de pedido do catálogo de serviços permitem que os clientes façam uma única solicitação do catálogo de serviços que pode gerar vários itens solicitados. Os administradores podem configurar guias de pedido para serem executados automaticamente, a partir de um fluxo de trabalho ou de um script para gerar um conjunto de itens solicitados sem enviar manualmente uma solicitação do catálogo de serviços. Os administradores também podem revisar e reprocessar as falhas da guia de pedido.
Como um caso de uso, um fluxo de trabalho de integração para um novo funcionário pode executar um guia de pedido para solicitar itens automaticamente para esse funcionário.
Executando guias de ordem de scripts
Executar guias de pedido com um script do lado do servidor é mais complexo do que usar fluxos de trabalho, mas permite mais flexibilidade e pode ser usado em situações sem fluxo de trabalho.
Use a classe Java SNC.ScriptableOrderGuide para executar guias de pedido com um script.
Use o construtor SNC.ScriptableOrderGuide(String orderGuideId) para criar um novo objeto ScriptableOrderGuide.
Resumo do método
| Método | Retornar Valor | Descrição |
|---|---|---|
| process(cadeia de caracteres json) | booliano | Executa a guia de pedido usando o parâmetro de cadeia de caracteres codificada por JSON como entrada para a guia de pedido. Retorna verdadeiro ou falso, dependendo se o processamento foi bem-sucedido ou não. Nota:
Os parâmetros opened_by e requested_for devem ser passados para a guia de pedido e ambos devem ter valores sys_id de registro do usuário válidos. Se o processamento for bem-sucedido e uma solicitação for criada pela guia de pedido, você poderá recuperar a solicitação GlideRecord usando getRequest (). Se o processamento falhar, você poderá recuperar o GlideRecord com falha usando getFailure()e enviar o script para reprocessamento usando reprocessar. |
| reprocess(falha de GlideRecord) | booliano | Executa o guia de pedido novamente usando o parâmetro de cadeia de caracteres codificado por JSON armazenado no GlideRecord de falha. |
| getMessage() | Cadeia de caracteres | Recupera a mensagem preenchida após o processamento ou reprocessamento. |
| getRequest() | GlideRecord | Recupera a solicitação GlideRecord. |
| getFailure() | GlideRecord | Recupera a falha GlideRecord da tabela Falhas do guia de pedido programável [sc_script_order_guide_failure]. |
Exemplo de script
// Creating the object to later be JSON encoded
var json = {"opened_by":"62826bf03710200044e0bfc8bcbe5df1","requested_for":"06826bf03710200044e0bfc8bcbe5d8a","department":"221f3db5c6112284009f4becd3039cc9"};
var now_GR = new GlideRecord("sc_cat_item_guide");
if (gr.get("name","IT Onboarding SOG")) {
var sog = new SNC.ScriptableOrderGuide(gr.getValue("sys_id"));
var result = sog.process(new JSON().encode(json));
if(!result)
gs.log("Processing the scriptable order guide failed with message: " + sog.getMessage());
else {
var request = sog.getRequest();
gs.log("Request created - " + request.sys_id); } }Execução de guias de ordem de fluxos de trabalho
A execução de um guia de pedido a partir de um fluxo de trabalho é adequada se você incluir guias de pedido como parte de um processo baseado em fluxo de trabalho mais amplo.
| Campo | Descrição |
|---|---|
| Guia de pedido | O nome do guia de pedido que esta atividade processa. Por exemplo, Exemplo de integração de funcionários de TI. |
| Script | Um script passando informações para o guia de pedido. Essas informações são enviadas como um parâmetro de cadeia de caracteres codificado em JSON atribuído à variável de resposta. O script deve atender a estes requisitos:
|
Resultados
- Êxito: a atividade conseguiu processar a guia de pedido. Isso não significa que uma solicitação foi criada. Se uma solicitação tiver sido criada, a solicitação sys_id será adicionada ao bloco de anotações do fluxo de trabalho na variável sc_request.
- Falha: ocorreu uma falha ao processar a guia de pedido, criando um registro de falha. Se o processamento falhar, você poderá exibir e editar o registro de falha.
Exemplo de fluxo de trabalho
O fluxo de trabalho de exemplo de fluxo de trabalho de TI de integração de funcionários usa este exemplo para gerar itens do catálogo de TI para um novo funcionário como parte de um processo de integração.
- Obtenha uma cadeia de caracteres JSON gerada anteriormente do registro de mudança de RH.
- Anexe os parâmetros obrigatórios opened_by e requested_for a essa cadeia de caracteres.
- Envie a nova cadeia de caracteres para processamento pela guia de pedido.
var parameters = new JSON().decode(current.payload);
// Need to amend the json object to include additional values.
parameters.opened_by = current.opened_by + "";
parameters.requested_for = current.opened_for + "";
answer = new JSON().encode(parameters);Exibir falhas da guia de pedido
O processamento do guia de pedido pode falhar, por exemplo, se o guia de pedido que está sendo executado não existir. Quando ocorre uma falha durante o processamento do guia de pedido, o submódulo Falhas do guia de pedido programável permite revisar e reprocessar as falhas. Um registro é criado para cada falha e, depois de corrigir os erros que causaram a falha inicial, você pode reprocessar as guias de pedido com falha.
Por Que e Quando Desempenhar Esta Tarefa
Se ocorrer uma falha, um registro de falha será criado na tabela Falhas do guia de pedido programável [sc_script_order_guide_failure].
Para exibir detalhes de uma falha, navegue até e abra um registro de falha.
Falhas de reprocessamento
Se você corrigiu o erro que causou a falha inicial, poderá reprocessar as guias de pedido com falha.