Alarmmanagement – Entwicklerleitfaden für offene API
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.
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
- 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.
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
VerifyCreateEventPayload()– Angerufen vonProcessCreateEvent ().VerifyClearEventPayload()– Angerufen vonProcessClearEvent().VerifyPatchEventPayload()– Angerufen vonProcessPatchEvent().
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.
MapCreateAlarmObjectToEvent ()MapClearAlarmObjectToEvent()MapPatchAlarmObjectToEvent()
ModifyCreateEventResponse()ModifyClearEventResponse()ModifyPatchEventResponse()
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'
});