Sending Alarms via webhook

Started by szabolcs, November 08, 2023, 05:06:55 PM

Previous topic - Next topic

szabolcs

Hello,

wondering what are the options to send alarms via webhook ?
Should I just call curl as a command on the management server?
Feel like doing it via scripts could provide more flexibility?
I have checked  https://www.netxms.org/documentation/nxsl-latest/#class-webservice but I do not understand how that's supposed to work.

Grateful for nudging me in the right direction.
thank you

Filipp Sudanov

Yes, doing this from script is better as you can control web service reply. To use web services from script, you have to create a web service definition under Configuration->Web service definition. For example let's create one named "example" with url http://example.com

Web services are called via an agent, typically agent which is running along with the server is used. Configuration file of that agent should have
EnableWebServiceProxy=yes

Now if you do "Execute script" on your server node and try the following script:
result = $node->callWebService("example", "GET");
println(result->success);
println(result->errorMessage);
println(result->agentErrorCode);
println(result->httpResponseCode);
println(result->document);

It will perform GET request and would print the result.

Alternative way is to use getWebService(webSvcName) method on node, this would create WebService object which has get(), post(), etc methods.

You can use GetServerNode() function instead of $node to get your netxms server node.

szabolcs

Great, thank you, got it to work.
Really appreciate your helpful response.