OnCallContactPreferenceUtil: グローバル

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:9分
  • OnCallContactPreferenceUtil スクリプトインクルードは、連絡先設定を処理するためのメソッドを提供します。

    連絡先設定の構成については、「 連絡先設定を構成する」を参照してください。

    このスクリプトインクルードは、 OnCallRotation スクリプトインクルードをサポートしています。

    OnCallContactPreferenceUtil:OnCallContactPreferenceUtil()

    OnCallContactPreferenceUtil クラスのインスタンスを作成します。

    表 : 1. パラメーター
    名前 タイプ 説明
    なし

    OnCallContactPreferenceUtil - getContactsAtByEscalatee(Object escalatee, Number contactAttempt, GlideDateTime gdt, String rotaSysIds)

    エスカレーション先オブジェクトを含む連絡先のリストを取得します。返された各連絡先には、ユーザーの連絡先設定のリストが含まれています。

    表 : 2. パラメーター
    名前 タイプ 説明
    エスカレーション先 オブジェクト 必須。getEscalationPlan() メソッドによって返されるエスカレーション先オブジェクト。
    接触試行 番号 オプション。連絡しようとしている試み [デフォルト値 = 1]。
    • 1:最初の試行
    • 2:最初のリマインダー
    • 3 つ以上:後続のリマインダー
    GDT GlideDateTime オプション。UTC タイムゾーンの yyyy-MM-dd HH:mm:ss 形式。デフォルトは now.admin です
    rotaSysId 文字列 オプション。[cmn_rota] テーブルからのシフトの Sys ID のカンマ区切り文字列。デフォルト値は、現時点でのシフトの Sys ID を返します。
    表 : 3. 返される内容
    タイプ 説明
    アレイオブジェクト 特定の時間と位置でのエスカレーション先 (通知ルールに応じてユーザー、グループ、またはデバイスレコード) のアレイ。
    • タイプ:文字列。連絡先のタイプ (ユーザーなど)。
    • sys_id:文字列。[sys_user] テーブルのユーザーの Sys ID。
    • rota_id:文字列。[cmn_rota] テーブルからのシフトの Sys ID。
    • roster_id:文字列。[cmn_rota_roster] テーブルの勤務表の Sys ID。
    • escalation_step_id:文字列。エスカレーションパスが定義されている場合、[cmn_rota_esc_step_def] テーブルからのエスカレーションステップの Sys 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(文字列 userSysId, Number contactAttempt, GlideDateTime gdt, 文字列 communicationTypes)

    ユーザーが通信を選択したときの連絡先設定のリストを取得します。時刻が指定されていない場合は、現在の時刻が使用されます。この方法は、単一シフトおよび重複シフトに適用できます。

    表 : 4. パラメーター
    名前 タイプ 説明
    userSysId 文字列 [sys_user] テーブルのユーザーの Sys ID。
    接触試行 番号 オプション。連絡しようとしている試み [デフォルト値 = 1]。
    • 1:最初の試行
    • 2:最初のリマインダー
    • 3 つ以上:後続のリマインダー
    GDT GlideDateTime オプション。UTC タイムゾーンの yyyy-MM-dd HH:mm:ss 形式。デフォルトは [now] です。
    communicationType 文字列 オプション。次の値の 1 つ以上を含むカンマ区切りの文字列:
    • メール
    • 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] テーブルからのシフトの Sys ID。
    GDT GlideDateTime オプション。UTC タイムゾーンの yyyy-MM-dd HH:mm:ss 形式。デフォルトは [now] です。
    表 : 7. 返される内容
    タイプ 説明
    アレイオブジェクト 設定を含む予備連絡先のリスト。
    • タイプ:文字列。連絡先のタイプ (ユーザーなど)。
    • sys_id:文字列。[sys_user] テーブルのユーザーの Sys ID。
    • rota_id:文字列。[cmn_rota] テーブルからのシフトの Sys ID。
    • roster_id:文字列。[cmn_rota_roster] テーブルの勤務表の Sys ID。
    • escalation_step_id:文字列。エスカレーションパスが定義されている場合、[cmn_rota_esc_step_def] テーブルからのエスカレーションステップの Sys 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"
        }]
    }]