ServiceNow Fluent
Definieren Sie Anwendungsmetadaten im Quellcode mit ServiceNow Fluent Domänenspezifische Programmiersprache.
Übersicht über ServiceNow Fluent
ServiceNow Fluent Ist eine deklarative, 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 Framework Tests.
Entwickler definieren diese Metadaten in einigen Codezeilen anstatt über eine Formular- oder Builder-Tool-Anwenderoberfläche. Anwendungen erstellt Oder konvertiert Mit ServiceNow IDE Oder ServiceNow SDK Unterstützen Sie die Entwicklung in ServiceNow Fluent.
ServiceNow Fluent Unterstützt die bidirektionale Synchronisierung, wodurch Änderungen an Metadaten von anderen synchronisiert werden können ServiceNow AI Platform Anwender sind in Quellcode und Änderungen am Quellcode eingebunden, die in der gesamten Instanz mit Metadaten synchronisiert werden sollen.
Um mit der Verwendung von zu beginnen ServiceNow IDE Oder ServiceNow SDK, Siehe ServiceNow IDE Oder ServiceNow SDK Dokumentation.
ServiceNow Fluent – APIs
ServiceNow Fluent Enthält APIs für viele Arten von Metadaten. Sie können die Datensatz-API verwenden, um Anwendungsmetadaten zu definieren, die keine dedizierte API haben. Die aktuelle Liste der unterstützten APIs und Beispiele finden Sie unter ServiceNow Fluent API-Referenz Und ServiceNow-SDK-Beispiele-Repository Ein GitHub.
ServiceNow Fluent Nutzung
In Dateien mit .Jetzt.TS Erweiterung, verwenden Sie Objekte in ServiceNow Fluent APIs 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,
})function onLoad() {
g_form.addInfoMessage("Table loaded successfully!!")
}import { gs } from '@servicenow/glide'
export function showStateUpdate(current, previous) {
const currentState = current.getValue('state')
const previousState = previous.getValue('state')
gs.addInfoMessage(`state updated from "${previousState}" to "${currentState}"`)
}Nach dem Erstellen der Anwendung generiert dieser Quellcode die folgenden Anwendungsmetadatendateien in der Instanz.
@Fluent-ignorieren: Unterdrückt ServiceNow Fluent Diagnosewarnungen und -Fehler in der folgenden Codezeile.@Fluent-disable-Sync: Deaktiviert die Synchronisierung von Changes mit ServiceNow Fluent Objekt. 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 Fluent Datei ( .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.