Créer une action de flux de données pour obtenir l’activité de l’utilisateur

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 9 minutes de lecture
  • Créez une action de flux de données pour obtenir l’activité de l’utilisateur à partir d’une application SaaS.

    Avant de commencer

    Si vous utilisez un spoke existant ServiceNow® Hub d'intégration , vérifiez s’il dispose d’une action de flux de données pour obtenir une activité utilisateur que vous pouvez utiliser au lieu d’en créer une.

    Pour plus d’informations sur les actions de flux de données, consultez Actions de flux de données.

    Rôle requis : flow_designer ou admin

    Pourquoi et quand exécuter cette tâche

    Surveillez l’activité des utilisateurs pour rechercher les abonnements logiciels payants par votre entreprise, mais qui ne sont pas utilisés. Vous pouvez récupérer ces abonnements inutilisés pour réduire les dépenses logicielles de votre entreprise.

    Avant de créer l’action de flux de données, décidez de la manière dont vous souhaitez définir l’activité significative de l’utilisateur. Une activité significative peut être une combinaison d’actions de l’utilisateur. Créez une action de flux de données distincte pour chaque mesure d’activité utilisateur. Par exemple, l’intégration des réunions du système Webex de base définit une activité significative comme l’organisation d’une réunion. Il utilise une action de flux de données pour obtenir les dates des dernières réunions hébergées pour tous les utilisateurs. Si vous souhaitez également que l’intégration des Webex réunions inclue la connexion en tant qu’activité significative, vous devez créer une deuxième action de flux de données pour obtenir les heures de connexion les plus récentes pour tous les utilisateurs.

    Votre action de flux de données pour obtenir des utilisateurs peut renvoyer une mesure d’activité utilisateur telle que l’heure de la dernière connexion. Dans ce cas, vous n’avez pas besoin de créer une action de flux de données pour obtenir l’activité de l’utilisateur ou un flux secondaire pour obtenir l’activité de l’utilisateur, sauf si vous souhaitez définir des mesures supplémentaires de l’activité de l’utilisateur. Assurez-vous que votre flux secondaire pour obtenir des utilisateurs définit cette mesure d’activité utilisateur comme dernière entrée d’activité dans l’action Mettre à jour et insérer l’abonnement de l’utilisateur .

    Procédure

    1. Accédez à la Tout > Concepteur de flux > Concepteur.
    2. Cliquez sur Nouveau , puis sélectionnez Flux de données.
    3. Renseignez les champs du formulaire.
      Tableau 1. Formulaire Propriétés de l’action
      Champ Valeur
      Nom Nom de votre choix. Par exemple, Obtenir l’activité de l’utilisateur.
      Accessible depuis Tous les périmètres de l’application.
      Catégorie Laissez ce champ vide.
      Protection Aucune.
      Application Application de spoke à intégrer à l’application SaaS. Il peut s’agir d’un spoke existant Hub d'intégration ou d’un nouveau spoke que vous avez créé.
      Annotation dans le flux Laissez ce champ vide.
      Description Description de votre choix.
    4. Cliquez sur Envoyer.
    5. Dans la section Entrées du Plan d’action, cliquez sur Créer une entrée.
    6. Ajoutez une entrée de temps de rétrospective.
      Tableau 2. Entrées
      Étiquette Nom Type Obligatoire
      Heure de la rétrospective look_back_time Date/Heure Oui
    7. Si l’API avec laquelle vous travaillez exige une authentification de l’utilisateur pour les demandes, ajoutez des entrées pour l’authentification.
      L’ID d’utilisateur administrateur et le nom du site sont des exemples d’entrées d’authentification utilisateur courantes. Consultez la documentation de l’API choisie pour en savoir plus sur les exigences en matière d’authentification utilisateur dans votre cas spécifique. Si l’API nécessite un jeton d’accès, une variable Valeur d’informations d’identification est automatiquement créée ultérieurement. Vous n’avez pas besoin d’ajouter un jeton d’accès comme entrée.

      Lorsque vous utilisez votre action de flux de données terminée dans un flux secondaire, vous définissez les valeurs à transmettre comme entrées.

    8. Cliquez sur Demander dans le plan d’action.
    9. Renseignez les champs du formulaire.
      Tableau 3. Formulaire de demande
      Champ Valeur
      Comment obtiendrez-vous des données ? Choisissez Étape REST ou Étape SOAP. Votre choix dépend de l’API de l’application SaaS à laquelle vous intégrez.
      Activer la pagination Sélectionné.
      Exécuter un script avant chaque demande Non sélectionné.
    10. Cliquez sur l’étape de configuration de la pagination dans le plan d’action.
    11. Définissez les variables de pagination en fonction des paramètres de requête utilisés par l’API SaaS.

      Si vous utilisez une pagination basée sur le décalage, utilisez le modèle de pagination Limite/Décalage pour précharger la configuration de pagination.

      Remarque :
      La valeur de la variable réservée getNextPage détermine s’il faut demander une autre page de résultats. Tant que la variable getNextPage est vraie, l’action continue d’envoyer des demandes pour la page suivante.
    12. Écrivez un script de variables de pagination pour mettre à jour les variables de pagination.

      Le script s’exécute à chaque demande. Si vous utilisez un modèle de pagination, ajustez le script préchargé selon vos besoins.

      L’image suivante montre un exemple terminé de l’étape de configuration de la pagination. Cet exemple est issu de l’action de flux de données Obtenir les utilisateurs utilisée dans le flux secondaire Webex Télécharger les abonnements.

      Étape de configuration de la pagination
      Remarque :
      Les variables de pagination prennent uniquement en charge les données de type chaîne. Pour effectuer des opérations mathématiques, convertissez la valeur en nombre entier, effectuez toutes les opérations requises, puis reconvertissez-la en chaîne.
    13. Cliquez sur Étape SOAP ou Étape REST dans le plan d’action en fonction de l’option que vous avez sélectionnée pour la façon dont vous obtiendrez des données.
    14. Si vous avez sélectionné SOAP, remplissez le formulaire comme indiqué.
      Tableau 4. Formulaire de l’étape SOAP
      Champ Valeur
      Détails de la connexion
      Connexion Utilisez un alias de connexion.
      Alias de connexion Alias de connexion que vous avez créé lors de la création du profil d’intégration. Si vous n’avez pas encore créé de profil d’intégration, suivez les étapes pour créer un profil d’intégration personnalisé avec un alias de connexion.
      Point de terminaison Cette valeur est automatiquement renseignée lorsque vous sélectionnez l’alias de connexion. Il est défini sur l’URL de connexion à partir de l’enregistrement de connexion HTTP(s) lié à l’alias.
      Détails de la demande
      Enveloppe de version Manuellement.
      Action SOAP Demande API pour obtenir une liste d’activités utilisateur significatives. Par exemple, l’intégration Réunions du système Webex de base définit une activité utilisateur significative comme l’hébergement d’une réunion afin qu’elle utilise la demande LstsummaryMeeting pour obtenir une liste de toutes les réunions. Consultez la documentation de l’API choisie pour sélectionner la demande appropriée.
      Enveloppe SOAP Message de demande XML pour obtenir une liste de tous les utilisateurs. Consultez la documentation de l’API choisie pour apprendre à écrire un message de requête XML. En général, l’en-tête doit contenir vos variables d’entrée pour l’authentification de l’utilisateur ainsi que la variable Valeur d’informations d’identification comme jeton d’accès. Le corps doit inclure la demande d’obtention d’une liste d’activités utilisateur significatives, une date de début définie comme entrée Heure de la rétrospective et vos variables de l’étape de configuration de la pagination.
      Remarque :
      Pour obtenir un exemple d’enveloppe SOAP, consultez l’action de flux de données Obtenir l’activité de l’utilisateur utilisée dans le flux secondaire Mettre à jour l’activité de l’utilisateur Webex .
    15. Si vous avez choisi REST, remplissez le formulaire comme indiqué.
      Tableau 5. Formulaire Étape REST
      Champ Valeur
      Détails de la connexion
      Connexion Utilisez un alias de connexion.
      Alias de connexion Alias de connexion que vous avez créé lors de la création du profil d’intégration. Si vous n’avez pas encore créé de profil d’intégration, suivez les étapes pour créer un profil d’intégration personnalisé avec un alias de connexion.
      URL de base Cette valeur est automatiquement renseignée lorsque vous sélectionnez l’alias de connexion. Il est défini sur l’URL de connexion à partir de l’enregistrement de connexion HTTP(s) lié à l’alias.
      Détails de la demande
      Demande de version Manuellement.
      Chemin d'accès à la ressource Chemin d’accès à la ressource. Cette valeur est ajoutée à l’URL de base. Consultez la documentation de l’API avec laquelle vous travaillez pour savoir comment construire le chemin d’accès de la ressource.
      Fonction de message REST GET.
      Paramètres de requêtes Ajoutez des paramètres pour la pagination. Définissez les valeurs en tant que variables que vous avez créées à l’étape de configuration de la pagination.
      Ajoutez un autre paramètre pour la date de début afin que la demande renvoie les résultats de la date de début à la date actuelle. Définissez la valeur comme entrée de délai de la rétrospective .
      Remarque :
      Assurez-vous que la variable Date/Heure d’entrée de la rétrospective est correctement formatée pour l’API avec laquelle vous travaillez. Si vous devez reformater ou convertir en un autre type de données tel qu’une chaîne, vous pouvez le faire dans l’étape de script de prétraitement de l’action.

      L’image suivante montre un exemple terminé de l’étape REST. Cet exemple est tiré de l’action de flux de données Obtenir le journal d’audit utilisée dans le flux secondaire Mettre à jour l’activité de l’utilisateur Jira .

      Étape REST
    16. Cliquez sur Analyse dans le plan d’action.
    17. Renseignez les champs du formulaire.
      Tableau 6. Formulaire d’analyse
      Champ Valeur
      Comment identifierez-vous chaque enregistrement ? Séparateur JSON/XML
      Comment analyserez-vous chaque élément dans un objet ? Analyseur de script
    18. Cliquez sur l’étape Séparateur dans Plan d’action.
    19. Renseignez les champs du formulaire.
      Tableau 7. Formulaire Étape de séparation
      Champ Valeur
      Format source Sélectionnez XML ou JSON en fonction du format renvoyé par la réponse API.
      Chemin de l'élément Chemin d’accès absolu à un élément d’activité significatif dans le message de réponse. Consultez la documentation de l’API que vous utilisez pour plus d’informations sur le format du message de réponse.
      • Exemple de chemin d’accès d’un élément XML : /message/body/meeting
      • Exemple de chemin d’accès d’un élément JSON : $.data.meeting
    20. Cliquez sur Sorties dans le plan d’action.
    21. Cliquez sur Créer une sortie et modifiez la variable comme indiqué.
      Tableau 8. Résultat de l'action
      Étiquette Nom Type Obligatoire
      targetObject targetObject Objet Non
    22. Ajoutez des éléments enfants pour targetObject afin de stocker l’e-mail de l’utilisateur et la date de l’activité significative.
      Par exemple, une réponse XML peut ressembler à ceci.
      <message>​
        <body>​
          <meeting>
            <meetingID>​12345</meetingID>​
            <startDate>​08/13/2019 20:08:16</startDate>​
            <hostEmail>​email@email.com</hostEmail>​
          </meeting>​
          <meeting>
            ...
          </meeting>
        </body>​
      </message>
      Pour cette réponse, ajoutez les éléments enfants comme indiqué.
      Tableau 9. Éléments enfants pour targetObject
      Étiquette Nom Type Obligatoire
      E-mail E-mail Chaîne Non
      last_activity last_activity Chaîne Non
    23. Dans Plan d’action, cliquez sur Étape de l’analyseur de script.
    24. Créez un objet de sortie targetObject pour chaque élément d’activité significatif dans la réponse, puis mappez la date de l’activité et l’e-mail de l’utilisateur aux éléments enfants targetObject .

      Le script de l’analyseur est exécuté pour chaque élément utilisateur.

      Remarque :
      Ces exemples montrent les types d’éléments qui pourraient être contenus dans une réponse. Ne copiez pas directement ces scripts. Utilisez les noms d’éléments de la documentation de l’API sur laquelle vous travaillez.
      Exemple de script qui analyse une réponse XML.
      (function parse(inputs, outputs) {
          var xmlDoc = new XMLDocument(inputs.sourceItem, false);
          outputs.targetObject.email = xmlDoc.getNodeText('/meeting/hostEmail');
          outputs.targetObject.last_activity = xmlDoc.getNodeText('/meeting/startDate');
      })(inputs, outputs)
      Exemple de script qui analyse une réponse JSON.
      (function parse(inputs, outputs) {
          var record = JSON.parse(inputs.sourceItem);
          outputs.targetObject.email = record.hostEmail;
          outputs.targetObject.last_activity = record.startDate;
      })(inputs, outputs)
    25. Pour tester votre action de flux de données, cliquez sur Tester.
      1. Affichez les résultats des tests et les journaux système pour plus de détails sur les erreurs.
        Pour afficher les journaux système, accédez à Journaux Système > Journal système > Tout.
      2. Si votre action de flux de données comporte des erreurs, assurez-vous que vous utilisez les bons points de terminaison et que les demandes et réponses d’API sont structurées comme prévu.
    26. Après avoir vérifié que l’action de flux de données fonctionne comme prévu, cliquez sur Publier.