OnCallContactPreferenceUtil - 전역

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기9분
  • OnCallContactPreferenceUtil 스크립트 포함은 연락처 기본 설정을 처리하기 위한 메서드를 제공합니다.

    연락처 기본 설정 구성에 대한 자세한 내용은 연락처 기본 설정 구성을 참조하십시오.

    이 스크립트 포함은 OnCallRotation 스크립트 포함을 지원합니다.

    OnCallContactPreferenceUtil - OnCallContactPreferenceUtil()

    OnCallContactPreferenceUtil 클래스의 인스턴스를 만듭니다.

    표 1. 매개변수
    이름 유형 설명
    안 함

    OnCallContactPreferenceUtil - getContactsAtByEscalatee(객체 에스컬레이션 신청, 횟수, contactAttempt, GlideDateTime, gdt, 문자열, rotaSysIds)

    에스컬레이션 신청자 객체가 있는 연락처 목록을 가져옵니다. 반환된 각 연락처에는 사용자 연락처 기본 설정 목록이 포함되어 있습니다.

    표 2. 매개변수
    이름 유형 설명
    에스컬레이션 신청자 객체 필수입니다. getEscalationPlan() 메서드에서 반환된 에스컬레이션 신청자 객체입니다.
    contactAttempt 번호 옵션입니다. 연락하려는 시도 [기본값 = 1]입니다.
    • 1: 첫 번째 시도
    • 2: 첫 번째 알림
    • 3개 이상: 후속 미리 알림
    증권 시세 표시기 Glide날짜/시간 선택적. UTC 시간대의 yyyy-MM-dd HH:mm:ss 형식입니다. 기본값은 now.admin입니다.
    rotaSysIds 문자열 옵션입니다. [cmn_rota] 테이블의 교대조 시스템 ID를 쉼표로 구분한 문자열입니다. 기본값은 현재 시간 교대조의 시스템 ID를 반환합니다.
    표 3. 반환
    유형 설명
    배열 객체 특정 시간과 위치에서 에스컬레이션 신청자(알림 규칙에 따라 사용자, 그룹 또는 장치 기록)의 배열입니다.
    • 유형: 문자열. 연락처 유형(예: 사용자)
    • sys_id: 문자열. [sys_user] 테이블의 사용자 시스템 ID입니다.
    • rota_id: 문자열. [cmn_rota] 테이블의 교대조 시스템 ID입니다.
    • roster_id: 문자열. [cmn_rota_roster] 테이블의 명단 시스템 ID입니다.
    • escalation_step_id: 문자열. 에스컬레이션 경로가 정의된 경우 [cmn_rota_esc_step_def] 테이블의 에스컬레이션 단계 시스템 ID입니다.
    • forced_communication_channel: 문자열. 기본 설정에 지정된 경우 필수 통신 채널입니다. 지원되는 값에는 SMS, 음성 또는 이메일이 포함됩니다.
    • override_user_contact_preference: 부울. 연락처 재정의가 있으면 True, 그렇지 않으면 False입니다.
    • preference_source: 문자열. 연락처 또는 그룹과 같은 기본 설정 소스입니다.
    • contact_attempt: 숫자. 연락 시도: 1 = 첫 번째 시도, 2 = 첫 번째 미리 알림 등입니다.
    • user_preferences: 배열 객체입니다.
      • 유형: 문자열. 사용자가 선호하는 연락처 형식(예: sms, 이메일 또는 번호)입니다.
      • <기본 형식 이름(예: 이메일 또는 번호)>: 문자열. 기본 연락 수단의 콘텐츠(예: 이메일 주소 또는 전화 번호).
    • contact_preferences, 배열 객체입니다.
      • 유형: 문자열. 사용자가 선호하는 연락처 형식(예: 이메일 또는 번호)입니다.
      • <기본 형식 이름(예: 이메일 또는 번호)>: 문자열. 기본 연락 수단의 콘텐츠(예: 이메일 주소 또는 전화 번호).
    var serviceDeskSysId = '<Sys_ID>';
    var ocRotation = new OnCallRotation();
    var escalationPlan = ocRotation.getEscalationPlan(serviceDeskSysId);
    var escalatee = escalationPlan[0];
    
    var onContactPrefUtil = new OnCallContactPreferenceUtil();
    var contactAttempt = 1;
    var gdt = new GlideDateTime();
    var contacts = onContactPrefUtil.getContactsAtByEscalatee(escalatee, contactAttempt, gdt);
    gs.log(JSON.stringify(contacts));

    출력:

    [{
        "type": "user",
        "sys_id": "<Sys_ID>",
        "rota_id": "<Rotation_ID>",
        "roster_id": "",
        "escalation_step_id": "<Escalation_Step_ID>",
        "forced_communication_channel": "",
        "override_user_contact_preference": true,
        "preference_source": "contact",
        "contact_attempt": 1,
        "user_preferences": [{
            "type": "sms",
            "number": "8587200477"
        }],
        "contact_preferences": [{
            "type": "voice",
            "number": "5555555555"
        }]
    }]

    OnCallContactPreferenceUtil - getUserPreferences(String userSysId, number contactAttempt, GlideDateTime gdt, string communicationTypes)

    사용자가 통신을 선택한 시점의 연락처 기본 설정 목록을 가져옵니다. 시간을 지정하지 않으면 현재 시간이 사용됩니다. 이 방법은 단일 및 중복 교대조에 적용할 수 있습니다.

    표 4. 매개변수
    이름 유형 설명
    userSysId 문자열 [sys_user] 테이블의 사용자 시스템 ID입니다.
    contactAttempt 번호 옵션입니다. 연락하려는 시도 [기본값 = 1]입니다.
    • 1: 첫 번째 시도
    • 2: 첫 번째 알림
    • 3개 이상: 후속 미리 알림
    증권 시세 표시기 Glide날짜/시간 선택적. UTC 시간대의 yyyy-MM-dd HH:mm:ss 형식입니다. 기본값은 now입니다.
    communicationTypes 문자열 옵션입니다. 다음 값 중 하나 이상을 포함하는 쉼표로 구분된 문자열입니다.
    • 이메일
    • sms
    • voice

    기본값에는 사용 가능한 모든 커뮤니케이션 유형이 포함됩니다.

    표 5. 반환
    유형 설명
    객체 배열 당직 사용자 연락처 기본 설정입니다.
    • 유형: 문자열. 사용자가 선호하는 연락처 형식(예: sms, 이메일 또는 번호)입니다.
    • <기본 형식 이름(예: 이메일 또는 번호)>: 문자열. 기본 연락 수단의 콘텐츠(예: 이메일 주소 또는 전화 번호).
    var onContactPrefUtil = new OnCallContactPreferenceUtil();
    var contactAttempt = 1;
    var gdt = new GlideDateTime();
    var itilUserSysId = '<itilUserSysId>;
    var userPreferences = onContactPrefUtil.getUserPreferences(itilUserSysId, contactAttempt, gdt);
    gs.log(JSON.stringify(userPreferences));

    출력:

    [{
        "type": "sms",
        "number": "5555555555"
    }, {
        "type": "voice",
        "number": "5555555555"
    }]

    OnCallContactPreferenceUtil - getCatchAllContacts(String rotaId, GlideDateTime gdt)

    예비 연락망 연락처 및 기본 설정 목록을 가져옵니다.

    표 6. 매개변수
    이름 유형 설명
    rotaID 문자열 [cmn_rota] 테이블의 교대조 시스템 ID입니다.
    증권 시세 표시기 Glide날짜/시간 선택적. UTC 시간대의 yyyy-MM-dd HH:mm:ss 형식입니다. 기본값은 now입니다.
    표 7. 반환
    유형 설명
    배열 객체 기본 설정이 있는 예비 연락망 연락처 목록입니다.
    • 유형: 문자열. 연락처 유형(예: 사용자)
    • sys_id: 문자열. [sys_user] 테이블의 사용자 시스템 ID입니다.
    • rota_id: 문자열. [cmn_rota] 테이블의 교대조 시스템 ID입니다.
    • roster_id: 문자열. [cmn_rota_roster] 테이블의 명단 시스템 ID입니다.
    • escalation_step_id: 문자열. 에스컬레이션 경로가 정의된 경우 [cmn_rota_esc_step_def] 테이블의 에스컬레이션 단계 시스템 ID입니다.
    • forced_communication_channel: 문자열. 기본 설정에 지정된 경우 필수 통신 채널입니다. 지원되는 값에는 SMS, 음성 또는 이메일이 포함됩니다.
    • override_user_contact_preference: 부울. 연락처 재정의가 있으면 True, 그렇지 않으면 False입니다.
    • preference_source: 문자열. 연락처 또는 그룹과 같은 기본 설정 소스입니다.
    • contact_attempt: 숫자. 연락 시도: 1 = 첫 번째 시도, 2 = 첫 번째 미리 알림 등입니다.
    • user_preferences: 배열 객체입니다.
      • 유형: 문자열. 사용자가 선호하는 연락처 형식(예: sms, 이메일 또는 번호)입니다.
      • <기본 형식 이름(예: 이메일 또는 번호)>: 문자열. 기본 연락 수단의 콘텐츠(예: 이메일 주소 또는 전화 번호).
    • contact_preferences, 배열 객체입니다.
      • 유형: 문자열. 사용자가 선호하는 연락처 형식(예: 이메일 또는 번호)입니다.
      • <기본 형식 이름(예: 이메일 또는 번호)>: 문자열. 기본 연락 수단의 콘텐츠(예: 이메일 주소 또는 전화 번호).

    예제:

    
    var onContactPrefUtil = new OnCallContactPreferenceUtil();
    var contactAttempt = 1;
    var gdt = new GlideDateTime();
    var rotaSysId = '<Rotation_Sys_ID>';
    var catchAllContacts = onContactPrefUtil.getCatchAllContacts(rotaSysId, gdt);
    gs.log(JSON.stringify(catchAllContacts));

    출력:

    [{
        "type": "user",
        "sys_id": "<Sys_ID>",
        "rota_id": "<Rotation_ID>",
        "roster_id": "",
        "escalation_step_id": "<Escalation_Step_ID>",
        "forced_communication_channel": "",
        "override_user_contact_preference": true,
        "preference_source": "contact",
        "contact_attempt": 1,
        "user_preferences": [{
            "type": "sms",
            "number": "8587200477"
        }],
        "contact_preferences": [{
            "type": "voice",
            "number": "5555555555"
        }]
    }]