Créer une action de flux de données pour obtenir des utilisateurs
Créez une action de flux de données pour obtenir une liste des abonnements utilisateur à partir de l’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 liste d’utilisateurs que vous pouvez utiliser au lieu d’en créer un.
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
Procédure
- Accédez à la Tout > 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 des utilisateurs. 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. - Cliquez sur Envoyer.
-
Si l’API avec laquelle vous travaillez nécessite une authentification de l’utilisateur pour les demandes, cliquez sur Entrées dans le plan d’action et 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.
- Cliquez sur Demander dans le plan d’action.
-
Renseignez les champs du formulaire.
Tableau 2. 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é. - Cliquez sur l’étape de configuration de la pagination dans le plan d’action.
-
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 variableréservée getNextPagedé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 à 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.
Remarque :Les variables de pagination prennent uniquement en charge les données de type chaîne. Pour effectuer des opérations mathématiques, vous devez convertir la valeur en nombre entier, effectuer toutes les opérations requises, puis la convertir en chaîne. - 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.
-
Si vous avez sélectionné l’étape SOAP, remplissez le formulaire comme indiqué.
Tableau 3. 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 de tous les utilisateurs. 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 de tous les utilisateurs et de vos variables à partir 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 les utilisateurs utilisée dans le flux secondaire Télécharger les Webex abonnements. -
Si vous avez sélectionné l’étape REST, remplissez le formulaire comme indiqué.
Tableau 4. 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 dans l’étape de configuration de la pagination. L’image suivante montre un exemple terminé de l’étape REST. Cet exemple est issu de l’action de flux de données Obtenir Jira les utilisateurs utilisée dans le flux secondaire Jira Télécharger les abonnements.
- Cliquez sur Analyse dans le plan d’action.
-
Renseignez les champs du formulaire.
Tableau 5. 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 6. Étape de séparation Champ Valeur Format source Sélectionnez XML ou JSON, selon le format renvoyé par la réponse API. Chemin de l'élément Chemin d’accès absolu à un élément utilisateur 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/user - Exemple de chemin d’accès d’un élément JSON :
$.data.user
- Exemple de chemin d’accès d’un élément XML :
- Cliquez sur Sorties dans le plan d’action.
-
Cliquez sur Créer une sortie et modifiez la variable comme indiqué.
Tableau 7. Résultat de l'action Étiquette Nom Type Obligatoire targetObject targetObject Objet Non -
Ajoutez des éléments enfants pour targetObject en fonction des éléments enfants d’utilisateur renvoyés dans le message de réponse.
Par exemple, une réponse XML peut ressembler à ceci.
Pour cette réponse, ajoutez les éléments enfants comme indiqué.<message> <body> <user> <userID>12345</userID> <email>email@email.com</email> <firstName>Jane</firstName> <lastName>Doe</lastName> <lastLoginTime>08/13/2019 20:08:16</lastLoginTime> <active>TRUE</active> </user> <user> ... </user> </body> </message>Tableau 8. Éléments enfants pour targetObject Étiquette Nom Type Obligatoire userID userID Chaîne Non E-mail E-mail Chaîne Non prénom prénom Chaîne Non nom de famille nom de famille Chaîne Non lastLoginTime lastLoginTime Chaîne Non active active Vrai/Faux Non - Cliquez sur l’étape de l’analyseur de script dans Plan d’action.
-
Créez un objet de sortie targetObject pour chaque élément utilisateur de la réponse, puis mappez chaque élément enfant d’utilisateur à un élément enfant targetObject .
Le script de l’analyseur est exécuté pour chaque élément utilisateur.
Remarque :Ces exemples montrent les types d’éléments qui sont généralement contenus dans une réponse à une requête d’obtention des utilisateurs. 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.userID = xmlDoc.getNodeText('/user/userID'); outputs.targetObject.email = xmlDoc.getNodeText('/user/email'); outputs.targetObject.firstName = xmlDoc.getNodeText('/user/firstName'); outputs.targetObject.lastName = xmlDoc.getNodeText('/user/lastName'); outputs.targetObject.lastLoginTime = xmlDoc.getNodeText('/user/lastLoginTime'); outputs.targetObject.active = xmlDoc.getNodeText('/user/active'); })(inputs, outputs)Exemple de script qui analyse une réponse JSON.(function parse(inputs, outputs) { var record = JSON.parse(inputs.sourceItem); outputs.targetObject.userID = record.userID; outputs.targetObject.email = record.email; outputs.targetObject.firstName = record.firstName; outputs.targetObject.lastName = record.lastName; outputs.targetObject.lastLoginTime = record.lastLoginTime; outputs.targetObject.active = record.active; })(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 > Tout.
- 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.
-
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.