Créer une action de flux de données pour obtenir des utilisateurs

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 7 minutes de lecture
  • Créez une action de flux de données pour obtenir une liste des abonnements de l’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

    1. Accédez à la Tous > 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 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. 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.
    4. Cliquez sur Envoyer.
    5. Si l’API avec laquelle vous travaillez nécessite une authentification 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 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.

    6. Cliquez sur Demande dans le plan d’action.
    7. Renseignez les champs du formulaire.
      Tableau 2. 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.
    8. Cliquez sur l’étape de configuration de la pagination dans le plan d’action.
    9. 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 variable getNextPage réservée 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.
    10. É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.

      É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, vous devez convertir la valeur en nombre entier, effectuer toutes les opérations requises, puis la convertir en chaîne.
    11. 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.
    12. Si vous avez sélectionné l’étape SOAP, remplissez le formulaire comme indiqué.
      Tableau 3. 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 de tous les utilisateurs. 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 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 Obtenir le flux de données des utilisateurs utilisée dans le flux secondaire Télécharger les Webex abonnements.
    13. 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 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 lors de 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 Télécharger les Jira abonnements.

      Étape REST
    14. Cliquez sur Analyse dans le plan d’action.
    15. 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
    16. Cliquez sur l’étape Séparateur dans Plan d’action.
    17. 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 avec laquelle vous travaillez 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
    18. Cliquez sur Sorties dans le plan d’action .
    19. 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
    20. 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.
      <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>
      Pour cette réponse, ajoutez les éléments enfants comme indiqué.
      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
      Lastname Lastname Chaîne Non
      lastLoginTime lastLoginTime Chaîne Non
      active active Vrai/Faux Non
    21. Cliquez sur l’étape de l’analyseur de script dans Plan d’action.
    22. 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 demande get users. 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.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)
    23. 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 > Tous.
      2. 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.
    24. Après avoir vérifié que l’action de flux de données fonctionne comme prévu, cliquez sur Publier.