ServiceNow Fluent

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 2 minutes de lecture
  • Définissez les métadonnées d’application dans le code source à l’aide du langage de programmation spécifique au ServiceNow Fluent domaine.

    Vue d'ensemble

    ServiceNow Fluent est un langage DSL (Domain-Specific Language) basé sur TypeScript pour définir les fichiers de métadonnées [sys_metadata] qui composent les applications et inclut des API pour les différents types de métadonnées, tels que les tables, les rôles, les ACL, les règles métier et Framework de tests automatisés les tests.

    Les développeurs définissent ces métadonnées en quelques lignes de code plutôt que par le biais d’un formulaire ou d’une interface utilisateur d’outil de construction. Applications créées avec le ou ServiceNow SDK prennent en charge le ServiceNow IDE développement en ServiceNow Fluent.

    ServiceNow Fluent prend en charge la synchronisation bidirectionnelle, ce qui permet de synchroniser les modifications apportées aux métadonnées à partir d’autres Now Platform interfaces utilisateur dans le code source et de resynchroniser les modifications apportées au code source dans les métadonnées sur l’ensemble de l’instance.
    Remarque :
    L’API Framework de tests automatisés Test ne prend en charge que la synchronisation unidirectionnelle. Après la définition d’un test ATF dans le code source, si les métadonnées sont modifiées en dehors du code source, ces modifications ne sont pas synchronisées et reflétées dans le code source.

    Pour commencer à utiliser le ServiceNow IDE ou ServiceNow SDK, consultez la documentation ou ServiceNow IDEServiceNow SDK .

    API

    ServiceNow Fluent comprend des API pour les types de métadonnées suivants. Vous pouvez utiliser l’API d’enregistrement pour définir les métadonnées d’application qui n’ont pas d’API dédiée. Pour en savoir plus sur les API et des exemples, reportez-vous à la section ServiceNow Fluent Référence d’API.
    • Listes de contrôle d’accès (ACL)
    • Menus d'application
    • Tests Framework de tests automatisés
    • Règles métier
    • Scripts clients
    • Listes
    • Propriétés
    • Enregistrements
    • Rôles
    • API REST basées sur un script
    • Tables

    Utilisation

    Dans les fichiers avec l’extension .now.ts , utilisez des objets dans les ServiceNow Fluent API pour définir les métadonnées dans l’application. Vous devez également inclure les importations requises pour les API à partir de @servicenow/sdk/core.

    L’exemple suivant inclut les définitions d’une table, d’un script client et d’une règle métier dans l’application. La règle métier utilise une fonction du module JavaScript script.js .
    import '@servicenow/sdk/global'
    import { BusinessRule } from '@servicenow/sdk/core'
    import { ClientScript } from '@servicenow/sdk/core'
    import { Table, DateColumn, StringColumn } from '@servicenow/sdk/core'
    import { showStateUpdate } from '../server/script.js'
    
    //creates todo table, with three columns (deadline, status and task)
    export const x_snc_example_to_do = Table({
        name: 'x_snc_example_to_do',
        schema: {
            deadline: DateColumn({ label: 'deadline' }),
            state: StringColumn({
                label: 'State',
                choices: {
                    ready: { label: 'Ready' },
                    completed: { label: 'Completed' },
                    in_progress: { label: 'In Progress' },
                },
            }),
            task: StringColumn({ label: 'Task', maxLength: 120 }),
        },
    })
    
    //creates a client script that pops up 'Table loaded successfully!!' message everytime todo record is loaded
    ClientScript({
        $id: Now.ID['cs0'],
        name: 'my_client_script',
        table: 'x_snc_example_to_do',
        active: true,
        applies_extended: false,
        global: true,
        ui_type: 'all',
        description: 'Custom client script generated by Now SDK',
        messages: '',
        isolate_script: false,
        type: 'onLoad',
        script: script`function onLoad() {
            g_form.addInfoMessage("Table loaded successfully!!")
        }`,
    })
    
    //creates a business rule that pops up state change message whenever a todo record is updated
    BusinessRule({
        $id: Now.ID['br0'],
        action: ['update'],
        table: 'x_snc_example_to_do',
        script: showStateUpdate,
        name: 'LogStateChange',
        order: 100,
        when: 'after',
        active: true,
    })

    Une fois l’application générée, ce code source génère les fichiers de métadonnées d’application suivants sur l’instance.

    Figure 1. Métadonnées d’application générées à partir du ServiceNow Fluent code
    Fichiers d’application générés à partir de l’exemple de code.