Exécuter les déclencheurs sous condition

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 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 : admin

    Pourquoi et quand exécuter cette tâche

    Les scripts de condition s’exécutent lorsque les conditions d’un déclencheur sont remplies, mais avant que le déclencheur n’exécute un Concepteur de flux 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 dupliqués. 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, consultez Scripting dans ServiceNow Notions fondamentales. Pour expérimenter avec les scripts, consultez 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 Périmètre 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 de saisir 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 quels cas il ne doit pas). Si toutes sont évaluées comme 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. Obtenir la définition du déclencheur, transmise en tant que paramètre de fonction de filtre.
      2. Obtenir l’enregistrement (actuel) qui est à 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, transmises comme 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 renvoyer la valeur true si les conditions de déclenchement de niveau 1 sont remplies et travel_state est égal à déplacement ou 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 Envoyer.

    Que faire ensuite

    Utilisez cette option Concepteur de flux 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 Concepteur de flux
    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éclencheur [sys_flow_metric_trigger]. Si vous associez ici un script de condition à un flux de déclenchement, il n’apparaîtra pas dans Concepteur de flux, 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