Hello -
To integrate our SaaS AppD with Netcool, we created an Impact Policy that get alerts from the REST API. Use the Impact built-in functions GetHTTP, ConvertXMLToImpactObjects, and .NewEvent.
You will also need to make sure your Impact instance has access to the AppD Controller (DigiCert Certificate imported to your truststore for Impact Server and Proxy configured).
High-level, here are your steps:
//Get a cookie/login Path = "/controller/auth?action=login"; login = GetHTTP(HttpHost, HttpPort, Protocol, Path, ChannelKey, Method, AuthHandlerActionTreeName, FormParameters, FilesToSend, HeadersToSend, HttpProperties);
//Get the list of applications
Path = "/controller/rest/applications/"; xml = GetHTTP(HttpHost, HttpPort, Protocol, Path, ChannelKey, Method, AuthHandlerActionTreeName, FormParameters, FilesToSend, HeadersToSend, HttpProperties);
//Convert XML to Impact Objects applicationList = ConvertXMLToImpactObjects(xml);
//Cycle through the applications for each alert
numOfApps = length(applicationList['applications'][0]['application']);
//Get alerts from all applications
Path = " /controller/rest/applications/{apps from app list} /problems/healthrule-violations?time-range-type=BEFORE_NOW&duration-in-mins=10 ;
//Get XML to parse xml = GetHTTP (HttpHost, HttpPort, Protocol, Path, ChannelKey, Method, AuthHandlerActionTreeName, FormParameters, FilesToSend, HeadersToSend, HttpProperties);
//Convert XML to Impact Objects convertedXml = ConvertXMLToImpactObjects (xml);
//Set new OMNIbus Event Reader Event = NewEvent("OMNIbusEventReader"); Event.EventReaderName = "OMNIbusEventReader";
//Pass XML to Event Objects
affectedEntityName = convertedXml[' policy-violations '][0][' policy-violation '][y][' affectedEntityDefinition '][0][' name ']; Event.Node = affectedEntityName;
//Return event object to OMNIbus ReturnEvent (Event);
... View more