ServiceNow Fluent construções de linguagem
ServiceNow Fluentas construções de linguagem fornecem funcionalidade adicional para desenvolvimento no código-fonte com ServiceNow FluentAPIs.
Now.ID
. Now.ID A construção é usada para especificar IDs exclusivos legíveis para metadados definidos no código-fonte. Now.ID usa o formato Now.ID['Cadeia de caracteres' ou número] com o. id propriedade em ServiceNow FluentAPIs. Quando você cria uma aplicação, o ID é hash em um sys_id exclusivo.
Você pode usar Now.ID Apenas para definir IDs para metadados e não para fazer referência a outros metadados em uma aplicação. Para fazer referência a outros metadados na mesma aplicação, você pode atribuir o objeto a um const e fazem referência ao identificador de variável em outros objetos.
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
. Now.ref a construção é usada para referenciar metadados em uma aplicação diferente que não está definida no código-fonte. Now.ref usa o formato Now.ref['table', 'sys_id' ou [coluna: 'Value'], [coluna: 'Value']] Com propriedades de referência em 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
. Now.include a construção é usada para se referir ao conteúdo de texto em outro arquivo na mesma aplicação, em vez de incluir o conteúdo em linha. Now.include usa caminhos de arquivo relativos no formato Now.include('./path/to/file') com qualquer propriedade em ServiceNow FluentAPIs. Usando Now.include Permite que você codifique com o destaque de sintaxe apropriado para o tipo de arquivo e é especialmente útil com propriedades compatíveis com outras linguagens, como JavaScript, HTML, CSS e muito mais.
Now.include o oferece suporte à sincronização bidirecional para que os campos sejam alterados de outro ServiceNow AI Platformas interfaces do usuário são sincronizadas com o código-fonte do arquivo referenciado e as mudanças no código-fonte são sincronizadas de volta com os metadados na instância.
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
. Now.Attach a construção é usada para se referir a um arquivo de imagem na mesma aplicação e anexá-lo a registros associados a metadados definidos no código-fonte. Now.Attach usa caminhos de arquivo relativos no formato Now.attach('./path/to/file') com propriedades compatíveis com imagens do usuário (o tipo de campo user_image) em ServiceNow FluentAPIs. Now.Attach compatível com os seguintes formatos de arquivo: .jpg , .jpeg , .png , .gif , .bmp , .ico , e. .svg .
Now.Attach compatível com sincronização bidirecional para que as mudanças nos arquivos de imagem de outro ServiceNow AI Platformas interfaces do usuário são sincronizadas com a aplicação no código-fonte e as mudanças nos arquivos de imagem no código-fonte são sincronizadas de volta com os metadados na instância.
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')
}
})
Você também pode reutilizar uma imagem em uma aplicação atribuindo o. Now.Attach construa como a. const e referenciando o identificador de variável em outras propriedades. Por exemplo:
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,
}
})