Définir les métadonnées d’application dans le code avec ServiceNow Fluent dans le ServiceNow IDE
Définir les métadonnées d’application dans le code avec ServiceNow Fluent dans le ServiceNow IDE.
Avant de commencer
Créez, convertissez ou clonez une application et ajoutez-la à votre espace de travail. Pour plus d'informations, consultez Ajouter des applications dans ServiceNow IDE.
Rôle requis : admin
Pourquoi et quand exécuter cette tâche
ServiceNow Fluent est un langage spécifique à un domaine (DSL) 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. Pour plus d’informations sur ServiceNow Fluent les API et des exemples, reportez-vous à la section ServiceNow Fluent Référence d’API. Le dispose par défaut d’un traitement et d’une ServiceNow IDE validation de la langue pour ServiceNow Fluent les API et les applications.
Procédure
@fluent-ignorer: supprime les avertissements de diagnostic et les ServiceNow Fluent erreurs dans la ligne de code suivante.@fluent-disable-sync: désactive la synchronisation des modifications apportées à un ServiceNow Fluent objet. Utilisez avant une expression d’appel (par exemple,Record({ ... }))pour désactiver la synchronisation de cet objet et de ses objets enfants. N’utilisez cette directive que si vous souhaitez ignorer les modifications apportées à l’objet en dehors du code source et ne jamais la mettre à jour lors de la synchronisation.@fluent-disable-sync-for-file: désactive la synchronisation des modifications dans un ServiceNow Fluent fichier (.now.ts). Utilisez dans la première ligne du fichier pour désactiver la synchronisation de tout le code du fichier. N’utilisez cette directive que si vous voulez ignorer les modifications apportées au fichier en dehors du code source et ne jamais le mettre à jour lors de la synchronisation.
Définition des métadonnées d’application dans le code source avec ServiceNow Fluent
Dans les fichiers avec l’extension .now.ts , utilisez les objets des 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. Pour les objets avec des scripts côté serveur, tels que l’objet BusinessRule , vous pouvez importer et utiliser du code à partir de modules JavaScript.
import '@servicenow/sdk/global'
import { BusinessRule, ClientScript, DateColumn, StringColumn, Table } 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' },
inProgress: { 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,
appliesExtended: false,
global: true,
uiType: 'all',
description: 'Custom client script generated by Now SDK',
isolateScript: false,
type: 'onLoad',
script: Now.include('../client/client-script.js'),
})
//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,
})Après la création de l’application, ce code source génère les fichiers de métadonnées d’application suivants sur l’instance.