Definieren Sie Anwendungsmetadaten in Code mit ServiceNow FluentIn ServiceNow IDE
Definieren Sie Anwendungsmetadaten in Code mit ServiceNow FluentIn ServiceNow IDE.
Vorbereitungen
Erstellen, konvertieren oder klonen Sie eine Anwendung, und fügen Sie sie Ihrem Arbeitsbereich hinzu. Weitere Informationen finden Sie unter Anwendungen werden in hinzugefügt ServiceNow IDE.
Erforderliche Rolle: Administrator
Warum und wann dieser Vorgang ausgeführt wird
ServiceNow FluentIst eine domänenspezifische Sprache (DSL) basierend auf TypeScript zum Definieren der Metadatendateien [sys_metadata], aus denen Anwendungen bestehen und APIs für die verschiedenen Metadatentypen enthalten, z. B. Tabellen, Rollen, ACLs, Business-Regeln, und Automated Test FrameworkTests. Für weitere Informationen zu ServiceNow FluentAPIs und Beispiele, siehe ServiceNow Fluent API-Referenz. Die ServiceNow IDEHat Sprachverarbeitung und -Validierung für ServiceNow FluentAPIs und Anwendungen standardmäßig.
Prozedur
@Fluent-ignorieren: Unterdrückt ServiceNow FluentDiagnosewarnungen und -Fehler in der folgenden Codezeile.@Fluent-disable-Sync: Deaktiviert die Synchronisierung von Changes mit ServiceNow FluentObjekt. Vor einem Anruf-Ausdruck verwenden (z. B.Datensatz({ ... })), um die Synchronisierung für dieses Objekt und seine untergeordneten Objekte zu deaktivieren. Verwenden Sie diese Anweisung nur, wenn Sie Änderungen, die außerhalb des Quellcodes am Objekt vorgenommen wurden, ignorieren und bei der Synchronisierung niemals aktualisieren möchten.@Fluent-disable-Sync-for-file: Deaktiviert die Synchronisierung von Changes mit ServiceNow FluentDatei ( .Jetzt.TS ). Verwenden Sie diese Option in der ersten Zeile der Datei, um die Synchronisierung für alle Codes in der Datei zu deaktivieren. Verwenden Sie diese Anweisung nur, wenn Sie Änderungen außerhalb des Quellcodes an der Datei ignorieren und sie beim Synchronisieren nie aktualisieren möchten.
Definieren von Anwendungsmetadaten im Quellcode mit ServiceNow Fluent
In Dateien mit .Jetzt.TS Erweiterung, verwenden Sie Objekte in ServiceNow FluentAPIs zum Definieren von Metadaten in der Anwendung. Sie müssen auch die erforderlichen Importe für die APIs aus einschließen @servicenow/sdk/Core . Für Objekte mit serverseitigen Skripts, z. B. BusinessRule Objekt können Sie Code aus JavaScript-Modulen importieren und verwenden.
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,
})Nach dem Erstellen der Anwendung generiert dieser Quellcode die folgenden Anwendungsmetadatendateien in der Instanz.