ServiceNow Fluent Constructions linguistiques
ServiceNow Fluent Les constructions de langage fournissent des fonctionnalités supplémentaires pour le développement dans le code source avec ServiceNow Fluent des API.
Now.ID
La construction Now.ID est utilisée pour spécifier des ID uniques lisibles par l’homme pour les métadonnées définies dans le code source. Now.ID utilise le format Now.ID['String' ou Number] avec la propriété $id dans ServiceNow Fluent les API. Lorsque vous créez une application, l’ID est haché en une sys_id unique.
Vous pouvez utiliser Now.ID uniquement pour définir des ID pour les métadonnées et non pour référencer d’autres métadonnées dans une application. Pour référencer d’autres métadonnées au sein de la même application, vous pouvez affecter l’objet à une variable const et référencer l’identificateur de variable dans d’autres objets.
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
La construction Now.ref est utilisée pour référencer les métadonnées dans une autre application qui n’est pas définie dans le code source. Now.ref utilise le format Now.ref['table', 'sys_id' ou {column : 'value'}, {column : 'value'}] avec les propriétés de référence dans ServiceNow Fluent les API.
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
La construction Now.include est utilisée pour faire référence au contenu textuel d’un autre fichier dans la même application plutôt que d’inclure le contenu en ligne. Now.include utilise des chemins d’accès de fichiers relatifs au format Now.include('./path/to/file') avec n’importe quelle propriété dans ServiceNow Fluent les API. L’utilisation de Now.include vous permet de coder avec la coloration syntaxique appropriée pour le type de fichier et est particulièrement utile avec les propriétés qui prennent en charge d’autres langages tels que JavaScript, HTML, CSS, etc.
Now.include prend en charge la synchronisation bidirectionnelle afin que les modifications apportées aux champs à partir d’autres ServiceNow AI Platform interfaces utilisateur soient synchronisées dans le code source du fichier référencé et que les modifications apportées au code source soient synchronisées avec les métadonnées de l’instance.
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
})
Now.attach
La construction Now.attach est utilisée pour faire référence à un fichier image dans la même application et l’attacher aux enregistrements associés aux métadonnées définies dans le code source. Now.attach utilise des chemins d’accès de fichiers relatifs au format Now.attach('./path/to/file') avec des propriétés qui prennent en charge les images utilisateur (type de champ user_image) dans ServiceNow Fluent les API. Now.attach prend en charge les formats de fichier suivants : .jpg, .jpeg, .png, .gif, .bmp, .ico et .svg.
Now.attach prend en charge la synchronisation bidirectionnelle afin que les modifications apportées aux fichiers image à partir d’autres ServiceNow AI Platform interfaces utilisateur soient synchronisées dans l’application dans le code source et que les modifications apportées aux fichiers image dans le code source soient synchronisées avec les métadonnées de l’instance.
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')
}
})
Vous pouvez également réutiliser une image dans une application en affectant la construction Now.attach à une variable const et en faisant référence à l’identificateur de la variable dans d’autres propriétés. Par exemple :
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,
}
})