Gestão de alarmes Abrir Guia do desenvolvedor da API

  • Versão de lançamento: Yokohama
  • Atualizado 30 de jan. de 2025
  • 3 min. de leitura
  • Use o. API aberta de Gestão de alarmes Para criar e atualizar dados na tabela Eventos [em_event].

    Este guia do desenvolvedor fornece informações sobre como estender o. API aberta de Gestão de alarmespara fazer várias personalizações.

    Estendendo a API aberta de Gestão de alarmes

    . Gestão de alarmes aberta API pode ser estendido editando inclusões de script.

    Estes scripts incluem só deve ser editado com uma compreensão de consequências das mudanças .
    • TMFAlarmAPIConstantes : Contém constantes e informações de parâmetro necessárias.
    • TMFAlarmAPIUtil : Contém funções para manipular solicitações de API.
    • ProcessoAPIAlarmOOB : Contém funções auxiliares que oferecem suporte a funções em TMFAlarmAPIUtil .
    • AlarmAPIProcessor : Um arquivo de inclusão de script vazio. Use isso arquivo para definir todas as funções que você deseja substituir ProcessoAPIAlarmOOB .

    Estenda o. API aberta de Gestão de alarmes para fazer as personalizações a seguir.

    Parâmetros obrigatórios

    . Gestão de alarmes A API utiliza esquemas JSON para manter informações de parâmetros necessários. Esses esquemas JSON são definidos no TMFAlarmAPIConstantes inclusão de script. Esses esquemas são usados para validar se as cargas de solicitação são válidas. Esses esquemas não são referenciados diretamente nas inclusões de script e são retornados pelos seguintes métodos no ProcessoAPIAlarmOOB inclusão de script:
    • GetCreateEventSchema : Retorna o esquema de validação para criar um evento.
    • GetClearEventSchema : Retorna o esquema de validação para limpar um alarme de evento.
    • GetPatchEventSchema : Retorna o esquema de validação para corrigir um evento.
    Para substituir esquemas existentes, defina novos esquemas no AlarmAPIProcessor o script inclui e substitui o. ProcessoAPIAlarmOOB inclusão de script métodos .
    var AlarmAPIProcessor = Class.create();
    AlarmAPIProcessor.prototype = Object.extendsObject(AlarmAPIProcessorOOB, {
    	// Define overriding functions here
    	
    	// Define getCreateEventSchema here to override OOTB method in AlarmAPIProcessorOOB
    	getCreateEventSchema: function() {
    		return JSON.parse(AlarmAPIProcessor.CUSTOMIZED_SCHEMA);
    	},
        type: 'AlarmAPIProcessor'
    });
    
    // Define a new schema
    AlarmAPIProcessor.CUSTOMIZED_SCHEMA = "{\"title\":\"CreateAlarm\",\"type\":\"object\",
    \"properties\":{\"externalAlarmId\":{\"type\":\"string\"},\"alarmType\":{\"type\":\"string\"},
    \"perceivedSeverity\":{\"type\":\"string\"},\"probableCause\":{\"type\":\"string\"},
    \"alarmedObject\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},
    \"href\":{\"type\":\"string\"}},\"required\":[\"id\"]},\"sourceSystemId\":{\"type\":\"string\"}},
    \"required\":[\"externalAlarmId\",\"alarmType\",\"perceivedSeverity\",\"probableCause\",
    \"alarmedObject\",\"sourceSystemId\"]}";

    Validação do corpo da solicitação

    Para executar validação adicional no corpo da solicitação, substitua as seguintes funções no ProcessoAPIAlarmOOB inclusão de script . Essas funções são chamadas pelas funções especificadas em . TMFAlarmAPIUtil inclusão de script .
    • VerifyCreateEventPayload() - Chamado por ProcessCreateEvent () .
    • VerifyClearEventPayload() - Chamado por ProcessClearEvent() .
    • Carga() - Chamado por ProcessPatchEvent() .
    Todas essas funções retornam verdadeiro por padrão. Se uma função auxiliar retornar falso , Interrompe a operação da API.
    Para aplicar validações personalizadas, substitua as funções auxiliares AlarmAPIProcessorOOB por nomes e parâmetros de função com nomes idênticos no AlarmAPIProcessor. As novas funções AlarmAPIProcessor são chamadas por TMFAlarmAPIUtil para substituir as funções auxiliares padrão AlarmAPIProcessorOOB.
    Neste exemplo, uma função em um personalizado AlarmAPIProcessor inclusão de script Substitui uma função padrão em AlarmAPIProcessorOOB para executar a validação no atributo name.
    var AlarmAPIProcessor = Class.create();
    AlarmAPIProcessor.prototype = Object.extendsObject(AlarmAPIProcessorOOB, {
    	// Define overriding functions here
    	
        verifyCreateEventPayload: function(eventPayload, apiResponseProcessor){
            // Returning false terminates the POST request
            // Make sure to assign error message and reason
            if (eventPayload.type != "unique") {
                apiResponseProcessor.setMessage("Failed");
                apiResponseProcessor.setReason("No reason needed");
                return false;
            }
        },
    	
        type: 'AlarmAPIProcessor'
    });

    Operações REST adicionais

    Para criar operações adicionais além das operações GET, PATCH e POST existentes, Crie recursos REST com script adicionais para Gestão de alarmes aberta API. A lógica dos novos recursos REST com script deve ser consistente com as operações existentes. Defina funções para as novas operações em TMFAlarmAPIUtil.

    Mapeamento de campo

    Ao criar ou atualizar registros, . Gestão de alarmes aberta A API mapeia os parâmetros do corpo da solicitação para evento campos de registro . Ao recuperar registros, a API mapeia campos de registro para atributos de objeto de resposta.

    . ProcessoAPIAlarmOOB inclusão de script Contém as seguintes funções para mapear um corpo de PATCH ou solicitação POST para um registro na tabela de evento [em_event].
    • MapCreateAlarmObjectToEvent ()
    • MapClearAlarmObjectToEvent()
    • MapPatchAlarmObjectToEvent()
    E também Contém as seguintes funções para mapear um GlideRecord de evento para um objeto de resposta JSON para solicitações GET, PATCH ou POST.
    • ModifyCreateEventResponse()
    • ModifyClearEventResponse()
    • ModifyPatchEventResponse()
    Você pode c Use mapeamentos de campo para adicionar e recuperar dados para campos de tabela de evento adicionais [em_event] ou alterar os mapeamentos de campo padrão. Para trabalhar com mapeamentos, crie funções com nomes e parâmetros idênticos em AlarmAPIProcessor para substituir ProcessoAPIAlarmOOB funções de mapeamento. TMFAlarmAPIUtil os usa AlarmAPIProcessor funções para substituir o padrão ProcessoAPIAlarmOOB funções de mapeamento.
    No exemplo a seguir, dois AlarmAPIProcessor as funções substituem as funções padrão em ProcessoAPIAlarmOOB para mudar o. Tipo f mapeamento de campo e adicione um mapeamento para Gravidade campo.
    var AlarmAPIProcessor = Class.create();
    AlarmAPIProcessor.prototype = Object.extendsObject(AlarmAPIProcessorOOB, {
    	// Define overriding functions here
    	
        // Function name and parameters must be identical to the function it overrides
        mapCreateAlarmObjectToEvent: function(eventGr, eventObject){
            // Override default mapping for the severity field
            eventGr.severity = "High";
        },
    
        modifyCreateEventResponse: function(eventGr, eventObject){
            // Override default mapping for the type field
            eventGr.type = "Customized Event"; 
        },
    	
        type: 'AlarmAPIProcessor'
    });