Exécuter les déclencheurs conditionnellement

  • Rversion finale: Zurich
  • Mis à jour 31 juil. 2025
  • 2 minutes de lecture
  • MetricBase Les déclencheurs s’exécutent en fonction d’une seule mesure. Les scripts de condition imposent des exigences supplémentaires qui déterminent si un déclencheur déclenche un flux.

    Avant de commencer

    Rôle requis : admin

    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 condition 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 dans le 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 conditions renvoient toujours true (déclencher) ou faux (ne pas déclencher). Pour apprendre à écrire ces scripts, voir Scripting dans ServiceNow Notions fondamentales. Pour expérimenter avec les scripts, voir Familiarisez-vous avec MetricBase API.

    Procédure

    1. Accédez à la Tous > 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 pour entrer dans le JavaScript. Faire en sorte qu’il renvoie la valeur vrai 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 dans quels cas il ne doit pas s’exécuter). Si tous sont définis sur vrai, le script renvoie 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. Obtenir la définition du déclencheur, transmise en tant que paramètre de fonction de filtre.
      2. Obtenir l’enregistrement (actuel) à l’origine de l’événement déclencheur, transmis en tant que paramètre de fonction de filtre.
      3. Obtenir l’heure de l’enregistrement à laquelle les conditions de déclenchement ont été satisfaites, transmise en tant que paramètre de fonction de filtre.
      4. Obtenir le niveau de déclenchement, transmis en tant que paramètre de fonction de filtre.
      5. Utilisez ces paramètres pour retourner la valeur vrai si les conditions de déclenchement de niveau 1 sont remplies et si travel_state équivaut à 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 conditions doivent s’exécuter rapidement.
    5. Sélectionnez Soumettre.

    Que faire ensuite

    Utilisez cette fonction 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 un script de condition à un flux de déclencheur ici, 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 les MetricBase flux de déclenchement
    Associer un script de condition dans la table des flux de déclencheur MetricBase