We have an API integration with OpsGenie where our system sends alerts to OpsGenie using the AlertAPI. Now, we would like to create custom actions for that alert (e.g. Open in Grafana), etc. Is there any example on best practices when creating such custom actions? Beyond the raw API documentation we haven't been able to find anything.
Hi @yariv !
The first step is to add the custom action to the alerts (i.e. add the "Grafana" action to your alerts that are created in Opsgenie). This doc goes over how you can do this.
There are a few ways you can have this custom action be added to the alert. Since you are using the Alert API to create alerts, you could pass in the "Grafana" action in the Actions field of the payload you are sending to Create Alerts, so that the action would be added to the alert.
Alternatively, you could edit the API integration in Opsgenie, and add the "Grafana" action to the Actions field in the integration, so it will add the "Grafana" actions to alerts created through that integration.
Then in terms of how you get that action to trigger something, you could leverage Opsgenie Actions feature to do this. This allows you to trigger a post to a few different "channels" listed there. AWS Systems Manager, Generic Rest Endpoint, AWS SNS, or Opsgenie Edge Connector (OEC).
You can then configure scripts in one of those channels that actually make the request to Grafana to open a ticket via API. So the Action you set-up would trigger the script to be executed via one of those channels.
If you don't have a set-up in mind already for hosting/running this script, I would recommend going the Opsgenie Edge Connector (OEC) route which is a service you can install somewhere locally that can execute custom scripts, and you can use the Opsgenie Actions feature with an OEC action channel to trigger that script to be executed.
Hope this helps!
This is very helpful, thanks!
The main caveat for us is that we want to create the actions programmatically and not using the admin UI (hence asking about the Actions API). I want (per alert type) to use the API to define the possible actions for an alert. Then - when the alert is triggered and the user chooses one of the custom actions, I want to 'catch' the actions (using REST / Webhook) and do the 'dispatching' myself.
In the doc you sent - it only describes how to do this via the UI and I was trying to find a code sample and how to do it via the API...
Hope this clarifies.
Hello everyone! We are very excited to announce some much needed changes to the issue create experience in JSM (the blue "create" button) at the top of the screen. We have just starte...
Connect with like-minded Atlassian users at free events near you!Find an event
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no Community Events near you at the moment.Host an event
You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events