---
sourceDocument: 호주 애플리케이션 빌드 또는 수정
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ko-KR/application-development

 Release :

    - australia

ft:locale :

    - ko-KR

ft:publication_title :

    - 호주 애플리케이션 빌드 또는 수정

ft:clusterId :

    - cadev

bundleId :

    - cadev

workflow :

    - Development, Data, and Analytics


---

# 비즈니스 규칙 API

# 비즈니스 규칙 API - ServiceNow Fluent {#ariaid-title1}

* 릴리스 버전: Australia
* 
* 업데이트 날짜 2026년 03월 12일
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 소요 시간: 8분

비즈니스 규칙 API는 기록이 표시, 삽입, 업데이트 또는 삭제되거나 테이블이 쿼리될 때 실행되는 서버 측 스크립트\[sys_script\]를 정의합니다.
주:  
최신 ServiceNow Fluent API 설명서 및 예제는 [ServiceNow Fluent API 참조](https://servicenow.github.io/sdk/) 및 [ServiceNow SDK 예제 리포지토리](https://github.com/ServiceNow/sdk-examples) 는 의 위치에 있습니다 GitHub.

비즈니스 규칙에 대한 일반적인 정보는 다음 문서를 참조하십시오 [Classic Business rules](https://www.servicenow.com/docs/access?context=c_BusinessRules&version=australia&pubname=australia-api-reference&ft:locale=en-US).
**관련 개념**   

* [ServiceNow Fluent](https://servicenow-prod.fluidtopics.net/LkgjsL6Ogxn6hUPsJ73QXQ "도메인별 프로그래밍 언어를 사용하여 소스 코드에서 애플리케이션 메타데이터를 정의합니다.ServiceNow Fluent")

## BusinessRule 객체 {#ariaid-title2}

특정 서버 측 조건이 충족될 때 양식 필드의 값을 자동으로 변경하는 비즈니스 규칙 \[sys_script\]을 만듭니다.
{#business-rule-object-now-ts__table_vy2_525_jq__entry__3}{#business-rule-object-now-ts__now-id-desc2}

| 이름 | 유형 | 설명 |
|-|-|-|
| $id | 문자열 또는 숫자 | 필수 메타데이터 객체의 고유 ID입니다. 애플리케이션을 빌드할 때 이 ID는 고유한 sys_id으로 해시됩니다. 자세한 내용은 [ServiceNow Fluent 언어 구성](https://servicenow-prod.fluidtopics.net/bd4_Ogu8TJjhKosNwonOfw "ServiceNow Fluent 언어 구문은 API를 사용하여 ServiceNow Fluent 소스 코드에서 개발하기 위한 추가 기능을 제공합니다.") 문서를 참조하십시오. 형식: `Now.ID['문자열' 또는 숫자]` |
| 이름 | 문자열 | 필수 비즈니스 규칙의 이름입니다. |
| 테이블 | 문자열 | 필수 비즈니스 규칙이 실행되는 테이블의 이름입니다. |
| 스크립트 | 스크립트 | 정의된 조건이 true이면 사용자 지정 스크립트가 실행됩니다. 이 속성은 JavaScript 모듈의 함수, 스크립트가 포함된 애플리케이션의 다른 파일에 대한 참조 또는 인라인 JavaScript를 지원합니다. 체재: * 함수의 경우 JavaScript 모듈에서 익스포트한 함수, 함수 표현식 또는 기본 함수의 이름을 사용하여 .now.ts 파일로 임포트합니다. JavaScript 모듈에 대한 자세한 내용은 다음 문서를 참조하십시오 [JavaScript 모듈 및 타사 라이브러리](https://servicenow-prod.fluidtopics.net/BgHqCmt1oAyXsb0oVdi_9Q "JavaScript 모듈을 사용하여 코드 베이스를 최적화하고 관련 코드를 그룹화하거나 타사 라이브러리를 추가하고 애플리케이션 내에서 코드를 재사용합니다.").{#business-rule-object-now-ts__script-function} * 다른 파일의 텍스트 콘텐츠를 사용하려면 `Now.include('경로/대상/파일')` 형식을 사용하여 애플리케이션에서 파일을 참조합니다. 자세한 내용은 [ServiceNow Fluent 언어 구성](https://servicenow-prod.fluidtopics.net/bd4_Ogu8TJjhKosNwonOfw "ServiceNow Fluent 언어 구문은 API를 사용하여 ServiceNow Fluent 소스 코드에서 개발하기 위한 추가 기능을 제공합니다.") 문서를 참조하십시오. * 인라인 스크립트를 제공하려면 여러 줄의 코드에 문자열 리터럴 또는 템플릿 리터럴을 사용합니다( `'Script' 또는 'Script'`). {#business-rule-object-now-ts__ul_rtr_vyd_1gc} |
| 순서 | 번호 | 비즈니스 규칙이 실행되어야 하는 순서를 나타내는 숫자입니다. 특정 활동에 대한 규칙이 여러 개 있는 경우 규칙은 가장 낮은 것부터 가장 높은 것 순으로 지정된 순서대로 실행됩니다. 기본값: 100 |
| 활성 | 부울 | 비즈니스 규칙을 사용할 수 있는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다. * true: 비즈니스 규칙이 적용됩니다. * false: 비즈니스 규칙이 적용되지 않습니다. {#business-rule-object-now-ts__ul_cxj_srr_4bc} 기본값: true |
| 시기 | 문자열 | 비즈니스 규칙을 실행해야 하는 시간입니다. 비즈니스 규칙이 실행되는 시기에 대한 자세한 내용은 다음 문서를 참조하십시오 [How business rules work](https://www.servicenow.com/docs/access?context=c_BusinessRules&version=australia&pubname=australia-api-reference&section=r_HowBusinessRulesWork&ft:locale=en-US). 유효한 값은 다음과 같습니다. * 다음 날짜 전 * 다음 날짜 후 * 비동기 * 표시 {#business-rule-object-now-ts__ul_onp_rpn_rfc} 기본값: 이전 |
| 작업 | 배열 | 비즈니스 규칙이 적용되는 기록 옵션입니다. 비즈니스 규칙 작업에 대한 자세한 내용은 다음 문서를 참조하십시오 [How business rules work](https://www.servicenow.com/docs/access?context=c_BusinessRules&version=australia&pubname=australia-api-reference&section=r_HowBusinessRulesWork&ft:locale=en-US). 유효한 값은 다음과 같습니다. * 삽입 * 업데이트 * 삭제 * 쿼리 {#business-rule-object-now-ts__ul_p5z_cqn_rfc} |
| 추가 메시지 | 부울 | 비즈니스 규칙이 실행될 때 나타나는 메시지를 추가할지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다. * true: 메시지를 표시합니다. * false: 메시지를 표시하지 않습니다. {#business-rule-object-now-ts__ul_xxs_ws5_pbc} 기본값: false |
| abort작업 | 부울 | 현재 데이터베이스 트랜잭션을 중단할지 여부를 나타내는 플래그입니다. 예를 들어 삽입 전 비즈니스 규칙에서 조건이 충족되면 데이터베이스에 기록을 삽입하지 마십시오. 유효한 값은 다음과 같습니다. * false: 현재 데이터베이스 트랜잭션을 중단하지 않습니다. * true: 현재 데이터베이스 트랜잭션을 중단합니다. 필드 값 설정 및 스크립트 실행과 같은 기록에 대한 추가 작업은 수행할 수 없습니다. addMessage 및 message 속성을 사용하여 사용자에게 메시지를 표시할 수 있습니다. {#business-rule-object-now-ts__ul_l12_ht5_pbc} 기본값: false |
| 메시지 | 문자열 | 비즈니스 규칙이 실행될 때 나타나는 메시지입니다. |
| 역할 조건 | 배열 | 비즈니스 규칙을 실행하려면 테이블의 기록을 수정하는 사용자가 가지고 있어야 하는 역할 객체의 변수 식별자 목록입니다. 자세한 내용은 [역할 API - ServiceNow Fluent](https://servicenow-prod.fluidtopics.net/p7a0JJeQZFTB_DlS7zHXUg#role-api-now-ts "역할 API는 애플리케이션의 사용자에게 특정 권한을 부여하는 역할 [sys_user_role]을 정의합니다.") 문서를 참조하십시오. |
| 조건 | 문자열 | 스크립트가 실행되기 위해 예여야 하는 필드와 값을 지정하는 JavaScript 조건문입니다. 이 속성은 인라인 JavaScript 또는 스크립트가 포함된 애플리케이션의 다른 파일에 대한 참조를 지원합니다. 주: filterCondition 또는 script 속성과 함께 조건문을 포함하는 경우에는 이 속성을 사용하지 마십시오. 이 속성으로 조건문을 지정하면 조건이 별도로 평가되고 조건이 true인 경우에만 비즈니스 규칙이 실행됩니다. 비동기 비즈니스 규칙을 실행하기 전에 조건문을 두 번째로 다시 평가하려면 시스템 속성을 true로 설정합니다 glide.businessrule.async_condition_check . 체재: * 다른 파일의 텍스트 콘텐츠를 사용하려면 `Now.include('경로/대상/파일')` 형식을 사용하여 애플리케이션에서 파일을 참조합니다. 자세한 내용은 [ServiceNow Fluent 언어 구성](https://servicenow-prod.fluidtopics.net/bd4_Ogu8TJjhKosNwonOfw "ServiceNow Fluent 언어 구문은 API를 사용하여 ServiceNow Fluent 소스 코드에서 개발하기 위한 추가 기능을 제공합니다.") 문서를 참조하십시오. * 인라인 스크립트를 제공하려면 여러 줄의 코드에 문자열 리터럴 또는 템플릿 리터럴을 사용합니다( `'Script' 또는 'Script'`). {#business-rule-object-now-ts__ul_zr2_zvg_5fc} |
| filterCondition | 문자열 | 비즈니스 규칙을 실행하기 위해 True여야 하는 필드와 값을 지정하는 필터 쿼리입니다. 자세한 내용은 [Operators available for filters and queries](https://www.servicenow.com/docs/access?context=r_OpAvailableFiltersQueries&version=australia&pubname=australia-platform-user-interface&ft:locale=en-US) 문서를 참조하십시오. |
| setFieldValue | 문자열 | 테이블의 필드에 대해 설정할 값입니다. `이는 setFieldValue: 'sec_created=false^EQ'`와 같이 인코딩된 쿼리로 제공할 수 있습니다. |
| 설명 | 문자열 | 비즈니스 규칙이 수행하는 작업에 대한 설명입니다. |
| 보호 정책 | 문자열 | 애플리케이션이 인스턴스에 설치된 후 다른 사용자가 스크립트 포함을 보거나 편집할 수 있는지 여부를 결정하는 정책입니다. 정의되지 않은 경우 다른 애플리케이션 개발자가 스크립트 포함을 사용자 지정할 수 있습니다. 유효한 값은 다음과 같습니다. * 읽기: 누구나 다운로드하거나 설치된 이 스크립트 포함에서 값을 읽을 수 있습니다. 누구도 스크립트 포함을 다운로드하거나 설치하는 인스턴스에서 스크립트 값을 변경할 수 없습니다. * 보호됨: 애플리케이션 개발자에게 지적 재산권 보호를 제공합니다. 스크립트 포함을 다운로드한 고객은 스크립트 필드의 내용을 볼 수 없습니다. 스크립트는 권한이 없는 사용자가 일반 텍스트로 볼 수 없도록 메모리에서 암호화됩니다. {#business-rule-object-now-ts__ul_o3h_nbz_j3c} |
| $meta | 객체 | 애플리케이션 메타데이터의 메타데이터입니다. installMethod 속성을 사용하면 애플리케이션 메타데이터를 특정 상황에서만 로드되는 출력 디렉터리에 매핑할 수 있습니다. $meta: { installMethod: 'String' } installMethod에 유효한 값: * demo: 데모 데이터 로드 옵션을 선택한 경우 애플리케이션과 함께 설치할 metadata/unload.demo 디렉터리에 애플리케이션 메타데이터를 출력합니다. * 첫 번째 설치: 애플리케이션이 인스턴스에 처음 설치될 때만 설치할 메타데이터 /언로드 디렉터리에 애플리케이션 메타데이터를 출력합니다. {#business-rule-object-now-ts__ul_n3q_y3s_42c} |
[표 1. 속성]

{#business-rule-object-now-ts__table_vy2_525_jq}  

    import { BusinessRule } from '@servicenow/sdk/core'
    import { FunctionExport, FunctionExpression } from '../server/scripts.js'
    import DefaultExportFunction from '../server/scripts.js'

    const BR1 = BusinessRule({
        name: 'exportedFunction',
        table: 'x_snc_table',
        when: 'after',
        action: ['update', 'delete', 'insert'],
        script: FunctionExport,
        order: 100,
        active: true,
        addMessage: false,
        message: '<p>message</p>',
        abortAction: false,
        $id: Now.ID[0],
    })

    const BR2 = BusinessRule({
        name: 'businessrule2',
        table: 'x_snc_table',
        script: FunctionExpression,
        when: 'after',
        action: ['update'],
        $id: Now.ID[1],
    })

    const BR3 = BusinessRule({
        name: 'businessrule3',
        table: 'x_snc_table',
        script: DefaultExportFunction,
        when: 'after',
        action: ['update'],
        filterCondition: `sys_updated_onSTARTSWITHb^sys_updated_bySTARTSWITHm^EQ
        <item goto="false" or="false" field="sys_updated_on" endquery="false" value="b" operator="STARTSWITH" newquery="false"/>
        <item goto="false" or="false" field="sys_updated_by" endquery="false" value="m" operator="STARTSWITH" newquery="false"/>
        <item goto="false" or="false" field="" endquery="true" value="" operator="=" newquery="false"/>`,
        $id: Now.ID[2],
    })

    const BR4 = BusinessRule({
        name: 'templateBR',
        action: ['insert'],
        when: 'after',
        table: 'x_snc_table',
        roleConditions: [admin],
        order: 100,
        active: true,
        addMessage: true,
        message: '<p>message</p>',
        script: `gs.info('info')`,
        abortAction: false,
        $id: Now.ID[3],
    })


