Introduction aux sorties dynamiques

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 14 minutes de lecture
  • Créez un exemple d’action qui génère des sorties dynamiques à utiliser dans un flux.

    Avant de commencer

    Rôle requis : action_designer ou admin

    Procédure

    1. Créer des enregistrements de connexion et d’informations d’identification pour les sorties dynamiques
      Cet alias de connexion et d’informations d’identification fournit l’URL de base et le compte d’utilisateur nécessaires pour configurer les étapes REST de vos actions de collecte de données.
    2. Créer une action de collecte de données pour obtenir un schéma d’enregistrement
      Cette action de collecte de données convertit un enregistrement unique en objet JSON pour une sortie dynamique d’enregistrement.
    3. Créer une action de collecte de données pour obtenir un schéma de tableau d’enregistrements
      Cette action de collecte de données convertit un enregistrement de liste d’enregistrements en tableau JSON d’objets pour une sortie dynamique d’enregistrements.
    4. Créer une action personnalisée pour tester les sorties dynamiques
      Cette action personnalisée illustre deux types de données de sortie dynamique. Une sortie dynamique génère un objet pour un seul enregistrement. Une autre sortie dynamique génère un tableau d’objets pour une liste d’enregistrements.

    Créer des enregistrements de connexion et d’informations d’identification pour les sorties dynamiques

    Créez les alias, les connexions et les informations d’identification que les étapes REST utiliseront pour vous connecter à votre instance locale.

    Avant de commencer

    Rôle requis : administrateur

    Procédure

    1. Accédez à la Tout > Connexions et informations d'identification > Informations d'identification.
    2. Sélectionnez Nouveau, sélectionnez Informations d’identification pour l’authentification de base et entrez ces valeurs de champ.
      1. Pour Name (Nom), saisissez Local Admin (Administrateur local).
      2. Dans le champ Nom d’utilisateur, saisissez un compte d’utilisateur ayant accès à Concepteur de flux et à l’API REST.
        Par exemple, saisissez admin.
      3. Dans le champ Mot de passe, saisissez le mot de passe du compte.
    3. Sélectionnez Soumettre pour créer l’enregistrement d’informations d’identification.
    4. Accédez à la Tout > Connexions et informations d'identification > Alias de connexion et d'informations d'identification.
    5. Sélectionnez Nouveau et entrez les valeurs de champs suivantes.
      1. Pour Name (Nom), saisissez Local Instance (Instance locale).
      2. Acceptez la valeur par défaut de HTTP pour le type de connexion.
      3. Sélectionnez Soumettre pour créer l’enregistrement d’alias de connexion et d’informations d’identification.
    6. Sélectionnez l’alias que vous avez créé.
      Par exemple, sélectionnez Instance locale.
    7. Dans la liste connexe Connexions, sélectionnez Nouveau et entrez ces valeurs de champ.
      1. Pour Name (Nom), saisissez My Instance (Mon instance).
      2. Pour Informations d’identification, sélectionnez l’enregistrement d’informations d’identification d’authentification de base que vous avez créé.
        Par exemple, sélectionnez les informations d’identification de l’administrateur local .
      3. Pour URL de connexion, entrez l’URL de base de votre instance, en incluant la barre oblique à la fin.
        Incluez le préfixe d’URL https:// et ajoutez un caractère de barre oblique à la fin de l’URL.
        Par exemple, https://example.service-now.com/.
      4. Sélectionnez Soumettre pour créer l’enregistrement de connexion HTTP(s).

    Créer une action de collecte de données pour obtenir un schéma d’enregistrement

    Créez une action de collecte de données pour rechercher un schéma de table et le convertir en objet JSON.

    Avant de commencer

    Rôle requis : action_designer ou admin

    Pourquoi et quand exécuter cette tâche

    Dans cette tâche, vous allez créer une action de collecte de données qui collecte le schéma d’un enregistrement sur votre instance. L’objectif est de créer un objet complexe à utiliser comme sortie dynamique. Cette action de collecte de données comprend les éléments suivants :
    • Une étape REST pour collecter les données de schéma de table pour une table sélectionnée. Le corps de la réponse de l’étape REST est au format JSON.
    • Étape de script pour transformer le corps de la réponse JSON de l’étape REST en objet dynamique. L’objet dynamique se compose de paires nom-valeur JSON, où il y a une entrée pour chaque champ de la table.
    • Une variable de sortie nommée sortie de type JSON pour stocker l’objet dynamique.
    Remarque :
    Cette tâche recrée les actions de démonstration qui sont installées lorsque vous Demander un Hub d'intégration module d'extension pour votre instance.

    Procédure

    1. Accédez à la Tout > Automatisation des processus > Studio de workflow.
    2. Sur la page d’accueil, sélectionnez Actions.
    3. Sélectionnez Nouveau , puis Nouvelle action.
      1. Sur l’écran Propriétés de l’action, dans le champ Nom, saisissez Obtenir le schéma d’objet ServiceNow (dynamique).
      2. Sélectionnez Soumettre.
    4. Dans Plan d’action, sélectionnez Entrées.
      1. Dans l’en-tête Entrées d’actions, sélectionnez Créer une entrée.
      2. Dans les champs Étiquette et Nom , saisissez Table.
      3. Dans le champ Type, sélectionnez Chaîne.
      4. Pour rendre cette entrée obligatoire, basculez le curseur Obligatoire de sorte qu’il soit actif.
    5. Dans Plan d’action, sélectionnez l’icône Ajouter une nouvelle étape (icône Ajouter une nouvelle étape) sous Entrées et sélectionnez Étape REST.
    6. Sous l’en-tête de l’étape REST, renseignez les champs suivants.
      Champ Valeur
      Connexion Laissez l’option Utiliser l’alias de connexion sélectionnée.
      Alias de connexion Sélectionnez l’icône Créer un enregistrement ( icône Créer un enregistrement) pour créer une nouvelle connexion HTTP(s) ou utilisez une connexion existante pour votre instance. Les informations d’identification de la connexion HTTP(s) doivent utiliser des informations d’identification d’authentification de base. De plus, l’URL de connexion doit être l’URL de base de votre instance, y compris la barre oblique à la fin. Pour plus d’informations sur les connexions et les informations d’identification, consultez les rubriques Mise en route des connexions et Prise en main des informations d’identification.
      Demande de version Laissez l’option Manuellement sélectionnée.
      Chemin d'accès à la ressource Entrez api/now/processflow/table/ , puis sélectionnez le sélecteur de pastilles de données ( Sélecteur de pastilles de données). Sélectionner Entrées > Table. Ensuite, entrez /schema.
      Fonction de message REST Entrez GET
      Paramètres de requêtes sélectionnez l’icône Plus ( Icône Plus pour ajouter un nouveau paramètre de requête. Ensuite, dans le champ Nom , saisissez get_choices et vrai dans le champ Valeur .
    7. Dans Plan d’action, sélectionnez l’icône Ajouter une nouvelle étape (icône Ajouter une nouvelle étape) sous votre étape REST et sélectionnez l’étape Script .
      1. Dans la section Variables d’entrée, sélectionnez Créer une variable.
      2. Dans le champ Nom , saisissez la charge utile.
      3. En regard du champ Valeur , sélectionnez le sélecteur de pastilles de données ( Sélecteur de pastilles de données) et sélectionnez Étape REST > Corps de la réponse.
      4. Dans le champ Script, entrez le code suivant.
        
        (function execute(inputs, outputs) {
          var payload = JSON.parse(inputs.payload);
          
          var columns = payload.result.data.columns;
          var schema = columns.map(function(column) {
            var value = {
              label: column.label,
              name: column.name,
              type: getCOType(column.definition.base_type),
            };
            if (column.definition.type === 'choice') {
              value.type = 'choice';
              value.choices = column.definition.choices;
            } 
            if (column.definition.base_type === 'GUID') {
              value.children = [
                { label: 'Link', name: 'link', type: 'string' },
                { label: 'Value', name: 'value', type: 'string' },
              ];
            }
            return value;
          });
          outputs.schema = { 
            data: {
              type: 'object',
              children: schema,
            },
          };
          
          function getCOType(type) {
            if (type === 'GUID') return 'reference';
            return type;
          }
        })(inputs, outputs);
      5. Dans la section Variables de sortie, sélectionnez Créer une variable.
      6. Dans les champs Étiquette et Nom , entrez le schéma.
      7. Dans le champ Type, sélectionnez JSON.
    8. Dans Plan d’action, sélectionnez Sorties.
      1. Dans l’en-tête Sortie d’action, sélectionnez Créer une sortie.
      2. Dans les champs Étiquette et Nom , entrez la sortie.
      3. Dans le champ Type, sélectionnez JSON.
      4. Dans l’en-tête Sortie d’action, sélectionnez Quitter le mode de modification.
      5. En regard du champ Valeur , sélectionnez le sélecteur de pastilles de données ( Sélecteur de pastilles de données) et sélectionnez Étape Script > Schéma.
    9. Dans l’en-tête Action, sélectionnez Enregistrer , puis Test pour tester l’action.
      1. Sur l’écran Action de test, entrez incident pour l’entrée Table .
      2. Sélectionnez Exécuter le test.
      3. Vérifiez les détails d’exécution de l’action.
      Votre action de collecte de données s’exécute correctement si la valeur d’exécution des champs est un objet complexe dans un format similaire à l’exemple abrégé suivant.
      {
             "data": {
                 "type": "object",
                 "children": [
                     {
                         "name": "active",
                         "label": "Active",
                         "type": "boolean"
                     },
                     {
                         "name": "activity_due",
                         "label": "Activity due",
                         "type": "datetime"
                     }, ...
    10. Dans l’en-tête Action, sélectionnez Publier pour rendre l’action Get ServiceNow Object Schema (Dynamic) disponible à d’autres flux et actions dans le champ d’application global.

    Créer une action de collecte de données pour obtenir un schéma de tableau d’enregistrements

    Créez une action de collecte de données pour générer un tableau d’objets à partir d’une liste d’enregistrements.

    Avant de commencer

    Rôle requis : action_designer ou admin

    Pourquoi et quand exécuter cette tâche

    Dans cette tâche, vous allez créer une action de collecte de données qui collecte le schéma d’un enregistrement sur votre instance. L’objectif est de créer un objet complexe à utiliser comme sortie dynamique. Cette action de collecte de données comprend les éléments suivants :
    • Une étape REST pour collecter les données de schéma de table pour une table sélectionnée. Le corps de la réponse de l’étape REST est au format JSON.
    • Étape de script pour transformer le corps de la réponse JSON de l’étape REST en objet dynamique. L’objet dynamique est constitué d’un tableau JSON d’objets, où chaque enregistrement source est converti en un seul objet du tableau.
    • Une variable de sortie nommée sortie de type JSON pour stocker l’objet dynamique.
    Remarque :
    Cette tâche recrée les actions de démonstration qui sont installées lorsque vous Demander un Hub d'intégration module d'extension pour votre instance.

    Procédure

    1. Accédez à la Tout > Automatisation des processus > Studio de workflow.
    2. Sur la page d’accueil, sélectionnez Actions.
    3. Sélectionnez Nouveau , puis Nouvelle action.
      1. Sur l’écran Propriétés de l’action, dans le champ Nom, saisissez Obtenir le schéma Array.Object ServiceNow (dynamique).
      2. Sélectionnez Soumettre.
    4. Dans Plan d’action, sélectionnez Entrées.
      1. Dans l’en-tête Entrées d’actions, sélectionnez Créer une entrée.
      2. Dans les champs Étiquette et Nom , saisissez Table.
      3. Dans le champ Type, sélectionnez Chaîne.
      4. Pour rendre l’entrée obligatoire, basculez le curseur Obligatoire pour qu’il soit actif.
    5. Dans Plan d’action, sélectionnez l’icône Ajouter une nouvelle étape (icône Nouvelle étape) sous Entrées et sélectionnez l’étape REST .
    6. Sous l’en-tête de l’étape REST, renseignez les champs suivants.
      Champ Valeur
      Connexion Laissez l’alias de connexion Utiliser sélectionné.
      Alias de connexion Sélectionnez l’icône Créer un enregistrement ( icône Créer un enregistrement) pour créer une nouvelle connexion HTTP(s) ou utilisez une connexion existante pour votre instance. Les informations d’identification de la connexion HTTP(s) doivent utiliser des informations d’identification d’authentification de base. De plus, l’URL de connexion doit être l’URL de base de votre instance, y compris la barre oblique à la fin.
      Demande de version Laisser l’option Sélectionné manuellement .
      Chemin d'accès à la ressource Entrez api/now/processflow/table/ , puis sélectionnez le sélecteur de pastilles de données ( Sélecteur de pastilles de données). Sélectionner Entrées > Table. Enfin, entrez /schema
      Fonction de message REST Entrez GET
      Paramètres de requêtes sélectionnez l’icône Plus ( Icône Plus pour ajouter un nouveau paramètre de requête. Ensuite, dans le champ Nom , entrez get_choices et vraidans le champ Valeur .
    7. Dans Plan d’action, sélectionnez l’icône Ajouter une nouvelle étape ( icône Nouvelle étape) sous votre étape REST et sélectionnez l’étape Script .
      1. Dans la section Variables d’entrée, sélectionnez Créer une variable.
      2. Dans le champ Nom , saisissez la charge utile.
      3. En regard du champ Valeur , sélectionnez le sélecteur de pastilles de données ( Sélecteur de pastilles de données) et sélectionnez Étape REST > Corps de la réponse.
      4. Dans le champ Script, entrez le code suivant.
        
        (function execute(inputs, outputs) {
          var payload = JSON.parse(inputs.payload);
          
          var columns = payload.result.data.columns;
          var schema = columns.map(function(column) {
            var value = {
              label: column.label,
              name: column.name,
              type: getCOType(column.definition.base_type),
            };
            if (column.definition.type === 'choice') {
              value.type = 'choice';
              value.choices = column.definition.choices;
            }
            return value;
          });
          outputs.schema = { 
            data: {
              type: 'array.object',
              attributes: {
                child_type: 'object',
              },
              children: schema,
            },
          };
          
          function getCOType(type) {
            if (type === 'GUID') return 'string';
            return type;
          }
        })(inputs, outputs);
      5. Dans la section Variables de sortie, sélectionnez Créer une variable.
      6. Dans les champs Étiquette et Nom , entrez le schéma.
      7. Dans le champ Type, sélectionnez JSON.
    8. Dans Plan d’action, sélectionnez Sorties.
      1. Dans l’en-tête Sortie d’action, sélectionnez Créer une sortie.
      2. Entrez la sortie dans le champ Étiquette et le champ Nom .
      3. Sélectionnez JSON pour le champ Type .
      4. Sélectionnez Quitter le mode de modification.
      5. En regard du champ Valeur , sélectionnez le sélecteur de pastilles de données ( Sélecteur de pastilles de données) et sélectionnez Étape Script > Schéma.
    9. Dans l’en-tête Action, sélectionnez Enregistrer , puis Test pour tester l’action.
      1. Sur l’écran Action de test, saisissez un incident dans le champ Table.
      2. Sélectionnez Exécuter le test.
      3. Vérifiez les détails d’exécution de l’action.
        Votre action de collecte de données s’exécute correctement si la valeur d’exécution pour la sortie des champs est un objet complexe qui contient un tableau de paires clé-valeur pour l’étiquette, le nom et la valeur , comme illustré dans l’exemple abrégé suivant.
        {
               "data": {
                   "type": "array.object",
                   "children": [
                       {
                           "name": "active",
                           "label": "Active",
                           "type": "boolean"
                       },
                       {
                           "name": "activity_due",
                           "label": "Activity due",
                           "type": "datetime"
                       }, ...
        
    10. Dans l’en-tête Action, sélectionnez Publier pour rendre l’action Get ServiceNow Array.Object Schema (Dynamic) disponible à d’autres actions dans le périmètre global.

    Créer une action personnalisée pour tester les sorties dynamiques

    Créez un exemple d’action pour générer dynamiquement deux sorties d’action, Enregistrement et Enregistrements , qui s’actualisent dynamiquement lorsque la valeur de l’entrée Table change.

    Avant de commencer

    Rôle requis : action_designer ou admin

    Pourquoi et quand exécuter cette tâche

    Cette action personnalisée utilise deux actions de collecte de données pour renseigner les sorties dynamiques.

    Procédure

    1. Dans l’en-tête principal, sélectionnez l’icône Créer un flux, un flux secondaire ou une action (icône Créer un flux, un flux secondaire ou une action) et sélectionnez Action.
      1. Dans le modal Propriétés de l’action, saisissez Obtenir les enregistrements ServiceNow (dynamique) dans le champ Nom.
      2. Sélectionnez Soumettre.
    2. Dans Plan d’action, sélectionnez Entrées.
      1. Dans l’en-tête Entrées d’actions, sélectionnez Créer une entrée.
      2. Dans les champs Étiquette et Nom , saisissez Table.
      3. Dans le champ Type , sélectionnez Choix dynamique.
      4. Pour rendre l’entrée obligatoire, basculez le curseur Obligatoire pour qu’il soit actif.
      5. Sélectionnez l’icône Activer/désactiver les entrées avancées ( Icône Activer/désactiver les entrées avancées pour afficher les options avancées pour l’entrée Table .
      6. Dans le champ Valeur par défaut , saisissez incident.
      7. Sous Options dynamiques, dans le champ Action , sélectionnez Obtenir les tables ServiceNow : dynamiques.
      8. Sélectionnez Créer une entrée pour créer une autre entrée d’action.
      9. Dans les champs Étiquette et Nom , entrez NumberOfRecords.
      10. Dans le champ Type , sélectionnez Entier.
      11. Pour rendre l’entrée obligatoire, basculez le curseur Obligatoire pour qu’il soit actif.
      12. Sélectionnez l’icône Activer/désactiver les entrées avancées ( Icône Activer/désactiver les entrées avancées pour afficher les options avancées pour l’entrée Table .
      13. Dans le champ Valeur par défaut , saisissez 3.
    3. Dans Plan d’action, sélectionnez l’icône Ajouter une nouvelle étape (icône Nouvelle étape) sous Entrées et sélectionnez l’étape REST .
    4. Sous l’en-tête de l’étape REST, renseignez les champs suivants.
      Champ Valeur
      Connexion Laissez l’alias de connexion Utiliser sélectionné.
      Alias de connexion Sélectionnez l’icône Créer un enregistrement (icône Créer un enregistrement) pour créer une nouvelle connexion HTTP(s) ou utilisez une connexion existante pour votre instance. Les informations d’identification de la connexion HTTP(s) doivent utiliser des informations d’identification d’authentification de base. De plus, l’URL de connexion doit être l’URL de base de votre instance, y compris la barre oblique à la fin.
      Demande de version Laisser la sélection manuelle
      Chemin d'accès à la ressource Entrez api/now/table/, puis sélectionnez le sélecteur de pastilles de données ( Sélecteur de pastilles de données). Sélectionner Entrées > Table.
      Fonction de message REST Entrez GET
      Paramètres de requêtes Sélectionnez l’icône Plus ( Icône Plus pour ajouter un nouveau paramètre de requête. Ensuite, saisissez sysparm_limit dans le champ Nom . En regard du champ Valeur , sélectionnez le sélecteur de pastilles de données ( Sélecteur de pastilles de données), puis sélectionnez Entrées > Nombre d'enregistrements.
    5. Dans Plan d’action, sélectionnez l’icône Ajouter une nouvelle étape (icône Nouvelle étape) sous Entrées et sélectionnez l’étape Script .
      1. Dans la section Variables d’entrée, sélectionnez Créer une variable.
      2. Dans le champ Nom , saisissez la charge utile.
      3. En regard du champ Valeur , sélectionnez le sélecteur de pastilles de données ( Sélecteur de pastilles de données) et sélectionnez Étape REST > Corps de la réponse.
      4. Dans le champ Script, entrez le code suivant.
        
        (function execute(inputs, outputs) {
          var response = JSON.parse(inputs.payload);
          var records = response.result;
          outputs.record = records[0];
          outputs.records = JSON.stringify(records);
        })(inputs, outputs);
      5. Dans la section Variables de sortie, sélectionnez Créer une variable.
      6. Dans les champs Étiquette et Nom , entrez l’enregistrement.
      7. Sélectionnez JSON pour le champ Type .
      8. Basculez le curseur Obligatoire pour qu’il soit actif.
      9. Sélectionnez Créer une variable pour créer une autre variable de sortie pour l’étape de script.
      10. Dans les champs Étiquette et Nom , saisissez des enregistrements.
      11. Dans le champ Type, sélectionnez JSON.
      12. Pour rendre l’entrée obligatoire, basculez le curseur Obligatoire pour qu’il soit actif.
    6. Dans Plan d’action, sélectionnez Sorties.
      1. Dans l’en-tête Sortie d’action, sélectionnez Créer une sortie.
      2. Dans les champs Étiquette et Nom , saisissez Enregistrements.
      3. Dans le champ Type , sélectionnez Objet dynamique.
      4. Sélectionnez l’icône Activer/désactiver les entrées avancées ( Activer/désactiver les entrées avancées pour afficher les options avancées pour la sortie Enregistrements .
      5. Sous Options dynamiques, sélectionnez Obtenir le schéma Array.Object ServiceNow (dynamique) en tant qu’action.
      6. Pour rendre l’entrée de table dépendante d’une autre entrée, basculez le curseur Dépend d’une autre entrée pour l’activer.
      7. Dans le champ Tablee, sélectionnez Table.
      8. Dans l’en-tête Sortie d’action, sélectionnez Quitter le mode de modification.
      9. En regard du champ Valeur , sélectionnez le sélecteur de pastilles de données ( Sélecteur de pastilles de données) et sélectionnez Étape Script > Enregistrements.
      10. Dans l’en-tête Sortie d’action, sélectionnez Modifier les sorties > Créer une sortie pour créer une autre sortie d’action.
      11. Dans les champs Étiquette et Nom , saisissez Enregistrement.
      12. Dans le champ Type , sélectionnez Objet dynamique.
      13. Sélectionnez l’icône Activer/désactiver les entrées avancées ( Icône Activer/désactiver les entrées avancées pour afficher les options avancées pour la sortie d’enregistrement.
      14. Sous Options dynamiques, dans le champ Action, sélectionnez Obtenir le schéma d’objet ServiceNow (dynamique).
      15. Pour rendre l’entrée de table dépendante d’une autre entrée, basculez le curseur Dépend d’une autre entrée pour l’activer.
      16. Dans le champ Table , sélectionnez Table.
      17. Dans l’en-tête Sortie d’action, sélectionnez Quitter le mode de modification.
      18. Pour la valeur, sélectionnez le sélecteur de pastilles de données ( Sélecteur de pastilles de données) et sélectionnez Étape Script > enregistrement.
    7. Dans l’en-tête Action, sélectionnez Enregistrer , puis Test pour tester l’action.
      1. Sur l’écran Action de test, sélectionnez une valeur de choix générée dynamiquement pour l’entrée Table .
      2. Sélectionnez Exécuter le test.
      3. Vérifiez les détails d’exécution de l’action.
        Votre action s’exécute correctement si la valeur d’exécution pour l’enregistrement est un objet complexe correctement formaté et si la valeur d’exécution pour les enregistrements est un tableau d’objets complexes correctement formaté.
    8. Dans l’en-tête Action, sélectionnez Publier pour rendre l’action Get ServiceNow Records (Dynamic) disponible aux flux du champ d’application global.

    Résultats

    Utiliser l’exemple d’action dynamique Obtenir des enregistrements ServiceNow dans un flux.

    Vous pouvez maintenant ajouter l’action Get ServiceNow Records (Dynamic) à un flux. Cet exemple d’action génère dynamiquement deux sorties d’action, Enregistrement et Enregistrements, accessibles sous forme de pastilles de données dans le panneau de données. Les pastilles de données s’actualisent dynamiquement lorsque la valeur de l’entrée Table change.