OnCallEscalationTemplateSNC - Global

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 3 min. de leitura
  • . OnCallEscalationTemplateSNC a inclusão de script fornece métodos para aplicar modelos de política de escalação a conjuntos de escalação.

    Para obter mais informações sobre o processo de escalação, consulte Defining On-Call Scheduling escalation process.

    Esta inclusão de script requer o plug-in Programação de plantão (com.snc.on_call_rotation).

    OnCallEscalationTemplateSNC - OnCallEscalationTemplateSNC()

    Instancia um OnCallEscalationTemplateSNC objeto.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    Nenhum(a)

    Este exemplo instancia um OnCallEscalationTemplateSNC objeto.

    var escTemp = new global.OnCallEscalationTemplateSNC();

    OnCallEscalationTemplateSNC - copyEscalationTemplatetoEscalationSet(cadeia de caracteres templateSysId, cadeia de caracteres escalationSetSysId)

    Aplica um modelo de política de escalação a um conjunto de escalação.

    Quando o modelo é aplicado ao conjunto de escalação, os registros de definição de etapa de escalação são criados na tabela Definição de etapa de escalação de turno [cmn_rota_esc_step_def].

    Antes de chamar este método, chame EscalaçãoSetSteps() método para excluir definições de etapa de escalação existentes. Se os registros existentes não forem excluídos primeiro, este método retornará um erro.

    Tabela 2. Parâmetros
    Nome Tipo Descrição
    templateSysId Cadeia de caracteres Sys_id do modelo de política de escalação na tabela Modelo de política de escalação de plantão [on_call_template_escalation_policy].
    EscalationSetSysId Cadeia de caracteres Sys_id do conjunto de escalação na tabela Conjunto de escalação de turno [cmn_rota_escalation_set].
    Tabela 3. Retornos
    Tipo Descrição
    Objeto
    Objeto que contém mensagens de erro e aviso. Se a operação foi bem-sucedida, este objeto estará vazio.
    Nota:
    Se ocorrer um erro, a operação será interrompida e o modelo não será aplicado. Se ocorrer um aviso, a operação continuará e alguns registros ainda serão criados.
    {
      "error": "String", 
      "warning": {Object} 
    }
    <Object>.error Mensagens de erro
    Possíveis erros:
    • O sys_id do modelo de política de escalação não está correto.
    • O sys_id do conjunto de escalação não está correto.
    • Definições de etapa de escalação já existem no conjunto de escalação.

    Tipo de dados: Cadeia de caracteres

    <Object>.aviso Informações sobre avisos.

    Tipo de dados: Objeto

    {
      "message": "String", 
      "skipped_steps": [Array],
      "not_matching_steps": {Object},
    }
    <Object>.warning.message Mensagem de aviso.
    Possíveis avisos:
    • A posição da escala não corresponde às escalas no turno
    • Não há públicos definidos no modelo de etapa de escalação

    Tipo de dados: Cadeia de caracteres

    <Object>.warning.skiped_steps Índices de todas as etapas de escalação que foram ignoradas (baseadas em 1).

    Tipo de dados: Matriz

    <Object>.warning.not_matching_steps Objeto que contém informações sobre todas as etapas de escalação que não têm escalas disponíveis no formato [número da etapa":[número da escala] .

    Por exemplo, se o valor de retorno for [3":[3] na etapa de escalação três, a escala terciária não está disponível.

    Tipo de dados: Objeto

    Este exemplo aplica o modelo de política de escalação de rotação por escalas à Central de serviços - conjunto de escalação padrão. O objeto de retorno está vazio porque não há erros ou avisos.

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

    Saída:

    {}

    Este exemplo aplica o modelo de política de escalação de rotação por escala ao conjunto de escalação padrão Horas de trabalho. Nesse caso, o turno de Desenvolvimento de aplicações tem apenas duas escalas, mas o modelo tenta atribuir uma terceira escala. Como o número de escalas não corresponde, um aviso é lançado. Dois registros ainda são criados na tabela Definição de etapa de escalação de turno [cmn_rota_esc_step_def].

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

    Saída:

    {
       "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(cadeia de caracteres escalationSetSysId)

    Exclui todos os registros de definição de etapa de escalação associados a um conjunto de escalação.

    Tabela 4. Parâmetros
    Nome Tipo Descrição
    EscalationSetSysId Cadeia de caracteres Sys_id do conjunto de escalação na tabela Conjunto de escalação de turno [cmn_rota_escalation_set].
    Tabela 5. Retornos
    Tipo Descrição
    Nenhum(a)

    Este exemplo exclui todas as definições de etapa de escalação associadas à Central de serviços - conjunto de escalação padrão.

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