I'm in the process of testing PagerDuty's integration with Solarwinds. We want to push some custom properties through the API calls to assist in PagerDuty call routing, on-call staffing and special call out features that we currently have in our alarming. The custom propterties I have are responsible team, primary contact, on call, alt contact & disposition.
I'm new to API's so I don't really know where to search and what I'm doing, so I figured what better place to go then Thwack. Here's what the the default API looks like:
{
"service_key": "${SQL: SELECT Nodes.PDIntegrationKey FROM Nodes WHERE NodeID='${NodeID}'}",
"incident_key": "${NodeName} ${N=SwisEntity;M=Status}",
"event_type": "trigger",
"description": "Alert: ${NodeName} is ${Status}",
"client": "SolarWinds",
"client_url": "${N=SwisEntity;M=DetailsUrl}",
"contexts": [
{
"type": "link",
"href": "${N=Alerting;M=AcknowledgeLink}",
"text": "Acknowledge in SolarWinds (Does not ack in PagerDuty)"
}
]
}
Here's what what I added that's not working, but hopefully you can see what I'm trying to do:
{
"service_key": "${SQL: SELECT Nodes.PDIntegrationKey FROM Nodes WHERE NodeID='${NodeID}'}",
"incident_key": "${NodeName} ${N=SwisEntity;M=Status}",
"event_type": "trigger",
"description": "Alert: ${NodeName} is ${Status}",
"client": "SolarWinds",
"client_url": "${N=SwisEntity;M=DetailsUrl}",
"details": {
"Responsible Team": "${N=SwisEntity;M=CustomProperties.ITD_Responsible_Team}",
"Primary Contact": "${N=SwisEntity;M=CustomProperties._Primary_Contact}:,
"On Call": "${N=SwisEntity;M=CustomProperties._Node_OnCall}",
"Alt Contact": "${N=SwisEntity;M=CustomProperties._Node_Alt_Contact}",
"Disposition": "${N=SwisEntity;M=CustomProperties._Disposition}",
}
"contexts": [
{
"type": "link",
"href": "${N=Alerting;M=AcknowledgeLink}",
"text": "Acknowledge in SolarWinds (Does not ack in PagerDuty)"
}
]
}
Any idea on what I'm doing wrong or pointers to make this work would be greatly appreciated.