Action Attendre un message

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 3 minutes de lecture
  • Mettez en pause un flux jusqu’à ce qu’il reçoive un message spécifique de l’API de flux. Spécifiez le message de chaîne qui reprend l’exécution du flux et fournissez éventuellement une valeur de délai d’expiration pour reprendre le flux si aucun message n’est reçu après un certain temps.

    Rôles et disponibilité

    Disponible en tant qu’action Studio de workflow ServiceNow de base. Les utilisateurs disposant du rôle flow_designer ou administrateur peuvent ajouter une action à un flux et définir les détails de configuration.

    Entrées

    Renseignez chaque entrée nécessaire pour votre action. Pour ajouter des valeurs dynamiques, vous pouvez également faire glisser des pastilles à partir du panneau Données ou les sélectionner dans le sélecteur de pilules.

    Message
    Type de données : String

    Chaîne de texte que le flux attend de recevoir de l’API sendMessage(). L’action utilise ce message pour reprendre l’exécution du flux. Pour plus d’informations sur l’API sendMessage(), reportez-vous à la section FlowAPI - sendMessage(String contextSysID, String message, String payload).

    Activer le délai
    Type de données : True/False
    Option permettant de limiter le temps pendant lequel le flux attend que l’action soit terminée avant de continuer.
    Remarque :
    Utilisez l’option Activer le délai d’expiration pour éviter que le flux attende indéfiniment. Si le message n’est pas reçu, une valeur de délai d’expiration spécifie quand le système peut ignorer l’action Attendre le message et passer à l’élément suivant dans le flux. Vous devez définir une valeur de durée pour activer un délai d’expiration.
    Durée
    Type de données : Duration

    Temps d’attente du flux avant de continuer lorsque l’option Activer le délai est sélectionnée. Entrez le temps d’attente en heures, minutes et secondes. Si vous laissez ce champ vide, le flux n’attend pas.

    Sorties

    Ces résultats apparaissent dans le panneau de données. Vous pouvez les utiliser comme entrées ailleurs dans votre flux.

    Charge utile
    Type de données : String

    Chaîne de texte renvoyée par l’API sendMessage(). Le flux parent peut utiliser les valeurs de la charge utile comme entrées pour d’autres actions ou logiques de flux.

    État
    Type de données : Choice
    L’état d’achèvement de l’action en tant que valeur numérique.
    • 0 (réussite)
    • 1 (erreur)

    Directives générales

    Utilisez ces instructions générales lorsque vous créez des flux qui attendent un message.
    Convertir les activités en attente de l’événement de workflow à l’aide de cette action
    Convertissez les workflows classiques qui utilisent l’activité Attendre l’événement WF en flux qui utilisent l’action Attendre un message. Vous pouvez utiliser le nom de l’événement comme texte du message qui reprend le flux.
    Utiliser la méthode sendMessage() pour créer des messages
    Créez des messages pour les flux en attente à l’aide de la méthode sendMessage(). Si vous souhaitez que le flux génère le message reprenne l’exécution, créez une action personnalisée avec une étape de script pour générer le message. Vous pouvez également créer une logique de script qui s’exécute en dehors du flux, comme un événement pour générer le message. Pour plus d’informations sur l’API sendMessage(), reportez-vous à la section FlowAPI - sendMessage(String contextSysID, String message, String payload).

    Attendre l’exécution du message Revenir à la logique de flux

    Détails d’exécution de l’action Attendre un message à l’état En attente. Les autres étapes du flux sont à l’état Non exécuté.

    Dans cet exemple de flux, l’état d’approbation détermine s’il convient d’exécuter l’action Attendre un message. Si l’état d’approbation est ignoré ou rejeté, le flux attend un message de l’API sendMessage() avant de continuer. Vous pouvez utiliser cette logique pour corriger une demande d’approbation rejetée et la soumettre à nouveau pour approbation.

    Dans cet exemple, Fred Luddy a rejeté l’approbation et a demandé plus d’informations. Pour reprendre le flux, quelqu’un doit répondre aux commentaires de Fred, puis exécuter l’API sendMessage() pour envoyer le bon message Reprendre le flux.

    Détails d’exécution de l’action Attendre un message à l’état Terminé. La valeur d’exécution de la charge utile est Resoumis pour approbation.

    Après avoir corrigé la demande de changement, quelqu’un a exécuté l’API sendMessage() pour envoyer le message Reprendre le flux et envoyer au flux une valeur de charge utile Nouvelle soumission pour approbation. Pour plus d’informations sur l’API sendMessage(), reportez-vous à la section FlowAPI - sendMessage(String contextSysID, String message, String payload).

    Étant donné que la valeur du message API correspondait aux conditions de l’action Attendre un message, le flux a repris son exécution. Dans ce cas, le flux a utilisé un bloc Revenir à la logique de flux pour réexécuter l’action Demander l’approbation.

    Exemple de flux d’activité d’un enregistrement de changement avec le texte Resoumis pour approbation.

    Voici le journal d’activité de la demande de changement. La valeur de la charge utile Nouvelle soumission pour approbation a été ajoutée au champ Commentaires supplémentaires .