서비스 카탈로그 API - ServiceNow Fluent
API는 서비스 카탈로그 카탈로그 항목[sc_cat_item], 기록 생성자[sc_cat_item_producer] 및 서비스 카탈로그의 관련 측면을 정의합니다.
서비스 카탈로그에 대한 일반적인 정보는 다음 문서를 참조하십시오 Service Catalog.
CatalogItem 객체
사용자가 서비스 카탈로그에서 요청할 수 있는 카탈로그 항목[sc_cat_item]을 작성합니다.
카탈로그 항목은 항목 요청이 이행되는 방법을 정의하는 플로우, 워크플로우 또는 실행 계획을 참조해야 합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| $id | 문자열 또는 숫자 | 필수 메타데이터 객체의 고유 ID입니다. 애플리케이션을 빌드할 때 이 ID는 고유한 sys_id으로 해시됩니다. 자세한 내용은 ServiceNow Fluent 언어 구성 문서를 참조하십시오. 형식: |
| 이름 | 문자열 | 필수 카탈로그에 표시되는 항목의 이름입니다. |
| 활성 | 부울 | 항목이 활성 상태이고 주문할 수 있는지 여부를 나타내는 플래그입니다. 기본값: true |
| 가용성 | 문자열 | 항목이 표시되는 장치의 유형입니다. 유효한 값은 다음과 같습니다.
기본값: desktopOnly |
| 체크 아웃됨 | 부울 | 항목이 편집을 위해 체크아웃되었는지 여부를 나타내는 플래그입니다. 기본값: false |
| 설명 | 문자열 | 사용자가 항목 또는 연결된 미리 보기 링크를 선택할 때 카탈로그에 표시되는 항목에 대한 자세한 설명입니다. 비디오, 이미지, 지식베이스(KB) 문서에 대한 링크, 외부 정보 및 지침 설명서 소스에 대한 링크를 포함할 수 있습니다. |
| 메타 | 배열 | 항목과 관련된 검색을 지원하는 데 사용되는 메타데이터 태그 목록입니다. 주: 메타 속성은 Zing 텍스트 인덱싱 및 검색 엔진에만 사용되며 AI 검색. |
| 모델 | 참조 또는 문자열 | 변수 식별자 또는 항목과 연결된 제품 모델 [cmdb_model]의 sys_id입니다. 제품 모델을 정의하려면 을 사용합니다 기록 API - ServiceNow Fluent. |
| 순서 | 번호 | 항목이 해당 범주 내에 표시되는 순서입니다. 기본값: 0 |
| 소유자 | 참조 또는 문자열 | 항목을 소유하고 편집 권한이 있는 사용자 [sys_user]의 변수 식별자 또는 sys_id입니다. 사용자를 정의하려면 을 사용합니다 기록 API - ServiceNow Fluent. |
| 역할 | 배열 | 항목에 액세스할 수 있는 역할 개체 또는 역할 [sys_user_role] sys_ids의 변수 식별자 목록입니다. 자세한 내용은 다음 문서를 참조하십시오 역할 API - ServiceNow Fluent. |
| shortDescription | 문자열 | 카탈로그 홈페이지, 검색 결과, 주문 양식의 제목 표시줄에 표시되는 항목에 대한 짧은 설명입니다. |
| showVariableHelpOnLoad | 부울 | 항목에 기본적으로 변수 도움말 텍스트가 표시되는지 여부를 나타내는 플래그입니다. 기본값: false |
| 시작종결됨 | 부울 | 항목을 축소된 상태로 시작할지 여부를 나타내는 플래그입니다. 기본값: false |
| 상태 | 문자열 | 초안 또는 게시됨과 같은 항목의 게시 상태입니다. |
| variables | 객체 | 요청 옵션을 제공하는 항목에 대한 변수 정의입니다. 각 변수 유형에는 특정 기능이 있습니다. 예:카탈로그 변수에 대한 일반적인 정보는 다음 문서를 참조하십시오 Service catalog variables. |
| 버전 | 번호 | 항목의 버전입니다. 기본값: 1 |
| 이미지 | 문자열 | 더 이상 사용되지 않음 항목의 이미지입니다. |
| 아이콘 | 문자열 | 카탈로그에서 항목 이름 옆에 아이콘으로 표시되는 이미지 파일입니다. 27x27 픽셀 이미지를 사용합니다. 업로드된 이미지가 없으면 기본 아이콘이 나타납니다. |
| picture | 문자열 | 항목의 그림으로 표시할 이미지 파일입니다. |
| mobilePicture | 문자열 | 모바일 장치에 항목의 그림으로 표시할 이미지입니다. 이 속성은 mobilePictureType 의 값이 |
| mobilePictureType | 문자열 | 모바일 장치에서 항목에 대해 표시할 그림의 유형입니다. 유효한 값은 다음과 같습니다.
기본값: desktopPicture |
| 카트에 추가 숨기기 | 부울 | 카트에 추가 버튼을 숨길지 여부를 나타내는 플래그입니다. 기본값: false |
| 숨기기AddToWishList | 부울 | 희망 목록에 추가 버튼을 숨길지 여부를 나타내는 플래그입니다. 기본값: false |
| 숨기기 전달 시간 | 부울 | 제공 시간을 숨길지 여부를 나타내는 플래그입니다. 기본값: false |
| hideQuantitySelector | 부울 | 수량 필드를 숨길지 여부를 나타내는 플래그입니다. 기본값: false |
| 초안으로 저장 숨기기 | 부울 | 초안으로 저장 버튼을 숨길지 여부를 나타내는 플래그입니다. 기본값: false |
| 숨기기SP | 부울 | 에서 항목을 서비스 포털숨길지 여부를 나타내는 플래그입니다. 기본값: false |
| mandatoryAttachment | 부울 | 요청을 제출하기 위해 첨부 파일을 추가해야 하는지 여부를 나타내는 플래그입니다. 기본값: false |
| 첨부 파일 숨기기 | 부울 | 첨부 파일 섹션을 숨길지, 첨부 파일 추가를 지원하지 않을지를 나타내는 플래그입니다. 기본값: false |
| 할당된 주제 | 배열 | 포털에서 항목의 가시성을 제어하는 기존 분류 주제의 sys_ids 목록입니다 직원 센터 . 자세한 내용은 Associate a catalog item with a taxonomy topic in Employee Center 문서를 참조하십시오. 주: 이 속성은 Employee Experience Taxonomy 플러그인(sn_ect)이 활성 상태인 경우에만 사용할 수 있습니다. |
| 사용 가능 | 배열 | 항목에 액세스할 수 있는 사용자를 정의하는 사용자 기준 [user_criteria] sys_ids 목록입니다. |
| notAvailableFor | 배열 | 항목에 액세스할 수 없는 사용자를 정의하는 사용자 기준 [user_criteria] sys_ids 목록입니다. 이 속성은 availableFor 속성을 재정의합니다. |
| 변수 세트 | 배열 | 항목에 첨부할 변수 세트 객체의 변수 식별자 목록 또는 변수 세트 [item_option_new_set]의 sys_ids입니다. 자세한 내용은 변수 세트 객체 문서를 참조하십시오. 형식: |
| 플로우 | 참조 또는 문자열 | 플로우 객체의 변수 식별자 또는 요청이 이행되는 방법을 정의하는 플로우 [sys_hub_flow]의 sys_id입니다. 플로우를 정의하려면 을 사용합니다.플로우 API - ServiceNow Fluent 주: 카탈로그 항목의 이행 방법으로 플로우를 사용해야 합니다. 플로우, 워크플로우 및 executionPlan이 모두 지정되면 시스템에서 플로우를 사용합니다. |
| executionPlan | 참조 또는 문자열 | 요청이 이행되는 방법을 정의하는 실행 계획[sc_cat_item_delivery_plan]의 변수 식별자 또는 sys_id입니다. 실행 계획을 기록 API - ServiceNow Fluent정의하려면 . |
| 워크플로우 | 문자열 | 항목 요청이 이행되는 방법을 정의하는 레거시 워크플로우 [wf_workflow]의 sys_id입니다. 새 구현에 플로우 속성을 사용합니다. |
| 접근 유형 | 문자열 | 항목을 요청하는 데 필요한 사용자 액세스 권한입니다. 유효한 값은 다음과 같습니다.
주: 이 기능은 항목에 요청 대상 변수가 있는 경우에만 적용할 수 있습니다. 기본값: 제한됨 |
| 위치 | 참조 또는 문자열 | 변수 식별자 또는 항목이 제공되는 위치[cmn_location]의 sys_id입니다. 위치를 정의하려면 을 사용합니다 기록 API - ServiceNow Fluent. |
| 벤더 | 참조 또는 문자열 | 변수 식별자 또는 항목과 연결된 벤더의 sys_id입니다. 벤더를 정의하려면 을 사용합니다.기록 API - ServiceNow Fluent |
| deliveryPlanScript | 스크립트 | 더 이상 사용되지 않음 대신 executionPlan 속성을 사용합니다. |
| 제공 시간 | 객체 | 항목 제공 예상 시간입니다. 형식: |
| entitlementScript | 스크립트 | 항목의 권리를 정의하는 스크립트. |
| makeItemNonConversational | 부울 | 대화 환경(예 가상 에이전트: )에서 항목을 요청하는 기능을 차단할지 여부를 나타내는 플래그입니다. 예일 경우 대화형 환경에서 항목을 요청할 수 있습니다. 기본값: false |
| visible번들 | 부울 | 저장된 번들에서 항목을 볼 수 있는지 여부를 나타내는 플래그입니다. 기본값: true |
| visibleGuide | 부울 | 항목이 주문 가이드에 표시되는지 여부를 나타내는 플래그입니다. 기본값: true |
| visibleStandalone | 부울 | 독립 실행형 뷰가 표시되는지 여부를 나타내는 플래그입니다. 기본값: true |
| fulfillmentAutomationLevel | 문자열 | 요청에 대한 이행 자동화 수준입니다. 유효한 값은 다음과 같습니다.
|
| fulfillmentGroup | 참조 또는 문자열 | 항목 제공을 담당하는 그룹 [sys_user_group]의 변수 식별자 또는 sys_id입니다. 사용자 그룹을 정의하려면 을 사용합니다 기록 API - ServiceNow Fluent. |
| 카탈로그 | 배열 | 항목이 표시되는 카탈로그 [sc_catalog]의 sys_ids 목록입니다. |
| categories | 배열 | 항목이 속한 범주 [sc_category]의 sys_ids 목록입니다. 범주를 할당하려면 먼저 카탈로그 속성에 카탈로그를 지정해야 합니다. Service Portal에서 카탈로그 검색은 범주에 할당된 항목만 찾습니다. Employee Center에서 카탈로그 검색은 분류 주제와 연결된 항목만 찾습니다. 자세한 내용은 Associate a catalog item with a taxonomy topic in Employee Center 문서를 참조하십시오. |
| 비용 | 번호 | 항목의 일회성 비용을 나타내는 숫자입니다. 기본값: 0 |
| displayPrice속성 | 문자열 | 항목 가격이 표시되는 방식을 제어하는 시스템 속성입니다. |
| 가격 무시 | 부울 | 카트와 카탈로그 목록에서 항목 가격을 숨길지 여부를 나타내는 플래그입니다. 기본값: true |
| mobileHidePrice | 부울 | 모바일 장치에서 항목 가격을 숨길지 여부를 나타내는 플래그입니다. 기본값: false |
| 생략가격 | 부울 | 항목의 모든 뷰에서 가격을 완전히 생략할지 여부를 나타내는 플래그입니다. 기본값: false |
| 청구 가능 | 부울 | 항목이 청구 가능한지 여부를 나타내는 플래그입니다. 기본값: false |
| pricingDetails | 배열 | 항목의 가격 책정 항목 목록입니다. 유효한 값은 다음과 같습니다.
형식: |
| recurringFrequency | 문자열 | 매월 또는 매년과 같이 반복되는 가격이 반복되는 시간 간격입니다. pricingDetails에 |
| 요청메서드 | 문자열 | 제출 버튼 및 주문 제출 환경의 레이블입니다. 유효한 값은 다음과 같습니다.
기본값: order |
| 커스텀카트 | 참조 또는 문자열 | 카트 렌더링에 사용할 사용자 지정 UI 매크로의 변수 식별자 또는 sys_id입니다. 사용자 지정 카트를 정의하려면 을 사용합니다 기록 API - ServiceNow Fluent. |
| useScLayout 사용 | 부울 | 항목이 표시에 레이아웃을 서비스 카탈로그 사용하는지 여부를 나타내는 플래그입니다. 기본값: true |
| 카트 없음 | 부울 | 더 이상 사용되지 않음 쇼핑 카트를 숨길지 여부를 나타내는 플래그입니다. 기본값: false |
| 순서 없음 | 부울 | 더 이상 사용되지 않음 주문 옵션을 숨길지 여부를 나타내는 플래그입니다. 기본값: false |
| noOrderNow | 부울 | 더 이상 사용되지 않음 지금 주문 옵션을 숨길지 여부를 나타내는 플래그입니다. 기본값: false |
| noProceedCheckout | 부울 | 더 이상 사용되지 않음 체크 아웃 프로세스를 숨길지 여부를 나타내는 플래그입니다. 기본값: false |
| 수량 없음 | 부울 | 더 이상 사용되지 않음 수량 필드를 숨길지 여부를 나타내는 플래그입니다. 기본값: false |
| 검색 안 함 | 부울 | 더 이상 사용되지 않음 검색을 숨길지 여부를 나타내는 플래그입니다. 기본값: false |
| $meta | 객체 | 애플리케이션 메타데이터의 메타데이터입니다. installMethod 속성을 사용하면 애플리케이션 메타데이터를 특정 상황에서만 로드되는 출력 디렉터리에 매핑할 수 있습니다. installMethod에 유효한 값:
|
import { CatalogItem } from "@servicenow/sdk/core";
export const softwareLicenseRequest = CatalogItem({
$id: Now.ID["software_license_request"],
name: "Software License Request",
shortDescription: "Request a software license",
catalogs: [serviceCatalog],
categories: [softwareCategory],
// Attach reusable variable sets
variableSets: [
{ variableSet: contactInfoSet, order: 100 },
{ variableSet: approvalInfoSet, order: 200 }
],
// Item-specific variables
variables: {
software_name: SingleLineTextVariable({
question: "Software Name",
mandatory: true,
order: 100
}),
license_type: SelectBoxVariable({
question: "License Type",
choices: {
individual: { label: "Individual", sequence: 1 },
team: { label: "Team (5 seats)", sequence: 2 },
enterprise: { label: "Enterprise (unlimited)", sequence: 3 }
},
mandatory: true,
order: 200
}),
number_of_licenses: SingleLineTextVariable({
question: "Number of Licenses",
defaultValue: "1",
order: 300
}),
justification: MultiLineTextVariable({
question: "Business Justification",
mandatory: true,
order: 400
})
},
// Pricing with recurring charges
pricingDetails: [
{ amount: 0, currencyType: "USD", field: "price" },
{ amount: 99, currencyType: "USD", field: "recurring_price" }
],
recurringFrequency: "monthly",
flow: "523da512c611228900811a37c97c2014",
deliveryTime: { days: 3, hours: 0 }
})
CatalogItemRecordProducer 객체
사용자가 서비스 카탈로그에서 인시던트 또는 변경 요청 기록과 같은 작업 기반 기록을 생성할 수 있도록 기록 생성자 [sc_cat_item_producer]를 생성합니다.
기록 생성자와 동일한 범위에 있는 테이블 및 데이터베이스 뷰를 위한 기록 생성자를 만들 수 있습니다. 다른 범위에 있는 애플리케이션에서 접근 권한 생성을 허용하는 기록 생성자를 만들 수도 있습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| $id | 문자열 또는 숫자 | 필수 메타데이터 객체의 고유 ID입니다. 애플리케이션을 빌드할 때 이 ID는 고유한 sys_id으로 해시됩니다. 자세한 내용은 ServiceNow Fluent 언어 구성 문서를 참조하십시오. 형식: |
| 테이블 | 참조 또는 문자열 | 필수 테이블 객체의 변수 식별자 또는 기록 생성자가 인시던트나 change_request과 같은 기록을 작성하는 테이블의 이름입니다. |
| 이름 | 문자열 | 필수 카탈로그에 표시되는 항목의 이름입니다. |
| 활성 | 부울 | 항목이 활성 상태이고 주문할 수 있는지 여부를 나타내는 플래그입니다. 기본값: true |
| 가용성 | 문자열 | 항목이 표시되는 장치의 유형입니다. 유효한 값은 다음과 같습니다.
기본값: desktopOnly |
| 체크 아웃됨 | 부울 | 항목이 편집을 위해 체크아웃되었는지 여부를 나타내는 플래그입니다. 기본값: false |
| 설명 | 문자열 | 사용자가 항목 또는 연결된 미리 보기 링크를 선택할 때 카탈로그에 표시되는 항목에 대한 자세한 설명입니다. 비디오, 이미지, 지식베이스(KB) 문서에 대한 링크, 외부 정보 및 지침 설명서 소스에 대한 링크를 포함할 수 있습니다. |
| 메타 | 배열 | 항목과 관련된 검색을 지원하는 데 사용되는 메타데이터 태그 목록입니다. 주: 메타 속성은 Zing 텍스트 인덱싱 및 검색 엔진에만 사용되며 AI 검색. |
| 모델 | 참조 또는 문자열 | 변수 식별자 또는 항목과 연결된 제품 모델 [cmdb_model]의 sys_id입니다. 제품 모델을 정의하려면 을 사용합니다 기록 API - ServiceNow Fluent. |
| 순서 | 번호 | 항목이 해당 범주 내에 표시되는 순서입니다. 기본값: 0 |
| 소유자 | 참조 또는 문자열 | 항목을 소유하고 편집 권한이 있는 사용자 [sys_user]의 변수 식별자 또는 sys_id입니다. 사용자를 정의하려면 을 사용합니다 기록 API - ServiceNow Fluent. |
| 역할 | 배열 | 항목에 액세스할 수 있는 역할 개체 또는 역할 [sys_user_role] sys_ids의 변수 식별자 목록입니다. 자세한 내용은 다음 문서를 참조하십시오 역할 API - ServiceNow Fluent. |
| shortDescription | 문자열 | 카탈로그 홈페이지, 검색 결과, 주문 양식의 제목 표시줄에 표시되는 항목에 대한 짧은 설명입니다. |
| showVariableHelpOnLoad | 부울 | 항목에 기본적으로 변수 도움말 텍스트가 표시되는지 여부를 나타내는 플래그입니다. 기본값: false |
| 시작종결됨 | 부울 | 항목을 축소된 상태로 시작할지 여부를 나타내는 플래그입니다. 기본값: false |
| 상태 | 문자열 | 초안 또는 게시됨과 같은 항목의 게시 상태입니다. |
| variables | 객체 | 요청 옵션을 제공하는 항목에 대한 변수 정의입니다. 각 변수 유형에는 특정 기능이 있습니다. 예:카탈로그 변수에 대한 일반적인 정보는 다음 문서를 참조하십시오 Service catalog variables. |
| 버전 | 번호 | 항목의 버전입니다. 기본값: 1 |
| 뷰 | 참조 또는 문자열 | 필수 적용되는 UI 뷰 [sys_ui_view] 또는 기본 뷰의 변수 식별자 또는 이름입니다. UI 뷰를 정의하려면 을 사용합니다 기록 API - ServiceNow Fluent. 기본 뷰( default_view)를 사용하려면 다음을 임포트해야 합니다. |
| 아이콘 | 문자열 | 카탈로그에서 항목 이름 옆에 아이콘으로 표시되는 이미지 파일입니다. 27x27 픽셀 이미지를 사용합니다. 업로드된 이미지가 없으면 기본 아이콘이 나타납니다. |
| picture | 문자열 | 항목의 그림으로 표시할 이미지 파일입니다. |
| mobilePicture | 문자열 | 모바일 장치에 항목의 그림으로 표시할 이미지입니다. 이 속성은 mobilePictureType 의 값이 |
| mobilePictureType | 문자열 | 모바일 장치에서 항목에 대해 표시할 그림의 유형입니다. 유효한 값은 다음과 같습니다.
기본값: desktopPicture |
| 할당된 주제 | 배열 | 포털에서 항목의 가시성을 제어하는 기존 분류 주제의 sys_ids 목록입니다 직원 센터 . 자세한 내용은 Associate a catalog item with a taxonomy topic in Employee Center 문서를 참조하십시오. 주: 이 속성은 Employee Experience Taxonomy 플러그인(sn_ect)이 활성 상태인 경우에만 사용할 수 있습니다. |
| 사용 가능 | 배열 | 항목에 액세스할 수 있는 사용자를 정의하는 사용자 기준 [user_criteria] sys_ids 목록입니다. |
| notAvailableFor | 배열 | 항목에 액세스할 수 없는 사용자를 정의하는 사용자 기준 [user_criteria] sys_ids 목록입니다. 이 속성은 availableFor 속성을 재정의합니다. |
| 변수 세트 | 배열 | 항목에 첨부할 변수 세트 객체의 변수 식별자 목록 또는 변수 세트 [item_option_new_set]의 sys_ids입니다. 자세한 내용은 변수 세트 객체 문서를 참조하십시오. 형식: |
| 카트에 추가 숨기기 | 부울 | 카트에 추가 버튼을 숨길지 여부를 나타내는 플래그입니다. 기본값: false |
| 숨기기AddToWishList | 부울 | 희망 목록에 추가 버튼을 숨길지 여부를 나타내는 플래그입니다. 기본값: false |
| 숨기기 전달 시간 | 부울 | 제공 시간을 숨길지 여부를 나타내는 플래그입니다. 기본값: false |
| hideQuantitySelector | 부울 | 수량 필드를 숨길지 여부를 나타내는 플래그입니다. 기본값: false |
| 초안으로 저장 숨기기 | 부울 | 초안으로 저장 버튼을 숨길지 여부를 나타내는 플래그입니다. 기본값: false |
| 숨기기SP | 부울 | 에서 항목을 서비스 포털숨길지 여부를 나타내는 플래그입니다. 기본값: false |
| mandatoryAttachment | 부울 | 요청을 제출하기 위해 첨부 파일을 추가해야 하는지 여부를 나타내는 플래그입니다. 기본값: false |
| 첨부 파일 숨기기 | 부울 | 첨부 파일 섹션을 숨길지, 첨부 파일 추가를 지원하지 않을지를 나타내는 플래그입니다. 기본값: false |
| 허용편집 | 부울 | 사용자가 제출 후 생성된 기록을 편집할 수 있는지 여부를 나타내는 플래그입니다. 기본값: false |
| 캔 취소 | 부울 | 기록 생성자 양식에 취소 버튼을 표시할지 여부를 나타내는 플래그입니다. 사용자는 취소를 선택하여 기록 생성자를 취소하고 마지막으로 본 화면으로 돌아갈 수 있습니다. 기본값: false |
| postInsertScript | 스크립트 | 연결된 테이블에 기록이 삽입된 후 실행되는 서버 측 스크립트입니다. 이 스크립트에서 current.update() 를 호출할 수 있습니다.주: 이 스크립트는 대상 기록 값과 기록 생성자 템플릿 값을 재정의합니다. 이 속성은 인라인 JavaScript 또는 스크립트가 포함된 애플리케이션의 다른 파일에 대한 참조를 지원합니다. 체재:
기본값: |
| 리디렉션 URL | 문자열 | 기록이 생성된 후의 리디렉션 대상입니다. 유효한 값은 다음과 같습니다.
기본값: generatedRecord |
| saveOptions | 문자열 | 기록 생성자 저장을 위한 고급 구성 옵션입니다. |
| saveScript | 스크립트 | 카탈로그 작성기에서 모든 단계에서 실행되는 스크립트 저장. 이 속성은 인라인 JavaScript 또는 스크립트가 포함된 애플리케이션의 다른 파일에 대한 참조를 지원합니다. 체재:
기본값: |
| 스크립트 | 스크립트 | 기록이 생성되기 전에 실행되는 서버 측 스크립트입니다. 이 스크립트를 사용하여 기록의 필드에 동적으로 값을 할당합니다. 이 스크립트에서 current.update() 또는 current.insert() 를 호출하지 마십시오.이 속성은 인라인 JavaScript 또는 스크립트가 포함된 애플리케이션의 다른 파일에 대한 참조를 지원합니다. 체재:
기본값: |
| 이미지 | 문자열 | 더 이상 사용되지 않음 항목의 이미지입니다. |
| $meta | 객체 | 애플리케이션 메타데이터의 메타데이터입니다. installMethod 속성을 사용하면 애플리케이션 메타데이터를 특정 상황에서만 로드되는 출력 디렉터리에 매핑할 수 있습니다. installMethod에 유효한 값:
|
import { CatalogItemRecordProducer } from "@servicenow/sdk/core";
const serviceCatalog = "e0d08b13c3330100c8b837659bba8fb4";
const itServicesCategory = "d258b953c611227a0146101fb1be7c31";
export const comprehensiveIncidentProducer = CatalogItemRecordProducer({
$id: Now.ID["comprehensive_incident_producer"],
name: "Report Incident with Full Configuration",
shortDescription: "Complete incident producer with variables and scripts",
table: "incident",
catalogs: [serviceCatalog],
categories: [itServicesCategory],
variables: {
short_description: SingleLineTextVariable({
question: "Brief Summary",
mandatory: true,
mapToField: true,
field: "short_description",
order: 100
}),
urgency: SelectBoxVariable({
question: "Urgency",
mandatory: true,
mapToField: true,
field: "urgency",
choices: {
"1": { label: "High", sequence: 1 },
"2": { label: "Medium", sequence: 2 },
"3": { label: "Low", sequence: 3 }
},
order: 200
}),
assignment_group: ReferenceVariable({
question: "Assignment Group",
mapToField: true,
field: "assignment_group",
referenceTable: "sys_user_group",
order: 300
})
},
script: Now.include("../../scripts/rp-pre-insert.js"),
postInsertScript: Now.include("../../scripts/rp-post-insert.js"),
redirectUrl: "generatedRecord",
view: "ess",
allowEdit: true
})
CatalogUiPolicy 객체
카탈로그 UI 정책 [catalog_ui_policy]을 구성하여 조건에 따라 카탈로그 항목 양식의 변수 동작을 제어합니다.
카탈로그 UI 정책은 지정된 조건이 충족될 때 변수를 필수, 읽기 전용, 표시 또는 숨김으로 설정할 수 있습니다. 확인, 계산 또는 비동기 호출의 경우 카탈로그 클라이언트 스크립트를 대신 사용합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| $id | 문자열 또는 숫자 | 필수 메타데이터 객체의 고유 ID입니다. 애플리케이션을 빌드할 때 이 ID는 고유한 sys_id으로 해시됩니다. 자세한 내용은 ServiceNow Fluent 언어 구성 문서를 참조하십시오. 형식: |
| shortDescription | 문자열 | 필수 카탈로그 UI 정책이 수행하는 작업에 대한 짧은 설명입니다. |
| 카탈로그 항목 | 참조 또는 문자열 | variableSet 속성이 사용되지 않는 경우에만 필요합니다. CatalogItem 또는 CatalogItemRecordProducer 객체의 변수 식별자, 또는 UI 정책이 적용되는 카탈로그 항목 [sc_cat_item] 또는 기록 생성자 [sc_cat_item_producer]의 sys_id변수 식별자입니다. 자세한 내용은 CatalogItem 객체 또는 CatalogItemRecordProducer 객체 문서를 참조하십시오. |
| 변수 세트 | 참조 또는 문자열 | catalogItem 속성이 사용되지 않는 경우에만 필요합니다. VariableSet 객체의 변수 식별자 또는 UI 정책이 적용되는 변수 세트 [item_option_new_set]의 sys_id입니다. 자세한 내용은 변수 세트 객체 문서를 참조하십시오. |
| appliesTo | 문자열 | UI 정책이 적용되는 범위입니다. 유효한 값은 다음과 같습니다.
기본값: item |
| 활성 | 부울 | 카탈로그 UI 정책이 활성 상태인지 여부를 나타내는 플래그입니다. 기본값: true |
| 전역 | 부울 | 카탈로그 UI 정책이 실행되는 테이블 뷰를 나타내는 플래그입니다. 기본값: true |
| 로드 시 | 부울 | 양식이 로드될 때 카탈로그 UI 정책이 실행되는지 여부를 나타내는 플래그입니다. false인 경우 변수 값이 변경될 때만 정책이 적용됩니다. 기본값: true |
| reverseIfFalse | 부울 | 카탈로그 조건이 false로 평가될 때 UI 정책 작업을 취소할지 여부를 나타내는 플래그입니다. 기본값: true |
| 상속 | 부울 | 카탈로그 UI 정책이 상속되는지 여부를 나타내는 플래그입니다. 기본값: false |
| isolateScript | 부울 | 정책 스크립트가 격리된 범위에서 실행되는지 여부를 나타내는 플래그입니다. 기본값: true |
| 카탈로그 조건 | 문자열 | UI 정책을 트리거하는 카탈로그 항목 변수 값을 기반으로 인코딩된 쿼리 조건입니다. 예: |
| appliesOnCatalogItemView | 부울 | 주문 화면에 표시되는 카탈로그 항목에 UI 정책이 적용되는지 여부를 나타내는 플래그입니다. 이 뷰는 요청자가 사용할 수 있습니다. 기본값: true |
| appliesOnTargetRecord | 부울 | 기록 생성자를 통해 작업 확장 테이블에 대해 생성된 기록에 UI 정책이 적용되는지 여부를 나타내는 플래그입니다. 기본값: false |
| appliesOnCatalogTasks | 부울 | UI 정책이 카탈로그 작업 양식에 적용되는지 여부를 나타내는 플래그입니다. 이행자가 이 뷰를 사용할 수 있습니다. 기본값: false |
| appliesOnRequestedItems | 부울 | UI 정책이 요청된 항목 양식에 적용되는지 여부를 나타내는 플래그입니다. 이행자가 이 뷰를 사용할 수 있습니다. 기본값: false |
| 실행 스크립트 | 부울 | 이 UI 정책에 대해 executeIfTrue 및 executeIfFalse 스크립트를 실행할지 여부를 나타내는 플래그입니다. 스크립트를 사용하여 특정 역할을 대상으로 지정하는 등 읽기 전용, 필수 또는 표시 이외의 동작을 적용합니다. 기본값: false |
| executeIfTrue | 문자열 | 카탈로그 조건이 true로 평가될 때 실행되는 클라이언트 측 스크립트입니다. 스크립트는 onCondition() {} 함수 에 래핑되어야 합니다. |
| executeIfFalse | 문자열 | 카탈로그 조건이 false로 평가될 때 실행되는 클라이언트 측 스크립트입니다. 스크립트는 onCondition() {} 함수 에 래핑되어야 합니다. |
| runScriptsInUiType | 문자열 | 정책 스크립트가 실행되는 UI 유형입니다. 유효한 값은 다음과 같습니다.
기본값: 데스크톱 |
| va지원 | 부울 | 가상 에이전트 대화에서 UI 정책이 지원되는지 여부를 나타내는 플래그입니다. 기본값: false |
| 작업 | 배열 | 카탈로그 조건이 충족될 때 수행할 변수 작업의 목록입니다. 자세한 내용은 작업 배열 문서를 참조하십시오. |
| $meta | 객체 | 애플리케이션 메타데이터의 메타데이터입니다. installMethod 속성을 사용하면 애플리케이션 메타데이터를 특정 상황에서만 로드되는 출력 디렉터리에 매핑할 수 있습니다. installMethod에 유효한 값:
|
import { CatalogUiPolicy } from "@servicenow/sdk/core";
import { hardwareRequestItem } from "./catalog-items/HardwareRequest.now";
export const managerApprovalPolicy = CatalogUiPolicy({
$id: Now.ID["manager_approval_policy"],
shortDescription: "Show manager approval when high priority selected",
catalogItem: hardwareRequestItem,
catalogCondition: `${hardwareRequestItem.variables.priority}=high^EQ`,
actions: [
{
variableName: hardwareRequestItem.variables.manager_approval,
visible: true,
mandatory: true
}
]
})
작업 배열
조건이 충족될 때 카탈로그 UI 정책이 변수에 대해 수행하는 변수 작업[catalog_ui_policy_action]을 구성합니다.
배열의 각 동작은 변수를 지정하며, UI 정책 조건이 true로 평가되면 속성이 변경되어 해당 변수에 적용됩니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| variableName | 문자열 | 필수 동작이 적용되는 변수입니다. |
| 표시 | 부울 | 변수를 표시할지 여부를 나타내는 플래그입니다. 기본값: false |
| 사용 안 함 | 부울 | 변수를 끌지 여부를 나타내는 플래그입니다. 기본값: false |
| 필수 | 부울 | 변수를 필수로 설정할지 여부를 나타내는 플래그입니다. 기본값: false |
| 지워짐 | 부울 | 조건이 충족될 때 변수 값을 지울지 여부를 나타내는 플래그입니다. 기본값: false |
| 변수메시지 | 문자열 | 조건이 충족될 때 변수에 표시할 메시지입니다. 이 속성은 variableMessageType 속성에 값이 있는 경우에만 적용됩니다. |
| variableMessageType | 문자열 | 필드 메시지의 유형입니다. 유효한 값은 다음과 같습니다.
|
| 값 | 문자열 | 조건이 충족될 때 변수에 설정할 값입니다. 이 속성은 valueAction 속성이 |
| 값작업 | 문자열 | 조건이 충족될 때 변수 값에 대해 수행할 작업입니다. 유효한 값은 다음과 같습니다.
|
| 순서 | 번호 | 다른 작업을 기준으로 작업이 평가되는 순서입니다. 기본값: 100 |
| readOnly | 부울 | 변수를 읽기 전용으로 설정할지 여부를 나타내는 플래그입니다. 기본값: false |
actions: [
{
variableName: laptopRequest.variables.justification,
mandatory: true,
variableMessage: "Justification required for urgent requests",
variableMessageType: "info",
order: 100
},
{
variableName: laptopRequest.variables.manager_approval,
visible: true,
mandatory: true,
order: 200
},
{
variableName: laptopRequest.variables.delivery_date,
visible: true,
order: 300
}
]
CatalogClientScript 객체
카탈로그 항목 양식의 동작을 제어하도록 클라이언트 측에서 실행되는 카탈로그 클라이언트 스크립트[catalog_script_client]를 구성합니다.
카탈로그 클라이언트 스크립트를 사용하여 사용자 입력의 유효성을 검사하고, 필드를 자동으로 채우고, 카탈로그 항목 양식에 경보를 표시하십시오. 단순 표시/숨기기, 필수 및 읽기 전용 논리의 경우 카탈로그 UI 정책을 대신 사용합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| $id | 문자열 또는 숫자 | 필수 메타데이터 객체의 고유 ID입니다. 애플리케이션을 빌드할 때 이 ID는 고유한 sys_id으로 해시됩니다. 자세한 내용은 ServiceNow Fluent 언어 구성 문서를 참조하십시오. 형식: |
| 이름 | 문자열 | 필수 카탈로그 클라이언트 스크립트의 고유한 이름입니다. |
| 스크립트 | 스크립트 | 카탈로그 항목 양식에서 실행할 클라이언트 측 스크립트입니다. 이 속성은 인라인 JavaScript 또는 스크립트가 포함된 애플리케이션의 다른 파일에 대한 참조를 지원합니다. 체재:
|
| 유형 | 문자열 | 클라이언트 스크립트 실행을 트리거하는 이벤트입니다. 유효한 값은 다음과 같습니다.
|
| uiType | 문자열 | 클라이언트 스크립트가 실행되는 UI 유형입니다. 유효한 값은 다음과 같습니다.
기본값: 데스크톱 |
| 활성 | 부울 | 클라이언트 스크립트를 사용할 수 있는지 여부를 나타내는 플래그입니다. 기본값: true |
| appliesTo | 문자열 | variableSet 속성을 사용하는 경우 필요합니다. 카탈로그 클라이언트 스크립트가 적용되는 범위입니다. 유효한 값은 다음과 같습니다.
기본값: item |
| 카탈로그 항목 | 참조 또는 문자열 | variableSet 속성이 사용되지 않는 경우에만 필요합니다. CatalogItem 또는 CatalogItemRecordProducer 객체의 변수 식별자 또는 클라이언트 스크립트가 적용되는 카탈로그 항목 [sc_cat_item] 또는 기록 생성자 [sc_cat_item_producer]의 sys_id입니다. 자세한 내용은 CatalogItem 객체 또는 CatalogItemRecordProducer 객체 문서를 참조하십시오. |
| 변수 세트 | 참조 또는 문자열 | catalogItem 속성이 사용되지 않는 경우에만 필요합니다. VariableSet 객체의 변수 식별자 또는 UI 정책이 적용되는 변수 세트 [item_option_new_set]의 sys_id입니다. 자세한 내용은 변수 세트 객체 문서를 참조하십시오. |
| variableName | 문자열 | 유형 속성의 값이 onChange인 경우 필요합니다. 값이 변경될 때 스크립트를 트리거하는 카탈로그 변수의 이름입니다. |
| appliesOnCatalogItemView | 부울 | 서비스 카탈로그의 주문 화면에 표시되는 카탈로그 항목에 클라이언트 스크립트가 적용되는지 여부를 나타내는 플래그입니다. 이 뷰는 요청자가 사용할 수 있습니다. 기본값: true |
| appliesOnRequestedItems | 부울 | 항목이 요청된 후 클라이언트 스크립트가 요청된 항목 양식에 적용되는지 여부를 나타내는 플래그입니다. 이행자가 이 뷰를 사용할 수 있습니다. 기본값: false |
| appliesOnCatalogTasks | 부울 | 클라이언트 스크립트가 항목의 카탈로그 작업 양식에 적용되는지 여부를 나타내는 플래그입니다. 이행자가 이 뷰를 사용할 수 있습니다. 기본값: false |
| appliesOnTargetRecord | 부울 | 클라이언트 스크립트가 기록 생성자를 통해 작업 확장 테이블에 대해 생성된 기록에 적용되는지 여부를 나타내는 플래그입니다. 기본값: false |
| 전역 | 부울 | 클라이언트 스크립트가 전역 범위에서 실행되는지 여부를 나타내는 플래그입니다. 기본값: true |
| va지원 | 부울 | 가상 에이전트 대화에서 클라이언트 스크립트가 지원되는지 여부를 나타내는 플래그입니다. 기본값: false |
| publishedRef | 문자열 | 이 클라이언트 스크립트가 참조하는 게시된 카탈로그 항목[sc_cat_item] 또는 기록 생성자[sc_cat_item_producer]의 sys_id입니다. |
| $meta | 객체 | 애플리케이션 메타데이터의 메타데이터입니다. installMethod 속성을 사용하면 애플리케이션 메타데이터를 특정 상황에서만 로드되는 출력 디렉터리에 매핑할 수 있습니다. installMethod에 유효한 값:
|
import { CatalogClientScript } from "@servicenow/sdk/core";
import { laptopRequest } from "../catalog-items/laptop-request.now";
CatalogClientScript({
$id: Now.ID["laptop_onload"],
name: "Laptop Request - OnLoad",
script: Now.include("../../client/laptop-onload.js"),
type: "onLoad",
catalogItem: laptopRequest,
active: true,
appliesOnCatalogItemView: true
});
function onLoad() {
// Set initial field states
g_form.setReadOnly("estimated_cost", true);
g_form.setValue("estimated_cost", "$0");
g_form.setMandatory("justification", true);
}변수 세트 객체
여러 카탈로그 항목과 기록 생성자에서 사용할 재사용 가능한 변수를 그룹화하는 변수 세트 [item_option_new_set]를 만듭니다.
변수 세트는 카탈로그 항목과 기록 생성자에 첨부할 수 있는 재사용 가능한 변수 모음입니다. appliesTo 속성을 설정할 수 있도록 설정하여 카탈로그 UI 정책 및 클라이언트 스크립트의 범위를 변수 세트로 지정할 수 있습니다.
- 카탈로그 항목 내의 변수 세트는 내부 이름이 같을 수 없습니다.
- 카탈로그 항목 내에서 변수의 이름은 변수 세트의 제목 또는 내부 이름과 같을 수 없습니다.
- 카탈로그 클라이언트 스크립트와 카탈로그 UI 정책 스크립트는 제목이나 표시 이름이 아닌 변수 세트의 내부 이름을 참조해야 합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| $id | 문자열 또는 숫자 | 필수 메타데이터 객체의 고유 ID입니다. 애플리케이션을 빌드할 때 이 ID는 고유한 sys_id으로 해시됩니다. 자세한 내용은 ServiceNow Fluent 언어 구성 문서를 참조하십시오. 형식: |
| 직위 | 문자열 | 필수 변수 세트의 표시 제목입니다. 이 제목은 displayTitle 속성이 true로 설정된 경우에만 나타납니다. |
| internalName | 문자열 | g_form API 및 서버 측 스크립트를 통한 프로그래밍 액세스에 사용되는 변수 세트의 내부 이름입니다. 이름을 입력하지 않으면 title 속성에서 내부 이름이 자동으로 생성됩니다. |
| 설명 | 문자열 | 변수 세트 및 사용 목적에 대한 설명입니다. |
| 유형 | 문자열 | 변수 세트의 유형입니다. 유효한 값은 다음과 같습니다.
기본값: singleRow |
| 레이아웃 | 문자열 | 변수 세트의 열 레이아웃입니다. 유효한 값은 다음과 같습니다.
기본값: 일반 |
| 순서 | 번호 | 변수 세트가 양식의 다른 변수 세트를 기준으로 표시되는 순서입니다. 기본값: 100 |
| displayTitle | 부울 | 변수 세트에 대해 축소 가능한 섹션 헤더를 표시할지 여부를 나타내는 플래그입니다. true이면 title 속성 값이 축소 가능한 헤더로 표시됩니다. 주: 확인란 변수는 옵션의 기본 제목 아래 그룹화됩니다. 사용자 지정 제목을 사용하려면 확인란 변수 바로 위에 배치하는 순서 값으로 레이블 변수를 추가합니다. 기본값: false |
| 속성 설정 | 문자열 | 쉼표로 구분된 문자열로 설정된 변수에 대한 추가 구성 속성입니다 (예: max_rows=10,collapsible=true). max_rows 속성을 사용하여 여러 행의 변수 세트에 대한 최대 행 수를 설정합니다.주: AttachmentVariable, ContainerVariable, HtmlVariable 및 CustomVariable 형식은 여러 행의 변수 집합에서 지원되지 않습니다. |
| readRoles | 배열 | 변수 세트를 볼 수 있는 역할 개체 또는 역할 sys_ids[sys_user_role]의 변수 식별자 목록입니다. 자세한 내용은 다음 문서를 참조하십시오 역할 API - ServiceNow Fluent. |
| writeRoles | 배열 | 집합에서 변수 값을 수정할 수 있는 역할 개체 또는 역할 [sys_user_role] sys_ids의 변수 식별자 목록입니다. 자세한 내용은 역할 API - ServiceNow Fluent 문서를 참조하십시오. |
| createRoles | 배열 | 행 인스턴스를 작성할 수 있는 역할 객체 또는 역할 [sys_user_role] sys_ids의 변수 식별자 목록입니다. 자세한 내용은 역할 API - ServiceNow Fluent 문서를 참조하십시오. 이 속성은 유형 속성의 값이 |
| variables | 객체 | 요청 옵션을 제공하는 항목에 대한 변수 정의입니다. 각 변수 유형에는 특정 기능이 있습니다. 예:카탈로그 변수에 대한 일반적인 정보는 다음 문서를 참조하십시오 Service catalog variables. |
| 이름 | 문자열 | 변수 세트를 추가로 식별하기 위한 선택적 이름입니다. |
| 버전 | 번호 | 변수 세트의 버전입니다. 기본값: 0 |
| $meta | 객체 | 애플리케이션 메타데이터의 메타데이터입니다. installMethod 속성을 사용하면 애플리케이션 메타데이터를 특정 상황에서만 로드되는 출력 디렉터리에 매핑할 수 있습니다. installMethod에 유효한 값:
|
import {
VariableSet,
EmailVariable,
SingleLineTextVariable,
ReferenceVariable
} from "@servicenow/sdk/core";
export const contactInfoSet = VariableSet({
$id: Now.ID["contact_info_set"],
title: "Contact Information",
description: "Standard contact information fields",
type: "singleRow",
layout: "2across",
order: 100,
displayTitle: true,
variables: {
email: EmailVariable({
question: "Email Address",
mandatory: true,
order: 100
}),
phone: SingleLineTextVariable({
question: "Phone Number",
mandatory: true,
order: 200
}),
department: ReferenceVariable({
question: "Department",
referenceTable: "cmn_department",
referenceQualCondition: "active=true",
order: 300
})
}
})