ServiceNow Fluent
Defina metadados da aplicação no código de origem usando a linguagem de programação específica do domínio ServiceNow Fluent.
Visão geral
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 Automated Test Framework testes.
Os desenvolvedores definem esses metadados em algumas linhas de código, em vez de por meio de um formulário ou interface do usuário da ferramenta do construtor. As aplicações criadas com ServiceNow IDE ou ServiceNow SDK são compatíveis com o desenvolvimento em ServiceNow Fluent.
Para começar a usar ServiceNow IDE ou ServiceNow SDK, consulte a documentação ServiceNow IDE ou ServiceNow SDK.
APIs
- Listas de controle de acesso (ACLs)
- Menus da aplicação
- Testes Automated Test Framework
- Regras de negócio
- Scripts de cliente
- Listas
- Propriedades
- Registros
- Funções
- Scripted REST APIs
- Tabelas
Uso
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.