Skip to content

Instantly share code, notes, and snippets.

@mcm
Created October 30, 2015 02:52
Show Gist options
  • Save mcm/bc45dd9ddfc95930c6fe to your computer and use it in GitHub Desktop.
Save mcm/bc45dd9ddfc95930c6fe to your computer and use it in GitHub Desktop.
import logging
import json
import requests
OPSGENIE_API_KEY = ""
ZENDESK_USERNAME = ""
ZENDESK_API_KEY = ""
logger = logging.getLogger()
logger.setLevel(logging.INFO)
def getOpsgenieAlert(alertId):
params ={
"apiKey": OPSGENIE_API_KEY,
"id": alertId,
}
r = requests.get("https://api.opsgenie.com/v1/json/alert", params=params)
return r.json()
def assignZendeskTicket(ticketId, userEmail):
data = {
"ticket": {
"assignee_email": userEmail
}
}
url = "https://hurricanelabs.zendesk.com/api/v2/tickets/{0}.json".format(ticketId)
auth = (
ZENDESK_USERNAME + "/token",
ZENDESK_API_KEY
)
r = requests.put(url, json=data, auth=auth)
return r.json()
def main(event, context):
logger.debug(json.dumps(event))
if event["action"] != "Acknowledge":
return
ogAlert = getOpsgenieAlert(event["alert"]["alertId"])
ogUser = event["alert"]["username"]
response = assignZendeskTicket(ogAlert["details"]["ticket_id"], ogUser)
logger.debug(json.dumps(response))
return response
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment