Executar gatilhos condicionalmente

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 2 min. de leitura
  • MetricBase os gatilhos são executados com base em uma única métrica. Os scripts de condição impõem requisitos adicionais que determinam se um gatilho inicia um fluxo.

    Antes de Iniciar

    Função necessária: administrador

    Por Que e Quando Desempenhar Esta Tarefa

    Os Scripts de condição são executados quando as condições de um gatilho são atendidas, mas antes que o gatilho execute um fluxo Workflow Studio. Dessa forma, os Scripts de condição podem impedir que os gatilhos executem fluxos mesmo quando as condições do gatilho forem atendidas. Por exemplo, os dados geralmente flutuam ao longo do tempo. Pequenas flutuações podem causar eventos de gatilho duplicados e indesejados. Um Script de condição pode impedir essa duplicação incorreta.

    Os scripts de condição às vezes também são chamados de scripts de moderador.

    Scripts de condição sempre retornam verdadeiro (gatilho) ou falso (não gatilho). Para saber como escrever esses scripts, consulte Scripts no ServiceNow Noções básicas. Para experimentar scripts, consulte Familiarize-se com MetricBase APIs.

    Procedimento

    1. Navegar até Todos > MetricBase > Gatilhos de MetricBase > Script de condição do gatilho.
    2. Selecione Novo.
    3. No formulário, preencha os campos.
      Campo Descrição
      Nome Nome do Script de condição.
      Aplicação Escopo do Script de condição. O valor Global significa que a ação se aplica a todos as aplicações.
      Descrição Explicação do que o Script de condição faz. Quando ele retorna Verdadeiro ou Falso?
      Script Campo para inserir o JavaScript. Faça com que ele retorne verdadeiro para executar um fluxo.
    4. Escrever o Script de condição.

      Ao escrever um script, pense nas instruções condicionais (para quais casos ele deve ser executado e em quais casos ele não deve). Se todos forem avaliados como verdadeiros, o script retornará verdadeiro e o fluxo será executado, caso contrário, não será. O script de exemplo a seguir aciona um fluxo quando um drone está viajando muito rápido em uma altitude baixa (definido pelo nível 1). O exemplo mostra uma abordagem típica para escrever um script de condição.

      1. Obtenha a definição do gatilho, passada como um parâmetro de função de filtro.
      2. Obtenha o registro (atual) que está causando o evento de gatilho, passado como um parâmetro de função de filtro.
      3. Obtenha a hora do registro em que as condições de gatilho foram atendidas, passada como um parâmetro de função de filtro.
      4. Obtenha o nível do gatilho, passada como um parâmetro de função de filtro.
      5. Use esses parâmetros para retornar verdadeiro se as condições de acionador de nível 1 forem atendidas e travel_state for igual a viajar ou excesso de velocidade.
        function filter(/*GlideRecord*/ triggerDefinition, /*GlideRecord*/ current, /*GlideDateTime*/ start, /*int*/ level) {
        	// retrieve current travel state of drone
        	var travel_state = String(current.travel_state);
        	
        	// the drone is traveling at a significant speed, and the altitude just went below the threshold 
        	if (((travel_state === 'traveling') || (travel_state === 'speeding')) && (level === 1)){
        		return true; //process this trigger
        	}
        	
        	return false; // don't process this trigger
        }
        
      Nota:
      Os Scripts de condição devem ser executados rapidamente.
    5. Selecione Enviar.

    O que Fazer Depois

    Use Workflow Studio para associar um fluxo a um gatilho. Ao configurar um fluxo, você pode selecionar um Script de condição criado.
    Figura 1. Adicionar um Script de condição a uma definição de gatilho em Workflow Studio
    Adicionar um Script de condição a uma definição de gatilho.

    Você também pode associar um script de condição a um fluxo de gatilho na tabela MetricBase Fluxos de gatilho [sys_flow_metric_trigger]. Se você associar um script de condição a um fluxo de gatilho aqui, ele não aparecerá em Workflow Studio, mas ainda será executado com o gatilho.

    Figura 2. Associe um Script de condição em MetricBase Fluxos de gatilho
    Associe um Script de condição na tabela de fluxos de gatilho MetricBase