Scripts alignés

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 8 minutes de lecture
  • Permettez aux utilisateurs ayant de l’expérience en codage d’écrire des scripts en ligne qui définissent et modifient les valeurs d’entrée pendant la configuration d’une action ou d’un flux. Utilisez des scripts en ligne pour modifier les valeurs d’entrée qui nécessitent des conversions de petits formats, des transformations de données ou des opérations mathématiques.

    Vous pouvez également modifier les valeurs d’entrée sans scripting à l’aide de fonctions de transformation. Pour obtenir une liste des options disponibles, reportez-vous à Fonctions de transformation.

    Concepteur de flux affiche un bouton Script lorsque vous configurez ces composants.
    • Entrées d’action lorsque vous configurez l’action d’un flux
    • Sorties d’action lorsque vous configurez l’action pour un flux
    • Entrées de logique de flux lorsque vous configurez la logique de flux d’un flux
    • Sorties de logique de flux lorsque vous configurez la logique de flux d’un flux
    • Entrées d’étapes lorsque vous configurez l’étape d’une action.
    • Entrées de flux secondaire lorsque vous configurez le flux secondaire d’un flux.
    • Sorties de flux secondaire lorsque vous configurez le flux secondaire d’un flux.

    Les scripts en ligne doivent renvoyer des valeurs du même type de données que les attentes d’entrée. Par exemple, un script en ligne pour une entrée d’enregistrement doit renvoyer un objet GlideRecord et un script en ligne pour une entrée Date doit renvoyer une valeur date-heure. Testez toujours les actions et les flux contenant des scripts en ligne, et vérifiez qu’il n’y a pas d’erreurs d’exécution dans les détails d’exécution du flux.

    Les scénaristes doivent être familiarisés avec Now Platform les structures de table et les types de champs. En outre, ils doivent savoir comment travailler avec les données d’enregistrement et de système à l’aide de l’API ServiceNow .

    Avantages

    Les scripts en ligne offrent les avantages suivants.
    • Activez la conversion ou la transformation de données simples sans avoir à créer d’actions ou de flux personnalisés.
    • Identifiez les données d’entrée affectées par un script.
    • Accès restreint aux fonctionnalités de scripting aux utilisateurs ou groupes connaissant bien les API disponibles ServiceNow .

    Accéder au script aligné

    Vous pouvez accorder aux utilisateurs l’accès aux scripts en ligne en leur accordant le rôle flow_designer_scripting ou l’autorisation Autoriser le développement délégué à l’écriture de scripts . Le rôle et l’autorisation du développeur affichent un champ de bouton de script pour chaque Concepteur de flux entrée.

    Bouton de script

    Lorsque vous permettez à un utilisateur de créer des scripts en ligne, un bouton de script s’affiche Concepteur de flux en regard des entrées de flux et d’étape.

    Figure 1. Les boutons de script s’affichent à côté des entrées
    Entrées disponibles pour l’action de journal . Les entrées Niveau et Message affichent des boutons Script .

    Cliquez sur le bouton Script pour ouvrir l’éditeur de script, qui remplace l’interface de saisie standard. Entrez un script pour calculer la valeur d’entrée.

    Assurez-vous que votre script inclut une instruction return avec les résultats de votre script. Par exemple, return shortDesc ; renvoie la valeur de la variable shortDesc .

    Figure 2. Éditeur de script pour l’entrée
    Entrées disponibles pour l’action de journal . L’entrée Message affiche l’éditeur de script et un script qui renvoie un calcul mathématique pour la racine carrée de 64.

    Cliquer sur le bouton Réduire le script masque l’éditeur de script et affiche une version en lecture seule de l’entrée. Cliquer sur le bouton Développer le script affiche l’éditeur de script et vous permet de modifier le script.

    Figure 3. Entrée contenant un script
    Entrées disponibles pour l’action de journal . L’entrée Message affiche le texte Scripté (développer pour modifier).

    Concepteur de flux objet de données

    Les scénaristes peuvent utiliser l’objet fd_data pour accéder aux données des actions et étapes précédentes. Utilisez l’objet fd_data pour remonter pas à pas vers une sortie spécifique du flux. Vous pouvez utiliser les suggestions de suggestion automatique de l’éditeur de script pour sélectionner une valeur de sortie spécifique. Par exemple, saisissez fd_data et sélectionnez _2__for_each.item dans les suggestions de suggestion automatique pour créer une référence de remontée pas à pas vers fd_data._2__for_each.item. Cette référence accède aux données de la deuxième sortie du flux qui, dans cet exemple, est un élément de logique de flux Pour chaque.
    Important :
    L’objet fd_data nécessite toujours une référence de type remontée pas à pas vers une sortie de flux spécifique. Sans référence de remontée pas à pas, le script en ligne ne peut pas accéder aux Concepteur de flux données.

    Concepteur de flux Met à jour l’objet de données chaque fois que vous enregistrez votre action, votre flux ou votre flux secondaire. Si les suggestions de suggestion automatique n’incluent pas votre cible, essayez d’enregistrer l’action, le flux ou le flux secondaire, puis de retaper le caractère de point pour actualiser la liste des suggestions.

    Tableau 1. Options de l’objet de données Flow Designer
    Cible de données Syntaxe de référence Exemple
    Entrée d'action fd_data.action_inputs.nom de l’entrée d’action var tâche = fd_data.action_inputs.task ;
    Variable de flux fd_data.flow_var.nom_variable_flux var shortDesc = fd_data.flow_var.short_description ;
    Sortie de l’action, de la logique de flux ou de l’étape précédente fd_data._output-target-step-number__output-target-name var taskRecord = fd_data._2__create_task ;
    Entrée de flux secondaire fd_data.subflow_inputs.nom entrée flux secondaire var reqItem = fd_data.subflow_inputs.requested_item ;
    Répétition fd_data.déclencheur.pilule de données déclencheur var incident = fd_data.trigger.current ;

    Lignes directrices générales

    Suivez ces instructions générales pour créer des scripts en ligne réutilisables et maintenables.

    Écrire un script en ligne pour une petite logique non réutilisable
    Utilisez le format de script en ligne ou modifiez les données pour des entrées et des cas d’utilisation spécifiques. Pour les conversions de données d’entrée et les opérations de formatage standard et réutilisables, sélectionnez une fonction de transformation à la place.
    Examiner les fonctions de transformation disponibles
    Concepteur de flux fournit une liste des fonctions de transformation standard pour les conversions de données et les opérations de formatage. Plutôt que d’écrire et de gérer une solution de script personnalisée, sélectionnez une fonction de transformation existante, le cas échéant.
    Script includes d’appel à partir du script en ligne
    Appelez un script include à partir de votre script en ligne pour réduire la quantité de code que vous écrivez et également pour maintenir le code commun dans un seul emplacement. Utilisez le constructeur de classe pour appeler votre script include. Pour plus d’informations sur la création d’un script include, consultez Script includes.
    var si = new MyScriptInclude();
    si.functionOne();
    Créer des actions personnalisées ou des flux secondaires pour un code réutilisable plutôt qu’un script en ligne
    Créez des actions personnalisées ou des flux secondaires pour une logique de données réutilisables ou complexes, telle que la modification du type de données sources. Vous pouvez également fournir des actions personnalisées ou des flux secondaires pour les concepteurs de flux qui ne sont pas à l’aise avec le code.
    Éviter la duplication des fonctionnalités d’action et de flux
    Évitez d’écrire un script en ligne qui duplique les fonctionnalités d’action et de flux. Par exemple, plutôt que d’écrire un script en ligne pour effectuer des opérations d’enregistrement, utilisez les actions de base de création et de mise à jour d’enregistrement.
    Éviter les changements de type de données
    Évitez les erreurs d’exécution en vérifiant que votre script en ligne fournit des informations dans le même type de données que celui attendu pour l’entrée ou la sortie.
    Créer des variables en les déclarant avec le mot clé var
    Utilisez le mot clé var pour déclarer des variables afin qu’elles restent dans la portée JavaScript appropriée. Lorsque vous créez une variable en lui affectant une valeur, JavaScript peut l’attacher à l’objet global, ce qui peut entraîner la persistance des valeurs de variables en dehors de la portée locale et provoquer des erreurs.
    Traiter les sorties des enregistrements avec la logique de flux Pour chaque et l’objet de données de flux
    Le script ligne par ligne ne peut accéder qu’à la sortie des enregistrements d’une action Rechercher des enregistrements à partir de la logique de flux Pour chaque. Ajoutez une action Rechercher des enregistrements au flux pour générer la sortie d’enregistrements. Ajoutez une logique de flux Pour chaque au flux afin de traiter chaque enregistrement dans la sortie d’enregistrements. Créez une référence de script en ligne à la logique de flux Pour chaque à l’aide des objets fd_data et élément. Par exemple, cette référence suppose que la logique de flux Pour chaque est le deuxième élément de votre plan de flux fd_data._2__for_each.item.
    Utilisez les suggestions de suggestion automatique pour générer des références aux données de flux et d’action.
    Créez des références aux données de flux et d’action à l’aide de l’objet fd_data. L’éditeur de script affiche des suggestions de suggestion automatique pour les données de flux et d’action existantes lorsque vous saisissez fd_data. Sélectionnez une suggestion pour créer des références aux données de flux et d’action.
    Remarque :
    Consultez les données d’enregistrement dans une logique de flux Pour chaque à l’aide de l’objet item .
    Compteurs de boucles de champ d’application

    Les boucles de script n’ayant pas un nombre maximum d’itérations, les boucles s’exécutent donc en continu lorsqu’il n’y a pas de condition de sortie valide.

    Pour vous assurer qu’il existe une condition de sortie valide, utilisez des compteurs de boucles de champ d’application dans les scripts en ligne ou dans les étapes de script au sein d’une action. Ajouter var àpour (i=0 ; i< longueur ; i++) et obtenir pour (var i=0 ; i< longueur ; i++)

    Considérations relatives à la gestion des licences

    Les scripts en ligne qui appellent des API d’intégration sont soumis à Hub d'intégration une gestion des licences.

    Éditeur de code

    L’éditeur de code fournit un support d’éditeur de texte pour les scripts en ligne.

    L’éditeur de code dispose des fonctionnalités suivantes pour les services linguistiques et les scripts en ligne pris en charge.
    • Coloration de la syntaxe, indentation, numéros de ligne et création automatique d’accolades fermantes et de guillemets
    • Suggestions automatiques et complétions automatiques
    Figure 4. Éditeur de code
    Éditeur de code dans Concepteur de flux

    Conseils d’édition

    • Pour insérer un espace fixe n’importe où dans votre code, appuyez sur la touche de tabulation.
    • Pour mettre en retrait une seule ligne de code, cliquez sur l’espace vide au début de la ligne, puis appuyez sur la touche de tabulation.
    • Pour mettre en retrait une ou plusieurs lignes de code, sélectionnez le code, puis appuyez sur la touche de tabulation. Pour diminuer l’indentation, appuyez sur Maj+Tab.
    • Pour supprimer un onglet du début d’une ligne de code, cliquez sur la ligne et appuyez sur Maj+Tab.
    • Pour déclarer des variables, utilisez le mot-clé var afin qu’elles restent dans la portée JavaScript appropriée.