Exécuter les déclencheurs sous condition

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 2 minutes de lecture
  • MetricBase Les déclencheurs s’exécutent en fonction d’une seule mesure. Les scripts de conditions imposent des exigences supplémentaires qui déterminent si un déclencheur déclenche un flux.

    Avant de commencer

    Rôle requis : administrateur

    Pourquoi et quand exécuter cette tâche

    Les scripts de conditions s’exécutent lorsque les conditions d’un déclencheur sont remplies, mais avant que le déclencheur n’exécute un Studio de workflow flux. De cette façon, les scripts de conditions peuvent empêcher les déclencheurs d’exécuter des flux même lorsque les conditions de déclenchement sont remplies. Par exemple, les données fluctuent souvent au fil du temps. De petites fluctuations peuvent provoquer des événements déclencheurs indésirables et en double. Un script de condition peut empêcher cette duplication erronée.

    Les scripts de condition sont parfois aussi appelés scripts de modérateur.

    Les scripts de condition renvoient toujours vrai (déclencheur) ou faux (ne pas déclencher). Pour apprendre à écrire ces scripts, reportez-vous à la rubrique Scripting dans ServiceNow Notions fondamentales. Pour expérimenter avec des scripts, reportez-vous à la rubrique Familiarisez-vous avec MetricBase API.

    Procédure

    1. Accédez à la Tout > MetricBase > Déclencheurs MetricBase > Script des conditions de déclenchement.
    2. Sélectionnez Nouveau.
    3. Renseignez les champs du formulaire.
      Champ Description
      Nom Nom du script de condition.
      Application Champ d’application du script de condition. La valeur, Global, signifie que l’action s’applique à toutes les applications.
      Description Explication de ce que fait le script de condition. Quand renvoie-t-il Vrai ou Faux ?
      Script Champ permettant d’entrer le JavaScript. Faites en sorte qu’il retourne la valeur true pour exécuter un flux.
    4. Écrivez le script de condition.

      Lorsque vous écrivez un script, pensez aux instructions conditionnelles (pour quels cas il doit s’exécuter et pour quels cas il ne doit pas). Si toutes les évaluations sont vraies, le script renvoie la valeur vrai et le flux s’exécute, sinon, ce n’est pas le cas. L’exemple de script suivant déclenche un flux lorsqu’un drone se déplace trop vite à basse altitude (défini par le niveau 1). L’exemple montre une approche typique de l’écriture d’un script de condition.

      1. Obtenez la définition du déclencheur, transmise en tant que paramètre de fonction de filtre.
      2. Récupérez l’enregistrement (actuel) à l’origine de l’événement déclencheur, transmis comme paramètre de fonction de filtre.
      3. Obtenir à partir de l’enregistrement l’heure à laquelle les conditions de déclenchement ont été satisfaites, transmise en tant que paramètre de fonction de filtre.
      4. Obtenez le niveau de déclenchement, transmis en tant que paramètre de fonction de filtre.
      5. Utilisez ces paramètres pour renvoyer la valeur true si les conditions de déclenchement de niveau 1 sont remplies et que travel_state correspond à un déplacement ou à un excès de vitesse.
        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
        }
        
      Remarque :
      Les scripts de condition doivent s’exécuter rapidement.
    5. Sélectionnez Soumettre.

    Que faire ensuite

    Utilisez cette propriété Studio de workflow pour associer un flux à un déclencheur. Lors de la configuration d’un flux, vous pouvez sélectionner un script de condition que vous avez créé.
    Figure 1. Ajouter un script de condition à une définition de déclencheur dans Studio de workflow
    Ajouter un script de condition à une définition de déclencheur.

    Vous pouvez également associer un script de condition à un flux de déclenchement dans la MetricBase table Flux de déclenchement [sys_flow_metric_trigger]. Si vous associez ici un script de condition à un flux de déclenchement, il n’apparaîtra pas dans Studio de workflow, mais il s’exécutera quand même avec le déclencheur.

    Figure 2. Associer un script de condition dans MetricBase les flux de déclenchement
    Associer un script de condition dans la table de flux de déclencheur MetricBase