ServiceNow Fluent 및ServiceNow SDK
을 사용하여 코드에서 애플리케이션 메타데이터 정의 ServiceNow Fluent및 .ServiceNow SDK
시작하기 전에
- ServiceNow Fluent 언어 서버를 설치하여 에 Visual Studio Code대한 ServiceNow Fluent 언어 처리 및 유효성 검사를 가져옵니다. 자세한 내용은 ServiceNow Fluent 에 언어 서버 설치Visual Studio Code 문서를 참조하십시오.
- 을 사용하여 범위가 지정된 애플리케이션을 만들거나 변환합니다 ServiceNow SDK.
--projectType매개 변수는 애플리케이션을 만들거나 변환할 때fluent로 설정해야 합니다. 자세한 내용은 를 사용하여 애플리케이션 작성 또는 변환 ServiceNow SDK 문서를 참조하십시오.
필요한 역할: admin
이 태스크 정보
ServiceNow Fluent 는 애플리케이션을 구성하는 메타데이터 파일[sys_metadata]을 정의하기 위한 TypeScript를 기반으로 하는 DSL(도메인별 언어)이며 테이블, 역할, ACL, 비즈니스 규칙 및 Automated Test Framework 테스트와 같은 다양한 유형의 메타데이터에 대한 API를 포함합니다. API 및 예제에 대한 ServiceNow Fluent 자세한 내용은 을 참조하십시오 ServiceNow Fluent API 참조.
프로시저
를 사용하여 소스 코드에서 애플리케이션 메타데이터 정의 ServiceNow Fluent
.now.ts 확장명을 가진 파일에서 API의 ServiceNow Fluent 개체를 사용하여 응용 프로그램의 메타데이터를 정의합니다. @servicenow/sdk/core에서 API에 필요한 가져오기도 포함해야 합니다.
다음 예시에는 애플리케이션의 테이블, 클라이언트 스크립트 및 비즈니스 규칙의 정의가 포함되어 있습니다. 비즈니스 규칙은 script.js JavaScript 모듈의 함수를 사용합니다.
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,
})애플리케이션을 빌드하고 배포한 후 이 소스 코드는 인스턴스에 다음과 같은 애플리케이션 메타데이터 파일을 생성합니다.
다음에 수행할 작업
애플리케이션을 빌드 및 배포하여 소스 코드를 애플리케이션 메타데이터로 컴파일하고 변경 내용을 인스턴스에서 사용할 수 있도록 합니다. 자세한 내용은 를 사용하여 응용 프로그램을 빌드하고 배포합니다. ServiceNow SDK 문서를 참조하십시오.