OnCallEscalationTemplateSNC - 전역

  • 릴리스 버전: Washingtondc
  • 업데이트 날짜 2024년 02월 01일
  • 읽기6분
  • 에스컬레이션 집합에 에스컬레이션 정책 템플릿을 적용하는 메서드를 제공합니다.

    에스컬레이션 프로세스에 대한 자세한 내용은 다음 문서를 참조하십시오 Defining On-Call Scheduling escalation process.

    이 API에는 com.snc.on_call_rotation(On-Call Scheduling) 플러그인이 필요합니다.

    OnCallEscalationTemplateSNC - OnCallEscalationTemplateSNC()

    OnCallEscalationTemplateSNC 객체를 인스턴스화합니다.

    표 1. 매개변수
    이름 유형 설명
    없음

    이 예제에서는 OnCallEscalationTemplateSNC 개체를 인스턴스화합니다.

    var escTemp = new global.OnCallEscalationTemplateSNC();

    OnCallEscalationTemplateSNC - copyEscalationTemplatetoEscalationSet(template SysId 문자열, escalationSetSysId 문자열)

    에스컬레이션 정책 템플릿을 에스컬레이션 세트에 적용합니다.

    템플릿이 에스컬레이션 세트에 적용되면 교대조 에스컬레이션 단계 정의[cmn_rota_esc_step_def] 테이블에 에스컬레이션 단계 정의 기록이 생성됩니다.

    이 메서드를 호출하기 전에 deleteEscalationSetSteps() 메서드를 호출하여 기존 에스컬레이션 단계 정의를 삭제합니다. 기존 레코드를 먼저 삭제하지 않으면 이 메서드는 오류를 반환합니다.

    표 2. 매개변수
    이름 유형 설명
    templateSysID 문자열 당직 에스컬레이션 정책 템플릿[on_call_template_escalation_policy] 테이블의 에스컬레이션 정책 템플릿 Sys_id.
    에스컬레이션SetSysId 문자열 교대조 에스컬레이션 세트 [cmn_rota_escalation_set] 테이블에 설정된 에스컬레이션 Sys_id입니다.
    표 3. 반환
    유형 설명
    객체
    오류 및 경고 메시지를 포함하는 객체입니다. 작업이 성공하면 이 개체는 비어 있습니다.
    주:
    오류가 발생하면 작업이 중지되고 템플릿이 적용되지 않습니다. 경고가 발생하면 작업이 계속되고 일부 기록이 계속 생성됩니다.
    {
      "error": "String", 
      "warning": {Object} 
    }
    <Object>.오류 오류 메시지.
    가능한 오류:
    • 에스컬레이션 정책 템플릿 sys_id 올바르지 않습니다.
    • 에스컬레이션 세트 sys_id 올바르지 않습니다.
    • 에스컬레이션 단계 정의가 에스컬레이션 세트에 이미 있습니다.

    데이터 유형: 문자열

    <Object>.경고 경고에 대한 정보입니다.

    데이터 유형: 객체

    {
      "message": "String", 
      "skipped_steps": [Array],
      "not_matching_steps": {Object},
    }
    <Object>.경고.메시지 경고 메시지.
    가능한 경고:
    • 명단 위치가 교대조의 명단과 일치하지 않습니다.
    • 에스컬레이션 단계 템플릿에 정의된 대상이 없습니다.

    데이터 유형: 문자열

    <Object>.warning.skipped_steps 건너뛴 에스컬레이션 단계의 인덱스(1부터 시작).

    데이터 유형: 배열

    <Object>.warning.not_matching_steps 사용 가능한 명단이 없는 에스컬레이션 단계에 대한 정보를 포함하는 객체로, {&quot;단계 번호&quot;:[명단 번호]} 형식입니다.

    예를 들어 반환 값이 {&quot;3 &quot;:[3]}이면 에스컬레이션 3단계에서 3차 명단을 사용할 수 없습니다.

    데이터 유형: 객체

    이 예에서는 명단 에스컬레이션을 통한 교대 근무 정책 템플릿을 Service Desk – 기본 에스컬레이션 세트에 적용합니다. 반환 개체는 오류나 경고가 없기 때문에 비어 있습니다.

    var escSetSysId = "32820dc3eb422110249e8d835d5228c3";
    var templateSysId = "a89e2982eb592110249e8d835d522825";
    var escTemp = new global.OnCallEscalationTemplateSNC();
    
    // delete existing escalation step definitions before applying the template
    escTemp.deleteEscalationSetSteps(escSetSysId);
    
    var result = escTemp.copyEscalationTemplatetoEscalationSet(templateSysId, escSetSysId);
    gs.info(JSON.stringify(result));

    출력:

    {}

    이 예에서는 명단 에스컬레이션을 통한 교대 근무 시간 – 기본 에스컬레이션 세트에 에스컬레이션 정책 템플릿을 적용합니다. 이 경우 애플리케이션 개발 교대조에는 두 개의 명단만 있지만 템플릿이 세 번째 명단을 할당하려고 합니다. 명단의 수가 일치하지 않기 때문에 경고가 throw됩니다. 교대조 에스컬레이션 단계 정의[cmn_rota_esc_step_def] 테이블에는 여전히 두 개의 기록이 생성됩니다.

    var escSetSysId = "e4f8f73deb562110249e8d835d522852";
    var templateSysId = "a89e2982eb592110249e8d835d522825";
    var escTemp = new global.OnCallEscalationTemplateSNC();
    
    // delete existing escalation step definitions before applying the template
    escTemp.deleteEscalationSetSteps(escSetSysId);
    
    var result = escTemp.copyEscalationTemplatetoEscalationSet(templateSysId, escSetSysId);
    gs.info(JSON.stringify(result));

    출력:

    {
       "warning": {
          "message": "Skipped copying templates for some of the steps since no audiences are defined",
          "not_matching_steps": {
             "3": [
                3
             ]
          },
          "skipped_steps": [
             "3"
          ]
       }
    }

    OnCallEscalationTemplateSNC - deleteEscalationSetSteps(escalationSetSysId 문자열)

    에스컬레이션 세트와 연결된 모든 에스컬레이션 단계 정의 기록을 삭제합니다.

    표 4. 매개변수
    이름 유형 설명
    에스컬레이션SetSysId 문자열 교대조 에스컬레이션 세트 [cmn_rota_escalation_set] 테이블에 설정된 에스컬레이션 Sys_id입니다.
    표 5. 반환
    유형 설명
    없음

    이 예에서는 Service Desk – 기본 에스컬레이션 세트와 연결된 모든 에스컬레이션 단계 정의를 삭제합니다.

    var escSetSysId = "32820dc3eb422110249e8d835d5228c3";
    
    var escTemp = new global.OnCallEscalationTemplateSNC();
    
    escTemp.deleteEscalationSetSteps(escSetSysId);