Definieren Sie Anwendungsmetadaten im Code mit ServiceNow Fluent und ServiceNow SDK
Definieren Sie mit im Code Anwendungsmetadaten ServiceNow Fluent und ServiceNow SDK.
Vorbereitungen
- Installieren Sie den ServiceNow Fluent -Sprachserver, um die Sprachverarbeitung und -validierung für ServiceNow Fluent in Visual Studio Codeabzurufen. Weitere Informationen finden Sie unter Installieren Sie den ServiceNow Fluent -Sprachserver in Visual Studio Code..
- Erstellen oder konvertieren Sie eine bereichsbezogene Anwendung mit ServiceNow SDK. Weitere Informationen finden Sie unter Erstellen eine Anwendung mit ServiceNow SDK oder .
Erforderliche Rolle: Administrator
Warum und wann dieser Vorgang ausgeführt wird
ServiceNow Fluent ist eine auf TypeScript basierende domänenspezifische Sprache ( Domain Specific Language, Domänenspezifische Sprache) zum Definieren der Metadatendateien [sys_metadata], aus denen Anwendungen bestehen. Sie enthält APIs für die verschiedenen Arten von Metadaten, z. B. Tabellen, Rollen, ACLs, Business-Regeln und Automated Test Framework -Tests. Weitere Informationen und Beispiele zu ServiceNow Fluent -APIs finden Sie unter ServiceNow Fluent API-Referenz.
Prozedur
@fluent-ignore: Unterdrückt ServiceNow Fluent Diagnosewarnungen und -fehler in der folgenden Codezeile.@fluent-disable-sync: Deaktiviert die Synchronisierung von Changes mit einem Objekt ServiceNow Fluent. Verwenden Sie vor einem Anrufausdruck (z. B.Record({ ... })), um die Synchronisierung für dieses Objekt und seine untergeordneten Objekte zu deaktivieren. Verwenden Sie diese Direktive nur, wenn Sie Änderungen, die außerhalb des Quellcodes am Objekt vorgenommen werden, ignorieren und bei der Synchronisierung niemals aktualisieren möchten.@fluent-disable-sync-for-file: Deaktiviert die Synchronisierung von Changes mit einer Datei ServiceNow Fluent (.now.ts). Verwenden Sie in der ersten Zeile der Datei, um die Synchronisierung für den gesamten Code in der Datei zu deaktivieren. Verwenden Sie diese Direktive nur, wenn Sie Änderungen, die außerhalb des Quellcodes an der Datei vorgenommen werden, ignorieren und bei der Synchronisierung niemals aktualisieren möchten.
Definieren von Anwendungsmetadaten im Quellcode mit ServiceNow Fluent
Verwenden Sie in Dateien mit der Erweiterung „.now.ts“ Objekte in den ServiceNow Fluent APIs, um Metadaten in der Anwendung zu definieren. Sie müssen auch die erforderlichen Importe für die APIs von @servicenow/sdk/coreeinschließen.
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,
})Nach dem Erstellen und Bereitstellen der Anwendung generiert dieser Quellcode die folgenden Anwendungsmetadatendateien in der -Instanz.