Defina metadados da aplicação em código com ServiceNow Fluent no ServiceNow IDE
Definir metadados da aplicação no código com ServiceNow Fluent no ServiceNow IDE.
Antes de Iniciar
Crie ou clone uma aplicação com escopo com o ServiceNow IDE. Para obter mais informações, consulte Criar uma aplicação com o ServiceNow IDE ou Clonar um repositório Git com o ServiceNow IDE.
Função necessária: administrador
Por Que e Quando Desempenhar Esta Tarefa
ServiceNow Fluent é uma linguagem específica de domínio (DSL) baseada em TypeScript para definir os arquivos de metadados [sys_metadata] que compõem as aplicações e inclui APIs para os diferentes tipos de metadados, como tabelas, funções, ACLs, regras de negócio e testes Automated Test Framework. Para obter mais informações sobre ServiceNow Fluent APIs e exemplos, consulte ServiceNow Fluent Referência de API.
O ServiceNow IDE tem processamento de idioma e validação para ServiceNow Fluent APIs por padrão, incluindo a verificação de propriedades e importações obrigatórias em arquivos .now.ts.
Procedimento
Definição de metadados da aplicação no código de origem com ServiceNow Fluent
Em arquivos com a extensão .now.ts, use objetos nas APIs ServiceNow Fluent para definir metadados na aplicação. Você também deve incluir as importações necessárias para as APIs de @servicenow/sdk/core.
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,
})Depois de criar a aplicação, este código de origem gera os seguintes arquivos de metadados da aplicação na instância.
O que Fazer Depois
Crie sua aplicação para compilar o código de origem em metadados da aplicação e disponibilizar suas mudanças em toda a instância. Para obter mais informações, consulte Criar uma aplicação no ServiceNow IDE.