OnCallContactPreferenceUtil: グローバル
OnCallContactPreferenceUtil スクリプトインクルードは、連絡先設定を処理するためのメソッドを提供します。
連絡先設定の構成については、「 連絡先設定を構成する」を参照してください。
このスクリプトインクルードは、 OnCallRotation スクリプトインクルードをサポートしています。
OnCallContactPreferenceUtil:OnCallContactPreferenceUtil()
OnCallContactPreferenceUtil クラスのインスタンスを作成します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
OnCallContactPreferenceUtil - getContactsAtByEscalatee(Object escalatee, Number contactAttempt, GlideDateTime gdt, String rotaSysIds)
エスカレーション先オブジェクトを含む連絡先のリストを取得します。返された各連絡先には、ユーザーの連絡先設定のリストが含まれています。
| 名前 | タイプ | 説明 |
|---|---|---|
| エスカレーション先 | オブジェクト | 必須。getEscalationPlan() メソッドによって返されるエスカレーション先オブジェクト。 |
| 接触試行 | 番号 | オプション。連絡しようとしている試み [デフォルト値 = 1]。
|
| GDT | GlideDateTime | オプション。UTC タイムゾーンの yyyy-MM-dd HH:mm:ss 形式。デフォルトは now.admin です |
| rotaSysId | 文字列 | オプション。[cmn_rota] テーブルからのシフトの Sys ID のカンマ区切り文字列。デフォルト値は、現時点でのシフトの Sys ID を返します。 |
| タイプ | 説明 |
|---|---|
| アレイオブジェクト | 特定の時間と位置でのエスカレーション先 (通知ルールに応じてユーザー、グループ、またはデバイスレコード) のアレイ。
|
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)
ユーザーが通信を選択したときの連絡先設定のリストを取得します。時刻が指定されていない場合は、現在の時刻が使用されます。この方法は、単一シフトおよび重複シフトに適用できます。
| 名前 | タイプ | 説明 |
|---|---|---|
| userSysId | 文字列 | [sys_user] テーブルのユーザーの Sys ID。 |
| 接触試行 | 番号 | オプション。連絡しようとしている試み [デフォルト値 = 1]。
|
| GDT | GlideDateTime | オプション。UTC タイムゾーンの yyyy-MM-dd HH:mm:ss 形式。デフォルトは [now] です。 |
| communicationType | 文字列 | オプション。次の値の 1 つ以上を含むカンマ区切りの文字列:
デフォルトには、利用可能なすべての通信タイプが含まれます。 |
| タイプ | 説明 |
|---|---|
| アレイオブジェクト | オンコールユーザーの連絡先設定。
|
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)
予備連絡先と設定のリストを取得します。
| 名前 | タイプ | 説明 |
|---|---|---|
| rotaId | 文字列 | [cmn_rota] テーブルからのシフトの Sys ID。 |
| GDT | GlideDateTime | オプション。UTC タイムゾーンの yyyy-MM-dd HH:mm:ss 形式。デフォルトは [now] です。 |
| タイプ | 説明 |
|---|---|
| アレイオブジェクト | 設定を含む予備連絡先のリスト。
|
例:
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"
}]
}]