ServiceNow Fluent Sprachkonstrukte
ServiceNow FluentSprachkonstrukte bieten zusätzliche Funktionen für die Entwicklung in Quellcode mit ServiceNow FluentAPIs.
Now.ID
Die Now.ID Construct wird verwendet, um visuell lesbare eindeutige IDs für Metadaten anzugeben, die im Quellcode definiert sind. Now.ID Verwendet das Format Now.ID['Zeichenfolge' oder Zahl] Mit $ID Eigenschaft in ServiceNow FluentAPIs. Wenn Sie eine Anwendung erstellen, wird die ID in eine eindeutige sys_ID gehasht
Sie können verwenden Now.ID Nur zum Definieren von IDs für Metadaten und nicht zum Verweis auf andere Metadaten in einer Anwendung. Um auf andere Metadaten innerhalb derselben Anwendung zu verweisen, können Sie das Objekt einem zuweisen const Variable und referenzieren den Variablenbezeichner in anderen Objekten.
import { Role } from "@servicenow/sdk/core"
const managerRole = Role({
$id: Now.ID['manager_role'],
name: 'x_snc_example.manager'
})
Record({
table: 'some_table',
data: {
role: managerRole //"role" is a reference field to sys_user_role
}
})
Now.ref
Die Now.ref Construct wird verwendet, um auf Metadaten in einer anderen Anwendung zu verweisen, die nicht im Quellcode definiert ist. Now.ref Verwendet das Format Now.ref['table', 'sys_ID' oder {column: 'Value'}, {column: 'Value'}] Mit Referenzeigenschaften in ServiceNow FluentAPIs.
import { Role } from "@servicenow/sdk/core"
Role({
name: 'x_test.admin',
contains_roles: [
'x_test.manager',
Now.ref('sys_user_role', { name: 'x_test.itil' }), // Coalescing ID reference
Now.ref('sys_user_role', '${itomId}'), // GUID-based reference
Now.ref('sys_user_role', '3D82d1a88947942a90b6d8aa25126d439b', { name: 'x_test.csm' }), // GUID with coalescing ID reference
],
})
Now.include
Die Now.include „Construct“ wird verwendet, um auf Textinhalte in einer anderen Datei in derselben Anwendung zu verweisen, anstatt den Inhalt inline einzubeziehen. Now.include Verwendet relative Dateipfade im Format Now.include('./path/to/file') Mit einer beliebigen Eigenschaft in ServiceNow FluentAPIs. Wird Verwendet Now.include Ermöglicht das Codieren mit der entsprechenden Syntaxhervorhebung für den Dateityp und ist besonders hilfreich bei Eigenschaften, die andere Sprachen wie JavaScript, HTML, CSS und mehr unterstützen.
Now.include Unterstützt die bidirektionale Synchronisierung, sodass Änderungen an Feldern von anderen vorgenommen werden ServiceNow AI PlatformAnwenderoberflächen werden mit dem Quellcode der referenzierten Datei synchronisiert, und Änderungen am Quellcode werden in der gesamten Instanz wieder mit Metadaten synchronisiert.
import { ScriptInclude } from '@servicenow/sdk/core'
ScriptInclude({
$id: Now.ID['my-script-include'],
name: 'MyScriptInclude',
active: true,
apiName: 'x_scriptincludes.MyScriptInclude',
script: Now.include('./MyScriptInclude.server.js') //The actual content of the "script" field is contained in the file specified
})
Jetzt.Anhängen
Die Jetzt.Anhängen „Construct“ wird verwendet, um auf eine Bilddatei in derselben Anwendung zu verweisen und sie an Datensätze anzuhängen, die den im Quellcode definierten Metadaten zugeordnet sind. Jetzt.Anhängen Verwendet relative Dateipfade im Format Now.attach('./path/to/file') Mit Eigenschaften, die Anwenderbilder (Feldtyp „user_image“) in unterstützen ServiceNow FluentAPIs. Jetzt.Anhängen Unterstützt die folgenden Dateiformate: .Jpg , .JPEG , .PNG , .Gif , .Bmp , .ico , Und .svg .
Jetzt.Anhängen Unterstützt die bidirektionale Synchronisierung, sodass Änderungen an Bilddateien von anderen vorgenommen werden ServiceNow AI PlatformAnwenderoberflächen werden im Quellcode mit der Anwendung synchronisiert, und Änderungen an Bilddateien im Quellcode werden in der gesamten Instanz wieder mit Metadaten synchronisiert.
import { Record } from '@servicenow/sdk/core'
Record({
$id: Now.ID['sample-service-portal'],
table: 'sp_portal',
data: {
title: 'Sample Portal',
url_suffix: 'sample',
icon: Now.attach('../../assets/servicenow.jpg')
}
})
Sie können ein Bild auch in einer Anwendung wiederverwenden, indem Sie zuweisen Jetzt.Anhängen Erstellen Sie zu einem const Variable und referenziert den Variablenbezeichner in anderen Eigenschaften. Zum Beispiel:
import { Record } from '@servicenow/sdk/core'
const image = Now.attach('../../assets/servicenow.jpg')
Record({
$id: Now.ID['test'],
table: 'sp_portal',
data: {
title: 'Test Portal',
url_suffix: 'test',
icon: image,
logo: image,
}
})