서비스 수준 계약 API - ServiceNow Fluent

  • 릴리스 버전: Australia
  • 업데이트 날짜 2026년 03월 12일
  • 소요 시간: 9분
  • 서비스 수준 계약 API는 작업이 지정된 조건에 도달하는 데 걸리는 시간을 설정하는 서비스 수준 계약 [contract_sla]을 정의하여 서비스 제공자와 고객 간에 합의된 서비스 수준에 따라 작업이 해결되도록 합니다.

    주:
    최신 ServiceNow Fluent API 설명서 및 예제는 ServiceNow Fluent API 참조ServiceNow SDK 예제 리포지토리 는 의 위치에 있습니다 GitHub.

    SLA에 대한 일반 정보는 다음 문서를 참조하십시오 Service Level Management.

    SLA 객체

    작업 SLA를만들고 진행하는 데 필요한 타이밍, 조건, 워크플로우 및 기타 정보를 제어하는 n SLA 정의 [contract_sla]를 만듭니다.

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

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

    이름 문자열 필수 SLA 정의의 이름입니다.
    테이블 문자열 SLA가 적용되는 테이블의 이름입니다.

    기본값: 인시던트

    유형 문자열 서비스 수준 계약의 유형입니다. 이 유형은 보고 목적으로만 사용됩니다.
    유효한 값:
    • SLA: 서비스 제공자와 외부 고객 간의 서비스 수준 계약입니다.
    • OLA: 동일한 조직 내의 내부 팀 간의 운영 수준 계약입니다.
    • 외부 공급 계약: 고객에게 제공되는 서비스를 지원하는 외부 벤더와의 계약입니다.

    기본값: SLA

    활성 부울 SLA 정의가 활성 상태이고 작업 기록과 일치할 수 있는지 여부를 나타내는 플래그입니다.
    유효한 값은 다음과 같습니다.
    • true: SLA 정의가 활성 상태입니다.
    • false: SLA 정의가 비활성 상태이며 작업 기록과 일치하지 않습니다.

    기본값: true

    대상 문자열 SLA가 측정하는 작업의 스테이지입니다. 목표는 필터링, 검색 및 보고 목적으로만 사용됩니다.
    유효한 값은 다음과 같습니다.
    • response: SLA는 작업에 처음 응답하는 시간을 측정합니다.
    • 해결 방법: SLA는 작업을 해결하는 데 걸리는 시간을 측정합니다.
    기간 객체 작업이 대상 조건에 도달해야 하는 기간입니다. 지속 기간을 지정하려면 Duration() 함수 를 사용합니다.

    durationType 속성의 값이 비어 있는 경우 이 속성이 필요합니다.

    체재:
    duration: Duration({ days: Number, hours: Number, minutes: Number, seconds: Number })
    durationType 참조 또는 문자열 사용자가 지정한 기간 대신 사용할 cmn_relative_duration(예: 기한의 위반 또는 다음 영업일 종료)의 sys_id 입니다. 상대 기간을 정의하려면 을 사용합니다 기록 API - ServiceNow Fluent.
    relativeDurationWorksOn 문자열 상대 기간이 계산되는 기록 유형입니다.

    이 속성은 durationType 속성의 값이 설정된 경우에만 적용됩니다.

    유효한 값은 다음과 같습니다.
    • 작업 기록: 상대 기간은 작업 기록에서 계산됩니다.
    • SLA 기록: 상대적 기간은 SLA 기록에서 계산됩니다.

    기본값: 작업 기록

    일정 참조 또는 문자열 SLA가 영업 시간을 누적하는 기간에 대한 일정 [cmn_schedule]의 sys_id입니다. 일정을 정의하려면 을 사용합니다 기록 API - ServiceNow Fluent.

    scheduleSource 속성의 값이 sla_definition 경우 이 속성이 필요합니다.

    scheduleSource 문자열 일정을 가져오는 소스입니다.
    유효한 값은 다음과 같습니다.
    • sla_definition: 일정은 일정 속성을 사용하여 SLA 정의에서 지정됩니다.
    • task_field: scheduleSourceField 속성으로 지정된 작업 기록의 필드에서 일정을 가져옵니다.
    • no_schedule: 일정이 사용되지 않으며 SLA가 연속적으로(연중무휴) 실행됩니다.

    기본값: sla_definition

    scheduleSource필드 문자열 일정을 제공하는 작업의 필드입니다.

    scheduleSource 속성의 값이 task_field 경우 이 속성이 필요합니다.

    조건 객체 SLA의 타이밍을 제어하는 인코딩된 쿼리 조건입니다. 예를 들어, 'priority=1^state!=6' 는 종결 상태가 아닌 우선순위가 1인 작업을 일치시킵니다.

    SLA 조건에 대한 자세한 내용은 다음 문서를 참조하십시오 Create an SLA definition. 쿼리 필터링에 대한 자세한 내용은 다음 문서를 참조하십시오 Operators available for filters and queries.

    체재:
    conditions: {
      start: 'String',
      stop: 'String',
      pause: 'String',
      resume: 'String',
      reset: 'String',
      cancel: 'String',
    }
    advancedConditionType 문자열 적용할 고급 조건 논리의 유형입니다.
    유효한 값은 다음과 같습니다.
    • none: 고급 조건 논리가 적용되지 않습니다.
    • 고급: 사용자 지정 고급 조건 스크립트가 사용됩니다.
    • advanced_journal: 저널 항목을 기반으로 하는 고급 조건 논리가 사용됩니다.
    • advanced_system: 시스템 이벤트를 기반으로 하는 고급 조건 논리가 사용됩니다.
    • advanced_journal_and_system: 저널 항목과 시스템 이벤트를 모두 기반으로 하는 고급 조건 논리가 사용됩니다.

    기본값: 없음

    conditionType 문자열 각 작업 SLA의 여러 스테이지 간에 전환되는 시기를 결정하는 n SLA 조건 [sla_condition_class]의 sys_id입니다.
    재설정 작업 문자열 재설정 조건이 충족될 때 현재 작업 SLA 기록에 대해 수행할 동작입니다.
    유효한 값은 다음과 같습니다.
    • 취소: 현재 작업 SLA 기록이 취소되고 새 작업 SLA 기록이 생성됩니다.
    • 완료: 현재 작업 SLA 기록이 완료로 표시되고 새 작업 SLA 기록이 생성됩니다.

    기본값: 취소

    whenTo 객체 일시 중지된 SLA가 재개되는 시기와 SLA가 취소되는 시기를 제어하는 설정
    • 재개: 일시 중지된 SLA가 타이밍을 재개하는 시기를 제어하는 동작입니다.
      유효한 값은 다음과 같습니다.
      • on_condition: 작업 기록이 조건 객체의 재개 속성으로 정의된 조건과 일치하면 SLA가 재개됩니다.
      • no_match: 작업 기록이 조건 객체의 일시 중지 속성으로 정의된 일시 중지 조건과 더 이상 일치하지 않으면 SLA가 재개됩니다.

      기본값: on_condition

    • 취소: 활성 SLA가 취소되는 시기를 제어하는 동작입니다.
      유효한 값은 다음과 같습니다.
      • on_condition: 작업 기록이 조건 객체의 취소 속성으로 정의된 조건과 일치하면 SLA가 취소됩니다.
      • no_match: 작업 기록이 조건 객체의 시작 속성으로 정의된 시작 조건과 더 이상 일치하지 않으면 SLA가 취소됩니다.
      • never: 작업 기록 상태와 관계없이 SLA가 취소되지 않습니다.

      기본값: on_condition

    체재:
    whenTo: {
      resume: 'String',
      cancel: 'String',
    }
    소급 객체 지정된 필드 값을 기준으로 SLA 시작 시간을 과거의 시점으로 설정할지 여부를 제어하는 설정입니다.
    • 시작: 소급 시작이 활성화되었는지 여부를 나타내는 플래그입니다. 이 기능을 사용하면 SLA 시작 시간이 시작 조건이 처음 충족된 시간이 아니라 setStartTo 에 지정된 필드 값으로 설정됩니다.

      기본값: false

    • setStartTo: 소급 시작이 활성화될 때 값이 SLA 시작 시간으로 사용되는 작업 기록의 필드입니다. 시작 속성의 값이 true이면 이 속성이 필요합니다.
    • pause: 소급 시작이 활성 상태일 때 소급 일시 중지가 활성화되는지 여부를 나타내는 플래그입니다. 이 옵션을 사용하면 SLA가 첨부되기 전에 작업이 일시 중지된 상태였던 시간이 경과 시간에서 차감됩니다.

      기본값: true

    체재:
    retroactive: {
      start: Boolean,
      setStartTo: 'String',
      pause: Boolean,
    }
    시간대 소스 문자열 SLA 계산을 위한 시간대를 가져오는 소스입니다.
    유효한 값은 다음과 같습니다.
    • task.caller_id.time_zone: 작업 기록에서 호출자의 시간대 입니다.
    • task.caller_id.location.time_zone: 작업 기록에서 호출자의 위치 시간대 입니다.
    • task.cmdb_ci.location.time_zone: 작업 기록에서 구성 항목 위치의 시간대 입니다.
    • task.location.time_zone: 작업 기록에 있는 위치의 시간대 입니다.
    • sla.timezone: timezone 속성으로 지정된 시간대입니다.

    기본값: task.caller_id.time_zone

    시간대 문자열 SLA 계산에 사용할 시간대(예: 미국/태평양)입니다.

    timezoneSource 속성의 값이 sla.timezone인 경우 이 속성이 필요합니다.

    재정의 참조 또는 문자열 변수 식별자 또는 이 SLA 정의가 재정의하는 다른 SLA 정의 [contract_sla]의 sys_id입니다.
    워크플로우 참조 또는 문자열 변수 식별자 또는 SLA가 마일스톤에 도달하거나 위반할 때 실행할 워크플로우 [wf_workflow]의 sys_id 입니다. 워크플로우를 정의하려면 을 사용합니다 기록 API - ServiceNow Fluent.
    플로우 참조 또는 문자열 SLA가 마일스톤에 도달하거나 위반할 때 실행할 플로우[sys_hub_flow]의 변수 식별자 또는 sys_id 입니다. 플로우를 정의하려면 을 사용합니다.플로우 API - ServiceNow Fluent

    기본값: 기본 SLA 플로우 (828f267973333300e289235f04f6a7a3)

    벤더 참조 또는 문자열 외부 공급 계약 SLA의 벤더인 회사 [core_company]의 변수 식별자 또는 sys_id 입니다. 회사를 정의하려면 을 사용합니다 기록 API - ServiceNow Fluent.
    도메인경로 문자열 다중 도메인 환경에서 SLA를 소유하는 도메인을 결정하는 도메인 경로입니다.

    기본값: 전역 도메인(/)

    enableLogging 부울 SLA 정의에 디버그 로깅을 사용할 수 있는지 여부를 나타내는 플래그입니다.
    유효한 값은 다음과 같습니다.
    • true: 디버그 로깅이 활성화되었습니다.
    • false: 디버그 로깅이 꺼져 있습니다.

    기본값: false

    $meta 객체 애플리케이션 메타데이터의 메타데이터입니다.
    installMethod 속성을 사용하면 애플리케이션 메타데이터를 특정 상황에서만 로드되는 출력 디렉터리에 매핑할 수 있습니다.
    $meta: {
          installMethod: 'String'
    }
    installMethod에 유효한 값:
    • demo: 데모 데이터 로드 옵션을 선택한 경우 애플리케이션과 함께 설치할 metadata/unload.demo 디렉터리에 애플리케이션 메타데이터를 출력합니다.
    • 첫 번째 설치: 애플리케이션이 인스턴스에 처음 설치될 때만 설치할 메타데이터 /언로드 디렉터리에 애플리케이션 메타데이터를 출력합니다.
    import { Sla, Duration } from '@servicenow/sdk/core'
    
    Sla({
        $id: Now.ID['incident-p1-resolution'],
        name: 'P1 Incident Resolution',
        table: 'incident',
        target: 'resolution',
        duration: Duration({ hours: 4 }),
        schedule: 'b1992362eb601100fcfb858ad106fe16',
        conditions: {
            start: 'priority=1',
            stop: 'state=6',
            pause: 'state=3',
            resume: 'state!=3',
        },
        whenTo: {
            resume: 'on_condition',
        },
        resetAction: 'cancel',
    })