Créer une action de flux de données pour obtenir l’activité de l’utilisateur
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
Avant de créer l’action de flux de données, décidez comment vous souhaitez définir l’activité utilisateur significative. 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 de l’activité de l’utilisateur. Par exemple, l’intégration Meetings du système Webex de base définit une activité significative comme l’organisation d’une réunion. Elle 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 Meetings inclue la Webex 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 de tous les utilisateurs.
Votre action de flux de données pour obtenir les 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 d’obtention d’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
- Accédez à la Tous > Concepteur de flux > Concepteur.
- Cliquez sur Nouveau , puis sélectionnez Flux de données.
-
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. Cette application de spoke peut être un spoke existant Hub d'intégration ou un nouveau spoke que vous avez créé. Annotation dans le flux Laissez ce champ vide. Description Description de votre choix. - Cliquez sur Envoyer.
- Dans la section Entrées du plan d’action, cliquez sur Créer une entrée.
-
Ajoutez une entrée d’heure de rétrospective.
Tableau 2. Entrées Étiquette Nom Type Obligatoire Heure de la rétrospective look_back_time Date/Heure Oui -
Si l’API avec laquelle vous travaillez nécessite l’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 que vous avez choisie pour en savoir plus sur les exigences relatives à l’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.
- Cliquez sur Demande dans le plan d’action.
-
Renseignez les champs du formulaire.
Tableau 3. Formulaire de demande Champ Valeur Comment obtiendrez-vous des données ? Choisissez l’étape REST ou l’étape SOAP. Votre choix dépend de l’API de l’application SaaS avec laquelle vous effectuez l’intégration. Activer la pagination Sélectionné. Exécuter un script avant chaque demande Cette option n’est pas sélectionnée. - Cliquez sur l’étape de configuration de la pagination dans le plan d’action.
-
Définissez des variables de pagination en fonction des paramètres de requête utilisés par l’API SaaS.
Si vous utilisez la 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 variablegetNextPageréservée détermine s’il faut demander une autre page de résultats. Tant que la variablegetNextPageest vraie, l’action continue d’envoyer des demandes pour la page suivante. -
Écrivez un script de variables de pagination pour mettre à jour les variables de pagination.
Le script s’exécute sur 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 Télécharger les Webex abonnements.
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 convertissez-la en chaîne. - Cliquez sur l’étape SOAP ou l’é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 les données.
-
Si vous avez sélectionné SOAP, remplissez le formulaire comme indiqué.
Tableau 4. Formulaire d’é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 d’API pour obtenir une liste des activités utilisateur significatives. Par exemple, l’intégration des réunions du système Webex de base définit l’activité utilisateur significative comme l’hébergement d’une réunion de sorte qu’elle utilise la demande LstsummaryMeetingpour obtenir une liste de toutes les réunions. Consultez la documentation de l’API que vous avez 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 que vous avez 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 Obtenir le flux de données Activité de l’utilisateur utilisée dans le flux secondaire Mettre à jour l’activité de l’utilisateur Webex . -
Si vous avez sélectionné 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 apprendre à 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 d’heure de la rétrospective .Remarque :Assurez-vous que la variable Date/heure d’entrée de l’heure de la rétrospective est correctement formatée pour l’API avec laquelle vous travaillez. Si vous devez reformater ou convertir vers 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 issu 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 .
- Cliquez sur Analyse dans le plan d’action.
-
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 - Cliquez sur l’étape Séparateur dans Plan d’action.
-
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 avec laquelle vous travaillez pour plus d’informations sur le format du message de réponse. - Exemple de chemin d’accès de l’élément XML :
/message/body/meeting - Exemple de chemin d’accès de l’élément JSON :
$.data.meeting
- Exemple de chemin d’accès de l’élément XML :
- Cliquez sur Sorties dans le plan d’action .
-
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 -
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.
Pour cette réponse, ajoutez les éléments enfants comme indiqué.<message> <body> <meeting> <meetingID>12345</meetingID> <startDate>08/13/2019 20:08:16</startDate> <hostEmail>email@email.com</hostEmail> </meeting> <meeting> ... </meeting> </body> </message>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 - Dans Plan d’action, cliquez sur Étape de l’analyseur de script.
-
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 avec 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) -
Pour tester votre action de flux de données, cliquez sur Tester.
-
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 > Tous.
- Si votre action de flux de données comporte des erreurs, assurez-vous d’utiliser les bons points de terminaison et que les demandes et réponses d’API sont structurées comme prévu.
-
Affichez les résultats des tests et les journaux système pour plus de détails sur les erreurs.
- Après avoir vérifié que l’action de flux de données fonctionne comme prévu, cliquez sur Publier.