OnCallEscalationTemplateSNC - グローバル

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:6分
  • OnCallEscalationTemplateSNC スクリプトインクルードは、エスカレーションポリシーテンプレートをエスカレーションセットに適用するメソッドを提供します。

    エスカレーションプロセスの詳細については、「 Defining On-Call Scheduling escalation process」を参照してください。

    このスクリプトインクルードには、オンコールスケジューリングプラグイン (com.snc.on_call_rotation) が必要です。

    OnCallEscalationTemplateSNC - OnCallエスカレーションテンプレートSNC()

    OnCallEscalationTemplateSNC オブジェクトをインスタンス化します。

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

    この例では、 OnCallEscalationTemplateSNC オブジェクトをインスタンス化します。

    var escTemp = new global.OnCallEscalationTemplateSNC();

    OnCallEscalationTemplateSNC - copyEscalationTemplatetoEscalationSet (文字列 templateSysId, 文字列 escalationSetSysId)

    エスカレーションポリシーテンプレートをエスカレーションセットに適用します。

    テンプレートがエスカレーションセットに適用されると、エスカレーションステップ定義レコードがシフトエスカレーションステップ定義 [cmn_rota_esc_step_def] テーブルに作成されます。

    このメソッドを呼び出す前に、 deleteEscalationSetSteps() メソッドを呼び出して既存のエスカレーションステップ定義を削除します。既存のレコードが最初に削除されていない場合、このメソッドはエラーを返します。

    表 : 2. パラメーター
    名前 タイプ 説明
    templateSysId 文字列 オンコールエスカレーションポリシーテンプレート [on_call_template_escalation_policy] テーブルでのエスカレーションポリシーテンプレートのSys_id。
    エスカレーションセット SysId 文字列 シフトエスカレーションセット [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>.warning.message 警告メッセージ。
    考えられる警告:
    • 勤務表の位置がシフトの勤務表と一致しません
    • エスカレーションステップテンプレートに対象者が定義されていません

    データタイプ:文字列

    <Object>.warning.skipped_steps スキップされたエスカレーションステップのインデックス (1 ベース)。

    データタイプ:アレイ

    <Object>.warning.not_matching_steps 利用可能な勤務表がないエスカレーションステップに関する情報を {"step number":[勤務表番号]} 形式で含むオブジェクト。

    たとえば、戻り値が {"3":[3]} の場合、エスカレーションステップ 3 では第 3 の勤務表は利用できません。

    データタイプ: オブジェクト

    この例では、[シフト表でローテーション] エスカレーションポリシーテンプレートを [サービスデスク - デフォルト] エスカレーションセットに適用します。エラーや警告がないため、戻り値のオブジェクトは空です。

    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));

    出力:

    {}

    この例では、[勤務時間 - デフォルト] エスカレーションセットに [勤務表ローテーション] エスカレーションポリシーテンプレートを適用します。この場合、アプリケーション開発シフトには 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)

    エスカレーションセットに関連付けられているすべてのエスカレーションステップ定義レコードを削除します。

    表 : 4. パラメーター
    名前 タイプ 説明
    エスカレーションセット SysId 文字列 シフトエスカレーションセット [cmn_rota_escalation_set] テーブルのエスカレーションセットのSys_id。
    表 : 5. 返される内容
    タイプ 説明
    なし

    この例では、サービスデスク - デフォルトエスカレーションセットに関連付けられているすべてのエスカレーションステップ定義を削除します。

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