Alarm Management Open API-Entwicklerleitfaden

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 3 Minuten Lesedauer
  • Verwenden Sie die offene Alarm Management API, um Daten in der Tabelle „Ereignisse“ [em_event] zu erstellen und zu aktualisieren.

    Dieser Entwicklerleitfaden enthält Informationen zum Erweitern von Alarm Management Open API, um verschiedene Anpassungen vorzunehmen.

    Erweitern der offenen API von Alarm Management

    Die Alarm Management Open -API kann durch Bearbeiten von Skripteinbindungen erweitert werden.

    Diese Skripteinbindungen sollten nur bearbeitet werden mit einem Verständnis der Konsequenzen der Änderungen.
    • TMFAlarmAPIConstants: Enthält Konstanten und erforderliche Parameterinformationen.
    • TMFAlarmAPIUtil: Enthält Funktionen zur Verarbeitung von API-Anforderungen.
    • AlarmAPIProcessorOOB: Enthält Hilfsfunktionen, die Funktionen in TMFAlarmAPIUtilunterstützen.
    • AlarmAPIProcessor: Eine leere Skripteinbindungsdatei. Verwenden Sie diese Datei, um alle Funktionen zu definieren, die Sie von AlarmAPIProcessorOOBüberschreiben möchten.

    Erweitern Sie die offene Alarm Management API, um die folgenden Anpassungen vorzunehmen.

    Erforderliche Parameter

    Die Alarm Management- API verwendet JSON-Schemata, um Informationen zu erforderlichen Parametern zu speichern. Diese JSON-Schemata sind in der Skripteinbindung TMFAlarmAPIConstants definiert. Diese Schemas werden verwendet, um zu validieren, ob Anforderungsnutzlasten gültig sind. Diese Schemas werden nicht direkt in Skripteinbindungen referenziert und von den folgenden Methoden in der AlarmAPIProcessorOOB-Skripteinbindung zurückgegeben :
    • getCreateEventSchema: Gibt das Validierungsschema für die Erstellung eines Events zurück.
    • getClearEventSchema: Gibt das Validierungsschema für das Löschen eines Event-Alarms zurück.
    • getPatchEventSchema: Gibt das Validierungsschema für das Patchen eines Events zurück.
    Um vorhandene Schemas zu überschreiben, definieren Sie neue Schemas in der AlarmAPIProcessor-Skripteinbindung und überschreiben Sie die AlarmAPIProcessorOOB-SkripteinbindungMethoden.
    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\"]}";

    Validierung des Anforderungstexts

    Um eine zusätzliche Validierung für den Anforderungstext durchzuführen, überschreiben Sie die folgenden Funktionen in der AlarmAPIProcessorOOB-Skripteinbindung . Diese Funktionen werden von den angegebenen Funktionen in der TMFAlarmAPIUtil-Skripteinbindung ] aufgerufen.
    • überprüfenCreateEventPayload() – Wird von processCreateEvent()aufgerufen.
    • identifyClearEventPayload() – Wird von processClearEvent() aufgerufen.
    • überprüfenPatchEventPayload() – Wird von processPatchEvent()aufgerufen.
    Alle diese Funktionen geben standardmäßig „ true “ zurück. Wenn eine Hilfsfunktion false zurückgibt, wird der API-Vorgang angehalten.
    Um benutzerdefinierte Validierungen anzuwenden, überschreiben Sie die Hilfsfunktionen AlarmAPIProcessorOOB mit gleichnamigen Funktionsnamen und Parametern in AlarmAPIProcessor. Die neuen AlarmAPIProcessor-Funktionen werden von TMFAlarmAPIUtil aufgerufen, um die standardmäßigen AlarmAPIProcessorOOB-Hilfsfunktionen zu ersetzen.
    In diesem Beispiel überschreibt eine Funktion in einer benutzerdefinierten AlarmAPIProcessor -[ ]-Skripteinbindung [ eine Standardfunktion in AlarmAPIProcessorOOB, um eine Validierung für das Namensattribut durchzuführen.
    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'
    });

    Zusätzliche REST-Vorgänge

    Um zusätzliche Vorgänge zu erstellen, die über die vorhandenen GET-, PATCH- und POST-Vorgänge hinausgehen, erstellen Sie zusätzliche geskriptete REST-Ressourcen für die offene API von Alarm Management. Die Logik der neuen geskripteten REST-Ressourcen sollte mit den vorhandenen Vorgängen übereinstimmen. Definieren Sie Funktionen für die neuen Vorgänge in TMFAlarmAPIUtil.

    Feldzuordnung

    Beim Erstellen oder Aktualisieren von Datensätzen ordnet die Alarm Management Open- API Anforderungstextparameter zu Event -[]- Datensatzfeldernzu. Beim Abrufen von Datensätzen ordnet die API Datensatzfelder Antwortobjektattributen zu.

    Die Skripteinbindung [ AlarmAPIProcessorOOB enthält die folgenden Funktionen, um einen PATCH- oder POST-Anforderungstext einem Datensatz in der Event-Tabelle [em_event] zuzuordnen.
    • mapCreateAlarmObjectToEvent()
    • mapClearAlarmObjectToEvent()
    • mapPatchAlarmObjectToEvent()
    Sie enthält auch die folgenden Funktionen, um einen Event-GlideRecord einem JSON-Antwortobjekt für GET-, PATCH- oder POST-Anforderungen zuzuordnen.
    • modifyCreateEventResponse()
    • modifyClearEventResponse()
    • modifyPatchEventResponse()
    Sie können cFeldzuordnungen anpassen, um Daten für zusätzliche Event-Tabellenfelder [em_event] hinzuzufügen und abzurufen, oder die Standardfeldzuordnungen ändern. Erstellen Sie zum Arbeiten mit Zuordnungen Funktionen mit identischen Namen und Parametern in AlarmAPIProcessor, um die AlarmAPIProcessorOOB- Zuordnungsfunktionen zu überschreiben. TMFAlarmAPIUtil verwendet diese AlarmAPIProcessor- Funktionen, um die standardmäßigen AlarmAPIProcessorOOB- Zuordnungsfunktionen zu ersetzen.
    Im folgenden Beispiel überschreiben zwei AlarmAPIProcessor- Funktionen die Standardfunktionen in AlarmAPIProcessorOOB , um die Feldzuordnung Typ fzu ändern und eine Zuordnung für das Feld Schweregrad hinzuzufügen.
    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'
    });