Alarmmanagement – Entwicklerleitfaden für offene API

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 3 Minuten Lesedauer
  • Verwenden Sie Alarmmanagement – API öffnen Dient zum Erstellen und Aktualisieren von Daten in der Tabelle „Ereignisse“ [em_event].

    Dieser Entwicklerleitfaden enthält Informationen zum erweitern von Alarmmanagement – API öffnen Um verschiedene Anpassungen vorzunehmen.

    Erweiterung der offenen API für Alarmmanagement

    Die Alarmmanagement Offen API Kann erweitert werden Durch Bearbeiten von Skripteinbindungen.

    Diese Skripteinbindungen Darf nur bearbeitet werden Mit einem Verständnis von Konsequenzen der Changes .
    • TMFAlarmAPIKonstanten : Enthält Konstanten und erforderliche Parameterinformationen.
    • TMFAlarmAPIUtil : Enthält Funktionen zur Verarbeitung von API-Anforderungen.
    • AlarmAPIProcessorOOB : Enthält Hilfsfunktionen, die Funktionen in unterstützen TMFAlarmAPIUtil .
    • AlarmAPIProcessor : Eine leere Skripteinbindungsdatei. Verwenden Sie dies Datei Zum Definieren von Funktionen, von denen Sie überschreiben möchten AlarmAPIProcessorOOB .

    Erweitern Sie Alarmmanagement – API öffnen Um die folgenden Anpassungen vorzunehmen.

    Erforderliche Parameter

    Die Alarmmanagement Die API verwendet JSON-Schemas, um erforderliche Parameterinformationen zu speichern. Diese JSON-Schemas sind in definiert TMFAlarmAPIKonstanten Skripteinbindung. Diese Schemas werden verwendet Dient zum Validieren, ob Anforderungsnutzlasten gültig sind. Diese Schemas werden nicht direkt in Skripteinbindungen referenziert und von den folgenden Methoden in zurückgegeben AlarmAPIProcessorOOB Skripteinbindung:
    • GetCreateEventSchema : Gibt das Validierungsschema zum Erstellen eines Ereignisses zurück.
    • GetClearEventSchema : Gibt das Validierungsschema zum Löschen eines Ereignisalarms zurück.
    • GetPatchEventSchema : Gibt das Validierungsschema für das Patchen eines Ereignisses zurück.
    Um vorhandene Schemas zu überschreiben, definieren Sie neue Schemas in AlarmAPIProcessor Skripteinbindung und überschreiben AlarmAPIProcessorOOB Skripteinbindung Methoden .
    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

    Überschreiben Sie, um eine zusätzliche Validierung für den Anforderungstext durchzuführen Die folgenden Funktionen in AlarmAPIProcessorOOB Skripteinbindung . Diese Funktionen werden aufgerufen Durch die angegebenen Funktionen In Die TMFAlarmAPIUtil Skripteinbindung .
    • VerifyCreateEventPayload() – Angerufen von ProcessCreateEvent () .
    • VerifyClearEventPayload() – Angerufen von ProcessClearEvent() .
    • VerifyPatchEventPayload() – Angerufen von ProcessPatchEvent() .
    Alle diese Funktionen werden zurückgegeben Wahr Per Defalut. Wenn eine Hilfefunktion zurückgegeben wird Falsch , Stoppt den API-Vorgang.
    Um anwenderdefinierte Validierungen anzuwenden, überschreiben Sie AlarmAPIProcessorOOB-Hilfsfunktionen mit identisch benannten Funktionsnamen und Parametern in AlarmAPIProcessor. Die neuen AlarmAPIProcessor-Funktionen werden von TMFAlarmAPIUtil aufgerufen, um die standardmäßigen AlarmAPIProcessorOOB-Hilfsfunktionen zu ersetzen.
    In diesem Beispiel eine Funktion in Ein anwenderdefinierter AlarmAPIProcessor Skripteinbindung Überschreibt eine Standardfunktion in AlarmAPIProcessorOOB, um eine Validierung des Namensattributs 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

    So erstellen Sie zusätzliche Vorgänge über die vorhandenen GET-, PATCH- und POST-Vorgänge hinaus: Erstellen Sie zusätzliche geskriptete REST-Ressourcen Für Alarmmanagement Offen API. Die Logik der neuen geskripteten REST-Ressourcen Muss sein Entspricht den vorhandenen Vorgängen. Definieren Sie Funktionen für die neuen Vorgänge in TMFAlarmAPIUtil.

    Feldzuordnung

    Beim Erstellen oder Aktualisieren von Datensätzen Die Alarmmanagement Offen API ordnet Anforderungstext-Parameter zu zu zu Ereignis Datensatzfelder . Beim Abrufen von Datensätzen ordnet die API Datensatzfelder Antwortobjektattributen zu.

    Die AlarmAPIProcessorOOB Skripteinbindung Enthält die folgenden Funktionen zum Zuordnen eines PATCH- oder POST-Anforderungstexts zu einem Datensatz in der Tabelle „Ereignis“ [em_event].
    • MapCreateAlarmObjectToEvent ()
    • MapClearAlarmObjectToEvent()
    • MapPatchAlarmObjectToEvent()
    Auch Enthält die folgenden Funktionen zum Zuordnen eines Ereignis-GlideRecord zu einem JSON-Antwortobjekt für GET-, PATCH- oder POST-Anforderungen.
    • ModifyCreateEventResponse()
    • ModifyClearEventResponse()
    • ModifyPatchEventResponse()
    Sie können c Passen Sie Feldzuordnungen an, um Daten für zusätzliche Ereignistabellenfelder [em_event] hinzuzufügen und abzurufen, oder ändern Sie die Standardfeldzuordnungen. Um mit Zuordnungen zu arbeiten, erstellen Sie in Funktionen mit identischen Namen und Parametern AlarmAPIProcessor Zum Überschreiben AlarmAPIProcessorOOB Zuordnungsfunktionen. TMFAlarmAPIUtil Verwendet diese AlarmAPIProcessor Funktionen zum Ersetzen des Standards AlarmAPIProcessorOOB Zuordnungsfunktionen.
    Im folgenden Beispiel zwei AlarmAPIProcessor Funktionen überschreiben die Standardfunktionen in AlarmAPIProcessorOOB Zum Ändern von Typ f Ertragszuordnung und fügen Sie eine Zuordnung für hinzu Schweregrad Feld.
    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'
    });