I need help developing a plugin which I could use as an action on an incident to send an SMS.
I can confirm when running the following on a collector running Linux on command line works
curl -X GET -G 'http://myserviceproviderservername:9000/synapp-bulksms/bulksms' -d 'username=username' -d 'password=mypassword' -d 'text=MyTextMessage' -d 'msisdn=0123456789'
If I place the curl command in a file located on the server and use the generic execution plugin as an action for the incident it can call the file and it works, but I would really rather want an SMS plugin for this
You can create your own plugin, but I think it's worth looking at the SMS plugin which is on the community site.
I recently also added 2 official SMS providers which are important in NL (https://answers.dynatrace.com/questions/188606/view.html), so from experience I can say that it's quite simple to extend (especially GET request) the code which is on github.
I'm planning on extending the functionality with an indicator [Start] and [End], so that you can see in your SMS whether the incident just started or has ended (if you choose "On incident begin and end" in your alert rule).
Hope this helps!
Thank you for your response, In fact I did try the SMS plugin but my knowledge on this is not great.
According to the log when trying to use this plugin with bulk SMS as the option selected.
Message Status: FAILED Failure Cause: GATEWAY_FAILURE Validity Period (Hours): -1 Status Report: false Source / Destination Ports: -1 / -1 Flash SMS: false Text: %282017-10-09+10%3A47%3A40%29+Infrastructure+Disk+Utilization+Severe+-%3E+Host+Performance%2FDisk+Storage+Utilization%3A+Disk+Storage+Utilization+%28disk-%3E%2F%29+%28Host-Agent%40monitorserver%29+upper+bound+exceeded PDU data: <cannot extract properly, udh present>
Great work on this however, I beleive what I need is a simple action plugin to pass the incident to an sms but I not sure how.
As far as I see, the bulksms plugin uses the following URL:
String providerUrl = "http://bulksms.vsms.net:5567";
I am not sure whether you might have firewall issues there?The used URL for this is:
url = new URL(this.providerUrl + "/eapi/submission/send_sms/2/2.0" + "?" + reqLine);
If this is not working for you, you could create your own implementation inside the plugin, and have a look at SpryngHTTPGateway.java on github for a quickstart.
Of course you can also create a plugin from scratch (not even that hard), but then you have to do the complete coding based on the template that is generated for you by Dynatrace (which contains quite some documentation).