ServiceNow Fluent
Definieren Sie Anwendungsmetadaten im Quellcode mit der domänenspezifischen Programmiersprache ServiceNow Fluent.
Übersicht
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.
Entwickler definieren diese Metadaten in wenigen Codezeilen anstatt über ein Formular oder die Anwenderoberfläche des Builder-Tools. Anwendungen, die mit ServiceNow IDE oder ServiceNow erstellt wurden, unterstützen die Entwicklung in ServiceNow Fluent.
Informationen zu den ersten Schritten mit ServiceNow IDE oder ServiceNowfinden Sie in der Dokumentation ServiceNow IDE oder ServiceNow SDK.
APIs
- Zugriffssteuerungslisten (ACLs)
- Anwendungsmenüs
- Automated Test Framework-Tests
- Business-Regeln
- Client-Skripts
- Listen
- Eigenschaften
- Datensätze
- Rollen
- Scripted REST APIs
- Tabellen
Monatlich
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.