Definieren Sie Anwendungsmetadaten im Code mit ServiceNow Fluent in ServiceNow IDE
Definieren Sie mit im Code Anwendungsmetadaten ServiceNow Fluent in ServiceNow IDE.
Vorbereitungen
Erstellen oder klonen Sie eine bereichsbezogene Anwendung mit ServiceNow IDE. Weitere Informationen finden Sie unter Erstellen Sie eine Anwendung mit ServiceNow IDE oder Klonen Sie ein Git-Repository mit ServiceNow IDE.
Erforderliche Rolle: admin
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.
ServiceNow IDE führt standardmäßig eine Sprachverarbeitung und -validierung für ServiceNow Fluent -APIs durch, einschließlich der Prüfung auf erforderliche Eigenschaften und Importe in .now.ts- Dateien.
Prozedur
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/core einschließ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 der Anwendung generiert dieser Quellcode die folgenden Anwendungsmetadatendateien in der -Instanz.
Nächste Maßnahme
Erstellen Sie Ihre Anwendung, um Quellcode in Anwendungsmetadaten zu kompilieren und Ihre Änderungen in der gesamten Instanz verfügbar zu machen. Weitere Informationen finden Sie unter Erstellen Sie eine Anwendung im ServiceNow IDE.