스크립트 포함 API - ServiceNow Fluent

  • 릴리스 버전: Zurich
  • 업데이트 날짜 2025년 07월 31일
  • 소요 시간: 5분
  • 스크립트 포함 API는 서버 측 스크립트에서 사용할 JavaScript 함수와 클래스를 저장하는 스크립트 포함 [sys_script_include]을 정의합니다.

    주:
    새 스크립트의 경우 가능하면 스크립트 포함 대신 JavaScript 모듈을 사용하여 범위가 지정된 애플리케이션 내에서 코드 재사용을 지원하고 타사 라이브러리를 사용합니다. JavaScript 모듈 지원 및 제한 사항에 대한 자세한 내용은 다음 문서를 참조하십시오 JavaScript 모듈 및 타사 라이브러리.

    스크립트 포함에 대한 일반적인 정보는 다음 문서를 참조하십시오 Script includes.

    ScriptInclude 객체

    스크립트 포함 [sys_script_include]을 만들어 다른 스크립트에서 호출될 때 실행되는 서버 측 스크립트를 정의합니다.

    표 1. 속성
    이름 유형 설명
    $id 문자열 또는 숫자 필수 메타데이터 객체의 고유 ID입니다. 애플리케이션을 빌드할 때 이 ID는 고유한 sys_id으로 해시됩니다. 자세한 내용은 ServiceNow Fluent 언어 구성 문서를 참조하십시오.

    형식: Now.ID['문자열' 또는 숫자]

    이름 문자열 필수 스크립트 포함의 이름입니다. 클래스를 정의하는 경우 이름은 클래스, 프로토타입 및 유형의 이름과 일치해야 합니다. 클래스가 없는(요청 시) 스크립트 포함을 사용하는 경우 이름은 함수 이름과 일치해야 합니다.
    스크립트 스크립트 필수 다른 스크립트에서 호출할 서버 측 스크립트입니다. 스크립트는 단일 JavaScript 클래스 또는 전역 함수를 정의해야 합니다. 클래스 또는 함수 이름은 이름 속성과 일치해야 합니다. 이 속성은 인라인 JavaScript 또는 스크립트가 포함된 애플리케이션의 다른 파일에 대한 참조를 지원합니다.
    체재:
    • 다른 파일의 텍스트 컨텐츠를 사용하려면 Now.include('path/to/file') 형식을 사용하여 애플리케이션의 파일을 참조하십시오. 자세한 내용은 ServiceNow Fluent 언어 구성 문서를 참조하십시오.
    • 인라인 스크립트를 제공하려면 여러 줄의 코드에 문자열 리터럴 또는 템플릿 리터럴을 사용합니다( 'Script' 또는 'Script').
    apiName 문자열 범위를 벗어난 애플리케이션에서 스크립트 포함을 호출하는 데 사용되는 스크립트 포함의 내부 이름입니다.

    기본값: <scope>.<name>

    설명 문자열 스크립트 포함의 목적과 기능에 대한 설명입니다.
    clientCallable 부울 클라이언트 측 스크립트에서 GlideAjax를 사용하여 스크립트 포함을 호출할 수 있는지 여부를 나타내는 플래그입니다.

    스크립트 포함은 클라이언트 스크립트, 목록/보고서 필터, 참조 한정자에 사용하거나 URL의 일부로 지정된 경우에 사용할 수 있습니다. 클라이언트 호출 가능 스크립트 포함은 GlideAjax 에서 호출되며 사용자가 스크립트 포함과 연결된 ACL을 충족해야 합니다.

    유효한 값은 다음과 같습니다.
    • true: 클라이언트 측 스크립트에서 스크립트 포함을 사용할 수 있습니다.
    • false: 클라이언트 측 스크립트에 스크립트 포함을 사용할 수 없습니다.

    기본값: false

    mobileCallable 부울 모바일 장치에서 호출한 클라이언트 스크립트에서 스크립트 포함을 사용할 수 있는지 여부를 나타내는 플래그입니다.
    유효한 값은 다음과 같습니다.
    • true: 모바일 장치에서 호출된 클라이언트 스크립트에 스크립트 포함을 사용할 수 있습니다.
    • false: 모바일 장치에서 호출된 클라이언트 스크립트에는 스크립트 포함을 사용할 수 없습니다.

    기본값: false

    sandbox호출 가능 부울 스크립트 샌드박스에서 호출된 스크립트에 스크립트 포함을 사용할 수 있는지 여부를 나타내는 플래그입니다(예: 쿼리 조건).
    중요사항:
    스크립트 포함은 필요한 경우에만 스크립트 샌드박스에서 사용할 수 있도록 해야 합니다.
    유효한 값은 다음과 같습니다.
    • true: 스크립트 샌드박스에서 호출된 스크립트에 스크립트 포함을 사용할 수 있습니다.
    • false: 스크립트 샌드박스에서 호출된 스크립트에는 스크립트 포함을 사용할 수 없습니다.

    기본값: false

    callerAccess 문자열 스크립트 포함에 대한 교차 범위 접근을 허용하는 방법에 대한 옵션입니다. 자세한 내용은 제한된 호출자 접근 권한 설정 문서를 참조하십시오.
    유효한 값은 다음과 같습니다.
    • 제한사항: 스크립트 포함에 대한 호출은 수동으로 승인해야 합니다. 액세스 요청은 요청됨 상태의 제한된 호출자 액세스 테이블에서 추적됩니다.
    • 추적: 스크립트 포함에 대한 호출이 자동으로 승인됩니다. 통화는 허용됨 상태의 제한된 호출자 접근 테이블에서 추적됩니다.
    접근 가능한 시작 문자열 스크립트 포함에 접근할 수 있는 애플리케이션을 지정합니다.
    유효한 값은 다음과 같습니다.
    • public: 모든 애플리케이션 범위에서 스크립트 포함을 호출할 수 있습니다.
    • package_private: 스크립트 포함은 해당 애플리케이션 범위에서만 호출할 수 있습니다.

    기본값: package_private

    활성 부울 스크립트 포함이 활성화되었는지 여부를 나타내는 플래그입니다.
    유효한 값은 다음과 같습니다.
    • true: 스크립트 포함을 호출할 수 있습니다.
    • 아니오: 스크립트 포함을 호출할 수 없습니다.

    기본값: true

    $meta 객체 애플리케이션 메타데이터의 메타데이터입니다.
    installMethod 속성을 사용하면 애플리케이션 메타데이터를 특정 상황에서만 로드되는 출력 디렉터리에 매핑할 수 있습니다.
    $meta: {
          installMethod: 'String'
    }
    installMethod에 유효한 값:
    • demo: 데모 데이터 로드 옵션을 선택한 경우 애플리케이션과 함께 설치할 metadata/unload.demo 디렉터리에 애플리케이션 메타데이터를 출력합니다.
    • 첫 번째 설치: 애플리케이션이 인스턴스에 처음 설치될 때만 설치할 메타데이터 /언로드 디렉터리에 애플리케이션 메타데이터를 출력합니다.
    다음 예시에서 스크립트 포함은 SampleClass.server.js 파일의 스크립트를 사용합니다.
    import { ScriptInclude } from '@servicenow/sdk/core';
    
    ScriptInclude({
        $id: Now.ID['sample-script-include'],
        name: 'SampleScriptInclude',
        script: Now.include("./SampleClass.server.js"),
        description: 'some description',
        apiName: 'x_scope.SampleScriptInclude',
        callerAccess: 'tracking',
        clientCallable: true,
        mobileCallable: true,
        sandboxCallable: true,
        accessibleFrom: 'public',
        active: true,
    })