Script Proxy for Marid
Marid is an open source tool provided by Opsgenie, it supports Groovy & Ruby scripting. Normally Opsgenie Java API methods can be directly used within Marid scripts. Opsgenie also provides a special proxy to easily execute actions against Opsgenie Web API :
- A special variable named opsgenie is available to Marid scripts
- Calls to opsgenie is converted to Java API calls, Java API calls communicate with Web API
- Using opsgenie is much easier then using Java API methods, less code more work
- Almost all Web API features available in ScriptProxy
- opsgenie can be used by both Groovy & Ruby scripts.
- opsgenie variable is an instance of com.ifountain.opsgenie.client.script.util.ScriptProxy
- ScriptProxy source code can be found at OpsgenieClient Github pages
- To store in memory shared data, use static methods of com.ifountain.opsgenie.client.marid.MemoryStore class. To get more information, please refer to Memory Store section.
user parameter is optional when using script proxy. If not provided, it uses the user in the conf file.
Other API Requests
- Users
- Teams
- Forwarding Rules
- Escalations
- Schedules
- Heartbeats
- Integrations
- Who is On-call
- Please refer to ScriptProxy source code for those which are not listed here : OpsgenieClient Github pages
Create Alert Request
Create alert request is used to create alerts in Opsgenie. It takes the following parameters:
Mandatory Parameters
Parameter | Limitation |
---|---|
message | Alert text limited to 130 character. |
Optional Parameters
Parameter | Description |
---|---|
teams | List of teams which will be responsible for the alert. Team escalation policies are run to calculate which users will receive notifications. |
alias | A user defined identifier for the alert and there can be only one alert with open status with the same alias. Provides ability to assign a known id and later use this id to perform additional actions such as log, close, attach for the same alert. |
description | To provide detailed information about the alert, limited to 15000 characters. |
actions | A comma separated list of actions that can be executed. Custom actions can be defined to enable users to execute actions for each alert. If action callback URL is specified on Settings page of customer, that callback URL will be called when action is executed. |
source | Field to specify source of alert. By default, it will be assigned to IP address of incoming request. |
tags | A comma separated list of labels attached to the alert. You can overwrite Quiet Hours setting for urgent alerts by adding OverwriteQuietHours tag. |
details | Set of user defined properties. This will be specified as a nested map such as "details" : { "prop1":"prop1Value" "prop2":"prop2Value" } |
entity | The entity the alert is related to. |
user | Default owner of the execution. If user is not specified, the owner of the account will be used. |
note | Additional alert note. |
Sample Request
opsgenie.createAlert(["message":"Sample Alert","note":"Alert note"])
Sample Advanced Request
opsgenie.createAlert([
"message":"Sample Alert",
"teams":[["id":"4513b7ea-3b91-438f-b7e4-e3e54af9147c"],["name":"rocket_team"]],
"description":"for demo usage",
"alias":"demo",
"tags":["demo","sample"],
"actions":["ping"]
])
Get Request Status Request
Get request status request is used to query the status of the request made to Opsgenie. Because some requests (e.g. Create Alert) made async, you can use this to query the status of the request after making it. It takes the following parameters:
Mandatory Parameters
Parameter | Description |
---|---|
requestId | Id of the request which is given in the response of the request that you want to query. |
Sample Request
opsgenie.getRequestStatus(["id":"8418d193-2dab-4490-b331-8c02cdd196b7"])
Response ( Groovy Map ) :
[
"data": [
"success": true,
"action": "Create",
"processedAt": "2017-05-24T14:24:20.844Z",
"integrationId": "c9cec2cb-e782-4ebb-bc1d-1b2fa703cf03",
"isSuccess": true,
"status": "Created alert",
"alertId": "8743a1b2-11da-480e-8493-744660987bef",
"alias": "8743a1b2-11da-480e-8493-744660987bef"
],
"took": 0.022,
"requestId": "ec7e1d8e-1c75-442e-a271-731070a7fa4d"
]
Close Alert Request
Close alert request is used to close open alerts in Opsgenie. It takes the following parameters:
Mandatory Parameters
Parameter | Description |
---|---|
id | Id of the alert that will be closed. |
alias | Alias of the alert that will be closed. |
tinyId | Short id assigned to the alert. |
One of id, alias or tinyId parameters should be specified with close alert request. Alias option can only be used for open alerts.
Optional Parameters
Parameter | Description |
---|---|
user | Default owner of the execution. If user is not specified, the owner of the account will be used. |
note | Additional alert note. |
source | User defined field to specify source of close action. |
Sample Request
opsgenie.closeAlert(["id":"123"])
Advanced Request
opsgenie.closeAlert(["alias":"demo","user":"[email protected]","note":"closing demo alert"])
Delete Alert Request
Delete alert request is used to delete alerts in Opsgenie. It takes the following parameters:
Mandatory Parameters
Parameter | Description |
---|---|
id | Id of the alert that will be deleted. |
alias | Alias of the alert that will be deleted. |
tinyId | Short id assigned to the alert. |
One of id, alias or tinyId parameters should be specified with delete alert request. Alias option can only be used for open alerts.
Optional Parameters
Parameter | Description |
---|---|
user | Default owner of the execution. If user is not specified, the owner of the account will be used. |
source | User defined field to specify source of delete action. |
Sample Request
opsgenie.deleteAlert(["id":"123"])
Get Alert Request
Get alert request is used to search and retrieve alerts in Opsgenie. It takes the following parameters:
Mandatory Parameters
Parameter | Description |
---|---|
id | Id of alert to be retrieved. |
alias | Alias of alert to be retrieved. |
tinyId | Short id assigned to the alert. |
One of id, alias or tinyId parameters should be specified with get alert request. Alias option can only be used for open alerts.
Sample request to retrieve a single alert
opsgenie.getAlert(["id":"123"])
opsgenie.getAlert(["alias":"demo"])
Response ( Groovy Map ) :
[
"id": "70413a06-38d6-4c85-92b8-5ebc900d42e2",
"tinyId": "1791",
"alias": "event_573",
"message": "Our servers are in danger",
"status": "closed",
"acknowledged": false,
"isSeen": true,
"tags": [
"OverwriteQuietHours",
"Critical"
],
"snoozed": true,
"snoozedUntil": "2017-04-03T20:32:35.143Z",
"count": 79,
"lastOccurredAt": "2017-04-03T20:05:50.894Z",
"createdAt": "2017-03-21T20:32:52.353Z",
"updatedAt": "2017-04-03T20:32:57.301Z",
"source": "Isengard",
"owner": "[email protected]",
"priority": "P5",
"teams": [
[
"id": "8418d193-2dab-4490-b331-8c02cdd196b7"
],
[
"id": "43a29c5c-3dbf-4fa4-9c26-f4f71023e120"
]
],
"integration": [
"id": "4513b7ea-3b91-438f-b7e4-e3e54af9147c",
"name": "Nebuchadnezzar",
"type": "API"
],
"report": [
"ackTime": 15702,
"closeTime": 60503,
"acknowledgedBy": "[email protected]",
"closedBy": "[email protected]"
],
"actions": ["Restart", "Ping"],
"entity": "EC2",
"description": "Example description",
"details": [
"serverName": "Zion",
"region": "Oregon"
]
]
List Alerts Request
List alerts request is used to list alerts in Opsgenie. It takes the following parameters:
Mandatory Parameters
Parameter |
---|
There is no mandatory parameter. |
Optional Parameters
Parameter | Description |
---|---|
query | Search query to apply while filtering the alerts. You can refer Alerts Search Query Help for further information about search queries. |
searchIdentifier | Identifier of the saved search query to apply while filtering the alerts. |
searchIdentifierType | Identifier type of the saved search query. Possible values are id and name. Default value is id. If searchIdentifier is not provided, this value is ignored. |
offset | Start index of the result set (to apply pagination). Minimum value (and also default value) is 0. |
limit | Maximum number of items to provide in the result. Must be a positive integer value. Default value is 20 and maximum value is 100. |
sort | Name of the field that result set will be sorted by. Default value is createdAt. Possible values are specified below:createdAt updatedAt tinyId alias message status acknowledged isSeen snoozed snoozedUntil count lastOccurredAt source owner integration.name integration.type report.ackTime report.closeTime report.acknowledgedBy report.closedBy |
order | Sorting order of the result set. Possible values are desc and asc. Default value is desc.desc : Sort result set in descending orderasc : Sort result set in ascending order |
**Sample requests to retrieve list of alerts
retrieve the last 20 alerts (20 is the default for limit, 100 is the max for limit)**
opsgenie.listAlerts([:]).each{ alert ->
logger.warn("Found alert ${alert.message}");
}
retrieve the last 10 closed alerts
opsgenie.listAlerts(["limit":10,"query":"status:open"])
Response ( Groovy List of Map ) :
[
[
"id": "70413a06-38d6-4c85-92b8-5ebc900d42e2",
"tinyId": "1791",
"alias": "event_573",
"message": "Our servers are in danger",
"status": "closed",
"acknowledged": false,
"isSeen": true,
"tags": [
"OverwriteQuietHours",
"Critical"
],
"snoozed": true,
"snoozedUntil": "2017-04-03T20:32:35.143Z",
"count": 79,
"lastOccurredAt": "2017-04-03T20:05:50.894Z",
"createdAt": "2017-03-21T20:32:52.353Z",
"updatedAt": "2017-04-03T20:32:57.301Z",
"source": "Isengard",
"owner": "[email protected]",
"priority": "P4",
"teams": [
[
"id": "8418d193-2dab-4490-b331-8c02cdd196b7"
],
[
"id": "43a29c5c-3dbf-4fa4-9c26-f4f71023e120"
]
],
"integration": [
"id": "4513b7ea-3b91-438f-b7e4-e3e54af9147c",
"name": "Nebuchadnezzar",
"type": "API"
],
"report": [
"ackTime": 15702,
"closeTime": 60503,
"acknowledgedBy": "[email protected]",
"closedBy": "[email protected]"
]
],
[
"id": "70413a06-38d6-4c85-92b8-5ebc900d42e2",
"tinyId": "1791",
"alias": "event_573",
"message": "Life is too short for shitty software",
"status": "open",
"acknowledged": false,
"isSeen": false,
"tags": [
"RandomTag"
],
"snoozed": false,
"count": 1,
"lastOccurredAt": "2017-03-21T20:32:52.353Z",
"createdAt": "2017-03-21T20:32:52.353Z",
"updatedAt": "2017-04-03T20:32:57.301Z",
"source": "Zion",
"owner": "",
"priority": "P5",
"teams": [],
"integration": [
"id": "4513b7ea-3b91-b7e4-438f-e3e54af9147c",
"name": "My_Lovely_Amazon",
"type": "CloudWatch"
]
]
]
List Alert Logs Request
List alert logs request is used to retrieve alert logs in Opsgenie. It takes the following parameters:
Mandatory Parameters
Parameter | Description |
---|---|
id | Id of alert to be retrieved. |
alias | Alias of alert to be retrieved. |
tinyId | tinyId of alert. |
One of id, alias or tinyId parameters should be specified with list alert logs request. Alias option can only be used for open alerts.
Optional Parameters
Parameter | Description |
---|---|
offset | Starting value of the offset property. |
direction | Page direction to apply for the given offset. Possible values are next and prev . Default value is next .next : Offset values of provided logs should be greater than the given offsetprev : Offset values of provided logs should be less than the given offset |
limit | Maximum number of items to provide in the result. Must be a positive integer value. Default value is 20 and maximum value is 100. |
order | Sorting order of the result set. Possible values are desc and asc . Default value is desc.desc : Sort result set in descending orderasc : Sort result set in ascending order |
*Sample request to retrieve a single alert
opsgenie.listAlertLogs(["id":"123"])
Response:
[
"logs": [
[
"log": "Alert acknowledged via web",
"type": "system",
"owner": "[email protected]",
"createdAt": "2017-04-12T12:27:52.838Z",
"offset": "1492000072838_1492000072838234593"
],
[
"log": "Viewed on [web]",
"type": "alertRecipient",
"owner": "[email protected]",
"createdAt": "2017-04-12T12:27:46.379Z",
"offset": "1492000066378_1492000066379000127"
]
],
"requestId": "174abe1b-e2a8-48d6-a747-05f012760988",
"took": 0.456,
"paging": [
"next": "https://api.opsgenie.com/v2/alerts/ee624ed0-3ee0-45be-9c9d-e7667eaf21e5/logs?identifierType=id&offset=1492000072838_1492000072838234593&direction=next&limit=2&order=desc",
"first": "https://api.opsgenie.com/v2/alerts/ee624ed0-3ee0-45be-9c9d-e7667eaf21e5/logs?identifierType=id&limit=2&order=desc"
]
]
List Alert Recipients Request
List alert recipients request is used to retrieve alert recipeints in Opsgenie. It takes the following parameters:
Mandatory Parameters
Parameter | Description |
---|---|
id | Id of alert to be retrieved. |
alias | Alias of alert to be retrieved. |
tinyId | tinyId of alert. |
One of id, alias or tinyId parameters should be specified with get alert request. Alias option can only be used for open alerts.
Sample request to retrieve a single alert
opsgenie.listAlertRecipients(["id":"123"])
Response:
[
"users": [
[
"user": [
"id": "2503a523-8ba5-4158-a4bd-7850074b5cca",
"username": "[email protected]"
],
"state": "action",
"method": "Acknowledge",
"createdAt": "2017-04-12T12:27:28.52Z",
"updatedAt": "2017-04-12T12:27:52.86Z"
],
[
"user": [
"id": "0966cfd8-fc9a-4f5c-a013-7d1f9318aef8",
"username": "[email protected]"
],
"state": "notactive",
"method": "",
"createdAt": "2017-04-12T12:27:28.571Z",
"updatedAt": "2017-04-12T12:27:28.589Z"
]
],
"took": 0.306,
"requestId": "d90a7fb5-f5b6-4e1a-a1d1-0a37bded6a32"
]
List Alert Notes Request
List alert notes request is used to retrieve alert notes in Opsgenie. It takes the following parameters:
Mandatory Parameters
Parameter | Description |
---|---|
id | Id of the alert to be retrieved. |
alias | Alias of alert to be retrieved. |
tinyId | Short id assigned to the alert. All requests supports tinyId but using this field is not recommended because it rolls. |
One of id, alias or tinyId parameters should be specified with list alert notes request. Alias option can only be used for open alerts.
Optional Parameters
Parameter | Description |
---|---|
offset | Starting value of the offset property. |
direction | Page direction to apply for the given offset. Possible values are next and prev . Default value is next .next : Offset values of provided logs should be greater than the given offsetprev : Offset values of provided logs should be less than the given offset |
limit | Maximum number of items to provide in the result. Must be a positive integer value. Default value is 20 and maximum value is 100 . |
order | Sorting order of the result set. Possible values are desc and asc . Default value is desc .desc : Sort result set in descending orderasc : Sort result set in ascending order |
Sample Request
opsgenie.listAlertNotes(["id" : "123"])
Response:
[
"notes": [
[
"note": "This is your last chance. After this, there is no turning back. You take the
blue pillβthe story ends, you wake up in your bed and believe whatever you want to believe. You
take the red pillβyou stay in Wonderland and I show you how deep the rabbit-hole goes.",
"owner": "[email protected]",
"createdAt": "2017-04-12T13:36:21.874Z",
"offset": "1492004181874000155"
],
[
"note": "You see there is only one constant. One universal. It is the only real truth: Causality. Action, reaction. Cause and effect.",
"owner": "[email protected]",
"createdAt": "2017-04-12T13:36:18.098Z",
"offset": "1492004178098000065"
]
],
"requestId": "fbbd807d-6024-4572-8d51-bd4a047617d0",
"took": 0.278,
"paging": [
"next": "https://api.opsgenie.com/v2/alerts/ee624ed0-3ee0-45be-9c9d-e7667eaf21e5/notes?identifierType=id&offset=1492004181874000155&direction=next&limit=2&order=desc",
"first": "https://api.opsgenie.com/v2/alerts/ee624ed0-3ee0-45be-9c9d-e7667eaf21e5/notes?identifierType=id&limit=2&order=desc"
]
]
Acknowledge Request
Acknowledge request is used to acknowledge alerts in Opsgenie. It takes the following parameters:
Mandatory Parameters
Parameter | Description |
---|---|
id | Id of the alert that will be acknowledged. |
alias | Alias of the alert that will be acknowledged. |
tinyId | tinyId of alert. |
One of id, alias or tinyId parameters should be specified with get alert request. Alias option can only be used for open alerts.
Optional Parameters
Parameter | Description |
---|---|
user | Default owner of the execution. If user is not specified owner of account will be used. |
note | Additional alert note. |
source | User defined field to specify source of acknowledge action. |
Sample Request
opsgenie.acknowledge(["id":"123", "user":"[email protected]"])
UnAcknowledge Request
UnAcknowledge request is used to revert back the alert state to un-acknowledged. It takes the following parameters:
Mandatory Parameters
Parameter | Description |
---|---|
id | Id of the alert that will be un-acknowledged. |
alias | Alias of the alert that will be un-acknowledged. |
tinyId | Short id assigned to the alert. All requests supports tinyId but using this field is not recommended because it rolls. |
One of id, alias or tinyId parameters should be specified with un-acknowledge alert request.
Optional Parameters
Parameter | Description |
---|---|
user | Default owner of the execution. If user is not specified, the system becomes owner of the execution. |
note | Additional alert note. |
source | User defined field to specify source of unacknowledge action. |
Sample Request
opsgenie.unAcknowledge(["id" : "123"])
Snooze Request
Snooze request is used to snooze alerts in Opsgenie. It takes the following parameters:
Mandatory Parameters
Parameter | Description |
---|---|
id | Id of the alert that will be snoozed. |
alias | Alias of the alert that will be snoozed. |
tinyId | short id assigned to the alert. All requests supports tinyId but using this field is not recommended because it rolls. |
endDate | The date and time snooze will end. |
One of id, alias or tinyId parameters should be specified with snooze alert request. Alias option can only be used for open alerts.
Optional Parameters
Parameter | Description |
---|---|
user | Default owner of the execution. If user is not specified, the system becomes owner of the execution. |
note | Additional alert note. |
source | User defined field to specify source of snooze action. |
Sample Request
opsgenie.snooze(["id" : "123", "endDate" : new Date("11/16/2016 08:00")])
Renotify Request
Renotify request is used to renotify recipients about specified alert in Opsgenie. It takes the following parameters:
Mandatory Parameters
id | Id of the alert that will be acknowledged. |
alias | Alias of the alert that will be acknowledged. |
tinyId | tinyId of alert. |
One of id, alias or tinyId parameters should be specified with renotify alert request. Alias option can only be used for open alerts.
Optional Parameters
Parameter | Description |
---|---|
recipients | The user names of individual users or groups. If not specified alert recipients will be renotified. |
user | Default owner of the execution. If user is not specified owner of account will be used. |
note | Additional alert note. |
source | User defined field to specify source of renotify action. |
Sample Request
opsgenie.renotify(["id":"123"])
Take Ownership Request
Take ownership request is used to take the ownership of the alerts in Opsgenie. It takes the following parameters:
Mandatory Parameters
id | Id of the alert whose ownership will be taken. |
alias | Alias of the alert whose ownership will be taken. |
tinyId | tinyId of alert. |
One of id, alias or tinyId parameters should be specified with take ownership request. Alias option can only be used for open alerts.
Optional Parameters
Parameter | Description |
---|---|
user | Default owner of the execution. If user is not specified owner of account will be used. |
note | Additional alert note. |
source | User defined field to specify source of takeownership action. |
Sample Request
opsgenie.takeOwnership(["id":"123", "user":"[email protected]"])
Count Alerts Request
Count alerts request is used to counts alerts in Opsgenie. It takes the following parameters:
Mandatory Parameters
Parameter | Description |
---|---|
apiKey | API key is used for authenticating API requests. |
Optional Parameters
Parameter | Description |
---|---|
createdAfter | Unix timestamp value which is converted to nano second. Request will return all alerts which are created after specified time. |
createdBefore | Unix timestamp value which is converted to nano second. Request will return all alerts which are created before specified time. |
updatedAfter | Unix timestamp value which is converted to nano second. Request will return all alerts which are updated after specified time. |
updatedBefore | Unix timestamp value which is converted to nano second. Request will return all alerts which are updated before specified time. |
limit | For performance reasons, the desired result is to limit that count. Max: 100000, default: 100000 |
status | Used to query alerts with specified status. May take one of open, acked, unacked, seen, notseen, closed |
tags | A comma separated list of labels attached to the alert such as "tag1, tag2" |
tagsOperator | tags are combined with tagsOperator like "tag1 and tag2" when filtered. Accepted values: and/or, default: and. |
Sample Request
opsgenie.countAlerts(["status":"open"])
Assign Request
Assign request is used to assign the ownership of the alerts in Opsgenie. It takes the following parameters:
Mandatory Parameters
Parameter | Description |
---|---|
id | Id of the alert that will be assigned. |
alias | Alias of the alert that will be assigned. |
tinyId | tinyId of alert. |
owner | User that the alert will be assigned to. Either id or username of the user should be provided. |
One of id, alias or tinyId parameters should be specified with assign alert request. Alias option can only be used for open alerts.
Optional Parameters
Parameter | Description |
---|---|
user | Default owner of the execution. If user is not specified, the owner of the account will be used. |
note | Additional alert note. |
source | User defined field to specify source of assign action. |
Sample Request
opsgenie.assign(["id":"123", "owner":["id":"4513b7ea-3b91-438f-b7e4-e3e54af9147c"]])
Add Team Request
Add team request is used to add a new team to alerts in Opsgenie. It takes the following parameters:
Mandatory Parameters
Parameter | Description |
---|---|
id | Id of the alert that the new team will be added. |
alias | Alias of the alert that the new team will be added. |
tinyId | tinyId of alert. |
team | Team to route the alert. Either id or name of the team should be provided. |
One of id, alias or tinyId parameters should be specified with add team request. Alias option can only be used for open alerts.
Optional Parameters
Parameter | Description |
---|---|
user | Default owner of the execution. If user is not specified, the owner of the account will be used. |
note | Additional alert note. |
source | User defined field to specify source of add team action. |
Sample Request
opsgenie.addTeam(["id":"123", "team":["id":"4513b7ea-3b91-438f-b7e4-e3e54af9147c"]])
Add Recipient Request
Add recipient request is used to add new recipients(user or group) to alerts in Opsgenie. It takes the following parameters:
Mandatory Parameters
Parameter | Description |
---|---|
id | Id of the alert that the new recipient will be added. |
alias | Alias of the alert that the new recipient will be added. |
tinyId | tinyId of alert. |
recipient | The new recipient that will be added. |
One of id, alias or tinyId parameters should be specified with REQUEST_NAME alert request. Alias option can only be used for open alerts.
Optional Parameters
Parameter | Description |
---|---|
user | Default owner of the execution. If user is not specified, the owner of the account will be used. |
note | Additional alert note. |
source | User defined field to specify source of add recipient action. |
Sample Request
opsgenie.addRecipient(["id":"123", "recipient":"[email protected]"])
Add Tags Request
Add Tags request is used to add new tags to alerts in Opsgenie. It takes the following parameters:
Mandatory Parameters
Parameter | Description |
---|---|
id | Id of the alert that new tags will be added. |
alias | Alias of the alert that new tags will be added. |
tinyId | tinyId of alert. |
tags | List of tags will be added to the alert. |
One of id, alias or tinyId parameters should be specified with add tags request. Alias option can only be used for open alerts.
Optional Parameters
Parameter | Description |
---|---|
user | Default owner of the execution. If user is not specified, the owner of the account will be used. |
note | Additional alert note. |
source | User defined field to specify source of add tags action. |
Sample Request
opsgenie.addTags(["id":"123", "tags":["autoClose", "support"]])
Remove Tags Request
Remove Tags request is used to remove tags from alerts in Opsgenie. It takes the following parameters:
Mandatory Parameters
Parameter | Description |
---|---|
id | Id of the alert given tags will be removed. |
alias | Alias of the alert given tags will be removed. |
tinyId | tinyId of alert. |
tags | List of tags will be removed from the alert. |
One of id, alias or tinyId parameters should be specified with remove tags request. Alias option can only be used for open alerts.
Optional Parameters
Parameter | Description |
---|---|
user | Default owner of the execution. If user is not specified, the owner of the account will be used. |
note | Additional alert note. |
source | User defined field to specify source of remove tags action. |
Sample Request
opsgenie.removeTags(["id":"123", "tags":["autoClose", "support"]])
Add Details Request
Add details request is used to add properties to alert details in Opsgenie. If you send an existing alert property's key, it overwrites the existing one. It takes the following parameters:
Mandatory Parameters
Parameter | Description |
---|---|
id | Id of the alert that details will be added. |
alias | Alias of the alert that details will be added. |
tinyId | Short id assigned to the alert. All requests supports tinyId but using this field is not recommended because it rolls. |
details | Set of properties to be added to alert details. |
One of id, alias or tinyId parameters should be specified with add details request. Alias option can only be used for open alerts.
Optional Parameters
Parameter | Description |
---|---|
user | Default owner of the execution. If user is not specified, the system becomes owner of the execution. |
source | User defined field to specify source of add details action. |
note | Additional alert note. |
Sample Request
opsgenie.addDetails(["id" : "123", "details" : ["prop1" : "val1", "prop2" : "val2"]])
Remove Details Request
Remove details request is used to remove properties from alert details in Opsgenie. It takes the following parameters:
Mandatory Parameters
Parameter | Description |
---|---|
id | Id of the alert that details properties will be removed from. |
alias | Alias of the alert that details properties will be removed from. |
tinyId | Short id assigned to the alert. All requests supports tinyId but using this field is not recommended because it rolls. |
keys | List of keys of alert details properties. |
One of id, alias or tinyId parameters should be specified with remove details request. Alias option can only be used for open alerts.
Optional Parameters
Parameter | Description |
---|---|
user | Default owner of the execution. If user is not specified, the system becomes owner of the execution. |
source | User defined field to specify source of remove details action. |
note | Additional alert note. |
Sample Request
opsgenie.removeDetails(["id" : "123", "keys" : ["key1", "key2"]])
Add Note Request
Add note request is used to add notes to alerts in Opsgenie. It takes the following parameters:
Mandatory Parameters
Parameter | Description |
---|---|
id | Id of the alert that note will be added. |
alias | Alias of the alert that note will be added. |
tinyId | tinyId of alert. |
note | Note text. |
One of id, alias or tinyId parameters should be specified with add note request. Alias option can only be used for open alerts.
Optional Parameters
Parameter | Description |
---|---|
user | Default owner of the execution. If user is not specified, the owner of the account will be used. |
source | User defined field to specify source of add note action. |
Sample Request
opsgenie.addNote(["id":"123", "note":"Sample Note"]);
Execute Action Request
Execute action request is used to execute predefined actions on alerts in Opsgenie. It takes the following parameters:
Mandatory Parameters
Parameter | Description |
---|---|
id | Id of the alert that action will be executed for. |
alias | Alias of the alert that action will be executed for. |
tinyId | tinyId of alert. |
action | Action to execute. |
One of id, alias or tinyId parameters should be specified with execute action request. Alias option can only be used for open alerts.
Optional Parameters
Parameter | Description |
---|---|
user | Default owner of the execution. If user is not specified, the owner of the account will be used. |
note | Additional alert note. |
source | User defined field to specify source of action execution. |
Sample Request
opsgenie.executeAlertAction(["id":"123", "action":"ping"])
Attach File Request
Attach file request is used to attach files to alerts in Opsgenie. It should be sent as multipart HTTP request. It takes the following parameters:
Mandatory Parameters
Parameter | Description |
---|---|
id | Id of the alert that attachment will be added. |
alias | Alias of the alert that attachment will be added. |
tinyId | tinyId of alert. |
attachment | Attachment file content. |
One of id, alias or tinyId parameters should be specified with attach file request. Alias option can only be used for open alerts.
Optional Parameters
Parameter | Description |
---|---|
user | Default owner of the execution. If user is not specified owner of account will be used. |
source | User defined field to specify source of attach action. |
indexFile | Name of html file which will be shown when attachment clicked on UI. If it is not specified, following rules will be applied by order to determine index file name if it is not a zip file, it will be assigned to attachment file name If it is a zip file, it will be assigned to HTML file whose name equals attachment file name index.htm or index.html file the first HTML file found in the ZIP If no HTML file exists, it will be assigned to attachment zip file name and zip file will be downloaded from Opsgenie web site directly when clicked on attachment. |
note | Additional alert note. |
Sample Request
opsgenie.attach(["id":"123", "attachment":"sample.txt"])
Escalate To Next Request
Escalate to Next request is used to immediately process the next available available rule in the specified escalation. It takes the following parameters:
For more details see Escalate to Next documentation page
Mandatory Parameters
Parameter | Description |
---|---|
id | Id of the alert that details will be added. |
alias | Alias of the alert that details will be added. |
tinyId | Short id assigned to the alert. All requests supports tinyId but using this field is not recommended because it rolls. |
escalation | Escalation that the alert will be escalated. Either id or name of the escalation should be provided. |
One of id, alias or tinyId parameters should be specified with escalate to next request. Alias option can only be used for open alerts.
Optional Parameters
Parameter | Description |
---|---|
user | Default owner of the execution. If user is not specified, the system becomes owner of the execution. |
note | Additional alert note. |
source | User defined field to specify source of unacknowledge action. |
Sample Request
opsgenie.escalateToNext(["id" : "123", "escalation":["name":"Operations_Escalation"]])
Create Saved Search Request
Create saved search request is used to create a new saved search query in Opsgenie. It takes the following parameters:
Mandatory Parameters
Parameter | Description |
---|---|
name | Unique name of the saved search. Maximum length is 100 characters. |
query | Search query to be used while filtering the alerts. Maximum length is 1000 characters. |
owner | User that will be assigned as owner of the saved search. Saved searches are always accessible to their owners. |
Optional Parameters
Parameter | Description |
---|---|
description | Informational description of the saved search. Maximum length is 15000 characters. |
teams | Teams that saved search is assigned to. If a saved-search is assigned to at least one team, saved-search will only be accessible to the owner and members of the assigned teams. A saved-search can be assigned to at most 20 teams. |
Sample Request
opsgenie.addSavedSearch(["name":"New Saved Search", "query":"status=Open", "owner":["username":"[email protected]"]])
Delete Saved Search Request
Delete saved search request is used to delete a saved search query in Opsgenie. It takes the following parameters:
Mandatory Parameters
Parameter | Description |
---|---|
name | Unique name of the saved search. Maximum length is 100 characters. |
id | Unique ID of the saved search. |
One of id or name parameters should be specified with delete saved search request.
Sample Request
opsgenie.deleteSavedSearch(["name":"My Saved Search"]])
Get Saved Search Request
Get saved search request is used to get a saved search query in Opsgenie. It takes the following parameters:
Mandatory Parameters
Parameter | Description |
---|---|
name | Unique name of the saved search. Maximum length is 100 characters. |
id | Unique ID of the saved search. |
One of id or name parameters should be specified with get saved search request.
Sample Request
opsgenie.getSavedSearch(["id":"8418d193-2dab-4490-b331-8c02cdd196b7"]])
List Saved Search Request
List saved search request is used to list saved search queries in Opsgenie. It takes the following parameters:
Mandatory Parameters
Parameter |
---|
There is no mandatory parameter. |
Sample Request
opsgenie.listSavedSearch([:]])
Response ( Groovy Map ) :
[
"data": [
[
"id": "62dca743-bddc-4d17-99ab-6d8e0c066d1c",
"name": "unacked alerts query"
],
[
"id": "3155ddd1-8d6c-438e-9cdd-28b31edca301",
"name": "team apollo alerts"
],
[
"id": "d8b16789-3b71-48e4-9ff2-48a76a789137",
"name": "Critical_Open_Alerts"
]
],
"requestId": "fbd4a99d-aa05-4549-870d-02fa3d6395e5"
]
Memory Store
You may need to load data to memory and use it later action executions. Opsgenie Marid provides com.ifountain.opsgenie.client.marid.MemoryStore class to meet these needs.
Memory Store class has following helper methods:
Store
Store method adds data as key,value pair into the memory.
Example Usage
import com.ifountain.opsgenie.client.marid.MemoryStore
MemoryStore.store("prop1","val1")
Lookup
Lookup method checks the memory and retrieves the data with the given key if exists.
Example Usage
import com.ifountain.opsgenie.client.marid.MemoryStore
def prop = MemoryStore.lookup("prop1")
Remove
Remove method removes the data with the given key, if exists.
Example Usage
import com.ifountain.opsgenie.client.marid.MemoryStore
MemoryStore.remove("prop1")
Reset
Reset method clears the in memory data store.
Example Usage
import com.ifountain.opsgenie.client.marid.MemoryStore
MemoryStore.reset()
Updated about 6 years ago