OnCallEscalationTemplateSNC :グローバル
OnCallEscalationTemplateSNC スクリプトインクルードは、エスカレーションポリシーテンプレートをエスカレーションセットに適用するためのメソッドを提供します。
エスカレーションプロセスの詳細については、「 Defining On-Call Scheduling escalation process」を参照してください。
このスクリプトインクルードには、オンコールスケジューリングプラグイン (com.snc.on_call_rotation) が必要です。
OnCallEscalationTemplateSNC:OnCallEscalationTemplateSNC()
OnCallEscalationTemplateSNC オブジェクトをインスタンス化します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
この例では、 OnCallEscalationTemplateSNC オブジェクトをインスタンス化します。
var escTemp = new global.OnCallEscalationTemplateSNC();
OnCallEscalationTemplateSNC - copyEscalationTemplatetoEscalationSet(文字列 templateSysId, 文字列 escalationSetSysId)
エスカレーションポリシーテンプレートをエスカレーションセットに適用します。
テンプレートがエスカレーションセットに適用されると、エスカレーションステップ定義レコードがシフトエスカレーションステップ定義 [cmn_rota_esc_step_def] テーブルに作成されます。
このメソッドを呼び出す前に、 deleteEscalationSetSteps() メソッドを呼び出して既存のエスカレーションステップ定義を削除してください。既存のレコードが最初に削除されない場合、このメソッドはエラーを返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| テンプレート SysID | 文字列 | オンコールエスカレーションポリシーテンプレート [on_call_template_escalation_policy] テーブルのエスカレーションポリシーテンプレートのSys_id。 |
| escalationSetSysId | 文字列 | シフトエスカレーションセット [cmn_rota_escalation_set] テーブル内のエスカレーションセットのSys_id。 |
| タイプ | 説明 |
|---|---|
| オブジェクト | エラーメッセージと警告メッセージを含むオブジェクト。操作が成功した場合、このオブジェクトは空です。
注: エラーが発生した場合、操作は停止し、テンプレートは適用されません。警告が発生した場合でも、操作は続行され、一部のレコードは作成されます。 |
| <Object>.error | エラーメッセージ。 考えられるエラー:
データタイプ:文字列 |
| <Object>.warning | 警告に関する情報。 データタイプ: オブジェクト |
| <Object>.warning.message | 警告メッセージ。 考えられる警告:
データタイプ:文字列 |
| <Object>.warning.skipped_steps | スキップされたエスカレーションステップのインデックス (1 から始まる)。 データタイプ:アレイ |
| <Object>.warning.not_matching_steps | { "step number":[勤務表番号]} の形式で利用可能なシフト表がないエスカレーションステップに関する情報を含むオブジェクト。たとえば、戻り値が データタイプ: オブジェクト |
この例では、[シフト表ローテーションによるエスカレーションポリシー] テンプレートをサービスデスク - デフォルトエスカレーションセットに適用します。エラーまたは警告がないため、戻りオブジェクトは空です。
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));
出力:
{}
この例では、[勤務表ローテーションによるローテーション (Rotate through roster)] エスカレーションポリシーテンプレートを [作業時間 - デフォルト (Working Hours – Default)] エスカレーションセットに適用します。この場合、アプリケーション開発シフトには 2 つのシフト表しかありませんが、テンプレートは 3 番目のシフト表を割り当てようとします。勤務表の数が一致しないため、警告がスローされます。シフトエスカレーションステップ定義 [cmn_rota_esc_step_def] テーブルに 2 つのレコードがまだ作成されています。
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)
エスカレーションセットに関連付けられているすべてのエスカレーションステップ定義レコードを削除します。
| 名前 | タイプ | 説明 |
|---|---|---|
| escalationSetSysId | 文字列 | シフトエスカレーションセット [cmn_rota_escalation_set] テーブル内のエスカレーションセットのSys_id。 |
| タイプ | 説明 |
|---|---|
| なし |
この例では、サービスデスク - デフォルトのエスカレーションセットに関連付けられているすべてのエスカレーションステップ定義を削除します。
var escSetSysId = "32820dc3eb422110249e8d835d5228c3";
var escTemp = new global.OnCallEscalationTemplateSNC();
escTemp.deleteEscalationSetSteps(escSetSysId);