OnCallEscalationTemplateSNC – Global

  • Freigeben Version: Xanadu
  • Aktualisiert 1. August 2024
  • 2 Minuten Lesedauer
  • Die OnCallEscalationTemplateSNC-Skripteinbindung bietet Methoden zum Anwenden von Eskalationsrichtlinienvorlagen auf Eskalationssätze.

    Weitere Informationen zum Eskalationsprozess finden Sie unter Defining On-Call Scheduling escalation process.

    Diese Skripteinbindung erfordert das Plugin „Bereitschaftsplanung“ (com.snc.on_call_rotation).

    OnCallEscalationTemplateSNC: OnCallEscalationTemplateSNC()

    Instanziiert ein OnCallEscalationTemplateSNC -Objekt.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    Keine

    In diesem Beispiel wird ein OnCallEscalationTemplateSNC -Objekt instanziiert.

    var escTemp = new global.OnCallEscalationTemplateSNC();

    OnCallEscalationTemplateSNC –copyEscalationTemplatetoEscalationSet(String templateSysId, Zeichenfolge escalationSetSysId)

    Wendet eine Eskalationsrichtlinienvorlage auf einen Eskalationssatz an.

    Wenn die Vorlage auf den Eskalationssatz angewendet wird, werden in der Tabelle „Definition des Schichteskalationsschritts“ [cmn_rota_esc_step_def] Datensätze zur Definition des Eskalationsschritts erstellt.

    Rufen Sie vor dem Aufrufen dieser Methode die Methode deleteEscalationSetSteps() auf, um vorhandene Eskalationsschrittdefinitionen zu löschen. Wenn vorhandene Datensätze nicht zuerst gelöscht werden, gibt diese Methode einen Fehler zurück.

    Tabelle : 2. Parameter
    Name Typ Beschreibung
    templateSysId Zeichenfolge Sys_id der Eskalationsrichtlinienvorlage in der Tabelle „Vorlage für Eskalationsrichtlinie für Rufbereitschaft“ [on_call_template_escalation_policy].
    escalationSetSysId Zeichenfolge Sys_id des Eskalationssatzes in der Tabelle „Schichteskalationssatz“ [cmn_rota_escalation_set].
    Tabelle : 3. Ergebnisse
    Typ Beschreibung
    Objekt
    Objekt, das Fehler- und Warnmeldungen enthält. Wenn der Vorgang erfolgreich war, ist dieses Objekt leer.
    Hinweis:
    Bei einem Fehler wird der Vorgang beendet, und die Vorlage wird nicht angewendet. Wenn eine Warnung auftritt, wird der Vorgang fortgesetzt, und einige Datensätze werden noch erstellt.
    {
      "error": "String", 
      "warning": {Object} 
    }
    <Object>.Fehler Fehlermeldung.
    Mögliche Fehler:
    • Die sys_id der Eskalationsrichtlinienvorlage ist nicht korrekt.
    • sys_id des Eskalationssatzes ist nicht korrekt.
    • Eskalationsschrittdefinitionen sind bereits im Eskalationssatz vorhanden.

    Datentyp: Zeichenfolge

    <Object>.Warnung Informationen zu etwaigen Warnungen.

    Datentyp: Objekt

    {
      "message": "String", 
      "skipped_steps": [Array],
      "not_matching_steps": {Object},
    }
    <Object>.Warnung.Meldung Warnmeldung.
    Mögliche Warnungen:
    • Die Dienstplanposition stimmt nicht mit den Dienstplänen in der Schicht überein
    • In der Eskalationsschrittvorlage sind keine Zielgruppen definiert

    Datentyp: Zeichenfolge

    <Object>.Warnung.Übersprungen_Schritte Verzeichnisse von Eskalationsschritten, die übersprungen wurden (1-basiert).

    Datentyp: Array

    <Object>.warning.not_matching_steps Objekt mit Informationen zu Eskalationsschritten, für die keine Dienstpläne im Format {"schrittnummer":[dienstplannummer]}verfügbar sind.

    Beispiel: Wenn der Rückgabewert {"3":[3]}ist, ist der tertiäre Dienstplan bei Eskalationsschritt drei nicht verfügbar.

    Datentyp: Objekt

    In diesem Beispiel wird die Eskalationsrichtlinienvorlage „Dienstpläne rotieren“ auf den Eskalationssatz „Service Desk – Standard“ angewendet. Das Rückgabeobjekt ist leer, da keine Fehler oder Warnungen vorliegen.

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

    Ausgabe:

    {}

    In diesem Beispiel wird die Eskalationsrichtlinienvorlage „Durch Dienstpläne rotieren“ auf den Eskalationssatz „Arbeitsstunden – Standard“ angewendet. In diesem Fall hat die Schicht für die Anwendungsentwicklung nur zwei Dienstpläne, die Vorlage versucht jedoch, einen dritten Dienstplan zuzuweisen. Da die Anzahl der Dienstpläne nicht übereinstimmt, wird eine Warnung ausgegeben. In der Tabelle „Definition des Schichteskalationsschritts“ [cmn_rota_esc_step_def] werden noch zwei Datensätze erstellt.

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

    Ausgabe:

    {
       "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(String escalationSetSysId)

    Löscht alle Eskalationsschritt-Definitionsdatensätze, die einem Eskalationssatz zugeordnet sind.

    Tabelle : 4. Parameter
    Name Typ Beschreibung
    escalationSetSysId Zeichenfolge Sys_id des Eskalationssatzes in der Tabelle „Schichteskalationssatz“ [cmn_rota_escalation_set].
    Tabelle : 5. Ausgabe
    Typ Beschreibung
    Keine

    In diesem Beispiel werden alle Eskalationsschrittdefinitionen gelöscht, die dem Eskalationssatz „Service Desk – Standard“ zugeordnet sind.

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