Deprecated Alert Actions
The Opsgenie SDK for Java provides the following actions that can be executed on Opsgenie service.
Create Alert
Creates alerts at Opsgenie
OpsGenieClient client = new OpsGenieClient();
CreateAlertRequest request = new CreateAlertRequest();
request.setApiKey("ab5454992-fabb2-4ba2-ad44f-1af65ds8b5c079");
request.setMessage("appserver1 down");
request.setDescription("cpu usage is over 60%");
request.setSource("nagios");
request.setEntity("appserver1");
request.setActions(Arrays.asList("ping", "restart"));
request.setTags(Arrays.asList("network", "operations"));
request.setRecipients(Arrays.asList("[email protected]"));
request.setTeams(Arrays.asList("ops_team","dev_team"));
CreateAlertResponse response = client.alert().createAlert(request);
String alertId = response.getId();
Close Alert
Closes alerts at Opsgenie.
OpsGenieClient client = new OpsGenieClient();
CloseAlertRequest request = new CloseAlertRequest();
request.setId("29c4d6f6-0919-40ec-8d37-4ab2ed2042c8");
request.setApiKey("ab5454992-fabb2-4ba2-ad44f-1af65ds8b5c079");
request.setUser("[email protected]");
CloseAlertResponse response = client.alert().closeAlert(request);
assert response.isSuccess();
Delete Alert
Deletes alerts at Opsgenie.
OpsGenieClient client = new OpsGenieClient();
DeleteAlertRequest request = new DeleteAlertRequest();
request.setId("29c4d6f6-0919-40ec-8d37-4ab2ed2042c8");
request.setApiKey("ab5454992-fabb2-4ba2-ad44f-1af65ds8b5c079");
request.setUser("[email protected]");
DeleteAlertResponse response = client.alert().deleteAlert(request);
assert response.isSuccess();
Get Alert
Retrieves specified alert details from Opsgenie
OpsGenieClient client = new OpsGenieClient();
GetAlertRequest request = new GetAlertRequest();
request.setId("29c4d6f6-0919-40ec-8d37-4ab2ed2042c8");
request.setApiKey("ab5454992-fabb2-4ba2-ad44f-1af65ds8b5c079");
GetAlertResponse response = client.alert().getAlert(request);
String message = response.getAlert().getMessage();
String description = response.getAlert().getDescription();
List<string> recipients = response.getAlert().getRecipients();
List<string> teams = response.getAlert().getTeams();
List Alerts
Retrieves latest alerts with given limit at Opsgenie. If limit is not set it retrieves latest 20 alerts and 100 alerts max per request.
OpsGenieClient client = new OpsGenieClient();
ListAlertsRequest request = new ListAlertsRequest();
request.setApiKey("39d50168-24b3-4355-b285-b91060823dee");
ListAlertsResponse response = client.alert().listAlerts(request);
List<Alert> alerts = response.getAlerts();
List Alerts With Paging
Let's say we have 100 alerts at the system. We want to get 5 alerts per request and we want to start polling from the oldest alert.
Our first request will be like the following:
OpsGenieClient client = new OpsGenieClient();
ListAlertsRequest request = new ListAlertsRequest();
request.setApiKey("39d50168-24b3-4355-b285-b91060823dee");
request.setLimit(5);
request.setSortOrder(ListAlertsRequest.SortOrder.asc);
request.setSortBy(ListAlertsRequest.SortBy.createdAt);
ListAlertsResponse response = client.alert().listAlerts(request);
List<Alert> alerts = response.getAlerts();
long createdAt = alerts.get(alerts.size()-1).getCreatedAt();
Now, we have the latest "createdAt" value of the retrieved 5 alerts shown above. We will use the "createdAt" value at our next request to retrieve 6th to 10th alerts.
Our next request will be like the following:
OpsGenieClient client = new OpsGenieClient();
ListAlertsRequest request = new ListAlertsRequest();
request.setApiKey("39d50168-24b3-4355-b285-b91060823dee");
request.setLimit(5);
request.setSortOrder(ListAlertsRequest.SortOrder.asc);
request.setSortBy(ListAlertsRequest.SortBy.createdAt);
request.setCreatedAfter(createdAt); // createdAt value from the first request.
ListAlertsResponse response = client.alert().listAlerts(request);
List<Alert> alerts = response.getAlerts();
long createdAt = alerts.get(alerts.size()-1).getCreatedAt();
The next request will be the same as above.
Count Alerts
Count alerts at Opsgenie.
OpsGenieClient client = new OpsGenieClient();
CountAlertsRequest request = new CountAlertsRequest();
request.setApiKey("39d50168-24b3-4355-b285-b91060823dee");
CountAlertsResponse response = client.alert().countAlerts(request);
int count = response.getCount();
List Alert Logs
Retrieves latest alert logs with given limit at Opsgenie. If limit is not set it retrieves latest 100 logs. 100 is also max log to be retrieved per request.
OpsGenieClient client = new OpsGenieClient();
ListAlertLogsRequest request = new ListAlertLogsRequest();
request.setId("3009c832-f578-42dd-8404-776b392da7b6");
request.setApiKey("51508352-1c40-4d6a-9625-ac80b4dbb972");
request.setSortOrder(ListAlertLogsRequest.SortOrder.asc);
request.setLimit(5);
ListAlertLogsResponse response = client.alert().listAlertLogs(request);
List<AlertLog> alertLogs = response.getAlertLogs();
String lastKey = response.getLastKey();
To make pagination while getting logs:
- Make the request above. Notice that "lastKey" value response returned. You will use it in the second request.
- Make a second request like above, but make sure you populate the new requests lastKey field with the lastKey you obtained from first request.
request.setLastKey(lastKey);
List Alert Notes
Retrieves latest alert notes with given limit at Opsgenie. If limit is not set it retrieves latest 100 notes. 100 is also max note to be retrieved per request.
OpsGenieClient client = new OpsGenieClient();
ListAlertNotesRequest request = new ListAlertNotesRequest();
request.setId("3009c832-f578-42dd-8404-776b392da7b6");
request.setApiKey("51508352-1c40-4d6a-9625-ac80b4dbb972");
request.setSortOrder(ListAlertNotesRequest.SortOrder.asc);
request.setLimit(5);
ListAlertNotesResponse response = client.alert().listAlertNotes(request);
List<AlertNote> alertNotes = response.getAlertNotes();
String lastKey = response.getLastKey();
To make pagination while getting notes:
- Make the request above. Notice that "lastKey" value response returned. You will use it in the second request.
- Make a second request like above, but make sure you populate the new requests lastKey field with the lastKey you obtained from first request.
request.setLastKey(lastKey);
List Alert Recipients
Retrieves recipients of the specified alert in Opsgenie
OpsGenieClient client = new OpsGenieClient();
ListAlertRecipientsRequest request = new ListAlertRecipientsRequest();
request.setId("3009c832-f578-42dd-8404-776b392da7b6");
request.setApiKey("39d50168-24b3-4355-b285-b91060823dee");
ListAlertRecipientsResponse response = client.alert().listAlertRecipients(request);
Map<String, List<AlertRecipient>> groups = response.getGroups();
List<AlertRecipient> users = response.getUsers();
Acknowledge
Acknowledges alerts in Opsgenie
OpsGenieClient client = new OpsGenieClient();
AcknowledgeRequest request = new AcknowledgeRequest();
request.setId("29c4d6f6-0919-40ec-8d37-4ab2ed2042c8");
request.setApiKey("ab5454992-fabb2-4ba2-ad44f-1af65ds8b5c079");
request.setUser("[email protected]");
AcknowledgeResponse response = client.alert().acknowledge(request);
assert response.isSuccess();
Unacknowledge
Unacknowledges alerts in Opsgenie
OpsGenieClient client = new OpsGenieClient();
UnAcknowledgeRequest request = new UnAcknowledgeRequest();
request.setId("29c4d6f6-0919-40ec-8d37-4ab2ed2042c8");
request.setApiKey("ab5454992-fabb2-4ba2-ad44f-1af65ds8b5c079");
request.setUser("[email protected]");
UnAcknowledgeResponse response = client.alert().unAcknowledge(request);
assert response.isSuccess();
Snooze Request
Snooze request is used to snooze alerts in Opsgenie.
OpsGenieClient client = new OpsGenieClient();
client.setApiKey("ab5454992-fabb2-4ba2-ad44f-1af65ds8b5c079");
SnoozeRequest request = new SnoozeRequest();
request.setId("29c4d6f6-0919-40ec-8d37-4ab2ed2042c8");
SnoozeResponse response = client.alert().snooze(request);
assert response.isSuccess();
Renotify
Renotifies the recipients about specified alert in Opsgenie
OpsGenieClient client = new OpsGenieClient();
RenotifyRequest request = new RenotifyRequest();
request.setId("3009c832-f578-42dd-8404-776b392da7b6");
request.setApiKey("39d50168-24b3-4355-b285-b91060823dee");
request.setSource("System");
List<RenotifyRecipient> recipients = new LinkedListRenotifyRecipient>();
RenotifyResponse response = client.alert().renotify(request);
Take Ownership
Takes the ownership of alerts in Opsgenie
OpsGenieClient client = new OpsGenieClient();
TakeOwnershipRequest request = new TakeOwnershipRequest();
request.setId("29c4d6f6-0919-40ec-8d37-4ab2ed2042c8");
request.setApiKey("ab5454992-fabb2-4ba2-ad44f-1af65ds8b5c079");
request.setUser("[email protected]");
TakeOwnershipResponse response = client.alert().takeOwnership(request);
assert response.isSuccess();
Assign
Assigns the ownership of alerts in Opsgenie
OpsGenieClient client = new OpsGenieClient();
AssignRequest request = new AssignRequest();
request.setId("29c4d6f6-0919-40ec-8d37-4ab2ed2042c8");
request.setApiKey("ab5454992-fabb2-4ba2-ad44f-1af65ds8b5c079");
request.setUser("[email protected]");
request.setOwner("[email protected]");
AssignResponse response = client.alert().assign(request);
assert response.isSuccess();
Add Alert Team
Add alert team request is used to add new teams to alerts in Opsgenie.
OpsGenieClient client = new OpsGenieClient();
client.setApiKey("ab5454992-fabb2-4ba2-ad44f-1af65ds8b5c079");
AddAlertTeamRequest request = new AddAlertTeamRequest();
request.setId("29c4d6f6-0919-40ec-8d37-4ab2ed2042c8");
request.setTeam("operations");
request.setUser("[email protected]");
request.setNote("We should warn operations team.");
request.setSource("java sdk");
AddAlertTeamResponse response = client.alert().addTeam(request);
assert response.isSuccess();
Add Recipient
Adds a new recipient to an alert in Opsgenie
OpsGenieClient client = new OpsGenieClient();
AddRecipientRequest request = new AddRecipientRequest();
request.setId("29c4d6f6-0919-40ec-8d37-4ab2ed2042c8");
request.setApiKey("ab5454992-fabb2-4ba2-ad44f-1af65ds8b5c079");
request.setUser("[email protected]");
request.setRecipient("[email protected]");
AddRecipientResponse response = client.alert().addRecipient(request);
assert response.isSuccess();
Add Note
Add notes to alerts in Opsgenie
OpsGenieClient client = new OpsGenieClient();
AddNoteRequest request = new AddNoteRequest();
request.setId("29c4d6f6-0919-40ec-8d37-4ab2ed2042c8");
request.setApiKey("ab5454992-fabb2-4ba2-ad44f-1af65ds8b5c079");
request.setUser("[email protected]");
request.setNote("We should find another solution.");
AddNoteResponse response = client.alert().addNote(request);
assert response.isSuccess();
Add Tags
Add tags to alerts in Opsgenie
OpsGenieClient client = new OpsGenieClient();
AddTagsRequest request = new AddTagsRequest();
request.setId("29c4d6f6-0919-40ec-8d37-4ab2ed2042c8");
request.setApiKey("ab5454992-fabb2-4ba2-ad44f-1af65ds8b5c079");
request.setUser("[email protected]");
request.setNote("We should find another solution.");
List<String> tags = new ArrayList<String>();
tags.add("support");
request.setTags(tags);
AddTagsResponse response = client.alert().addTags(request);
assert response.isSuccess();
Remove Tags
Remove tags from alerts in Opsgenie
OpsGenieClient client = new OpsGenieClient();
RemoveTagsRequest request = new RemoveTagsRequest();
request.setId("29c4d6f6-0919-40ec-8d37-4ab2ed2042c8");
request.setApiKey("ab5454992-fabb2-4ba2-ad44f-1af65ds8b5c079");
request.setUser("[email protected]");
request.setNote("We should find another solution.");
List<String> tags = new ArrayList<String>();
tags.add("support");
request.setTags(tags);
RemoveTagsResponse response = client.alert().removeTags(request);
assert response.isSuccess();
Add Details
Add details request is used to add properties to alert details in Opsgenie.
OpsGenieClient client = new OpsGenieClient();
client.setApiKey("ab5454992-fabb2-4ba2-ad44f-1af65ds8b5c079");
AddDetailsRequest request = new AddDetailsRequest();
Map details = new HashMap();
details.put("prop1", "val1");
details.put("prop2", "val2");
request.setDetails(details);
request.setId("29c4d6f6-0919-40ec-8d37-4ab2ed2042c8");
AddDetailsResponse response = client.alert().addDetails(request);
assert response.isSuccess();
Remove Details
Remove details request is used to remove properties from alert details in Opsgenie.
OpsGenieClient client = new OpsGenieClient();
client.setApiKey("ab5454992-fabb2-4ba2-ad44f-1af65ds8b5c079");
RemoveDetailsRequest request = new RemoveDetailsRequest();
List keys = new ArrayList();
keys.add("prop1");
keys.add("prop2");
request.setKeys(keys);
request.setId("29c4d6f6-0919-40ec-8d37-4ab2ed2042c8");
RemoveDetailsResponse response = client.alert().removeDetails(request);
assert response.isSuccess();
Execute Alert Action
Executes actions on alerts in Opsgenie
OpsGenieClient client = new OpsGenieClient();
ExecuteAlertActionRequest request = new ExecuteAlertActionRequest();
request.setId("29c4d6f6-0919-40ec-8d37-4ab2ed2042c8");
request.setApiKey("ab5454992-fabb2-4ba2-ad44f-1af65ds8b5c079");
request.setUser("[email protected]");
request.setAction("restartEntity");
ExecuteAlertActionResponse response = client.alert().executeAlertAction(request);
String result = response.getResult();
Attach
Attaches files to the alerts in Opsgenie.
OpsGenieClient client = new OpsGenieClient();
AttachRequest request = new AttachRequest();
request.setId("29c4d6f6-0919-40ec-8d37-4ab2ed2042c8");
request.setApiKey("ab5454992-fabb2-4ba2-ad44f-1af65ds8b5c079");
request.setUser("[email protected]");
request.setFile(new File("/home/john/performanceGraphs.zip"));
AttachResponse response = client.alert().attach(request);
assert response.isSuccess();
Escalate To Next Request
Escalate to Next request is used to immediately process the next available rule in the specified escalation.
OpsGenieClient client = new OpsGenieClient();
client.setApiKey("ab5454992-fabb2-4ba2-ad44f-1af65ds8b5c079");
EscalateToNextRequest request = new EscalateToNextRequest();
request.setId("29c4d6f6-0919-40ec-8d37-4ab2ed2042c8");
EscalateToNextResponse response = client.alert().escalateToNext(request);
assert response.isSuccess();
Updated about 6 years ago