Create script.py

This commit is contained in:
Vallabh Chugh 2022-10-11 00:04:46 +05:30 committed by GitHub
parent 9c0438a2e2
commit c3cbaf2edf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -0,0 +1,47 @@
#!/usr/bin/env python
import json
import requests
#This Key should be available in .env file
ROUTING_KEY = "" # ENTER EVENTS V2 API INTEGRATION KEY HERE
# This function takes the payload info from the user and can be put in the right format
def trigger_incident(payload):
# Triggers a PagerDuty incident without a previously generated incident key
# Uses Events V2 API - documentation: https://v2.developer.pagerduty.com/docs/send-an-event-events-api-v2
header = {
"Content-Type": "application/json"
}
payload = { # Payload is built with the least amount of fields required to trigger an incident
"routing_key": ROUTING_KEY,
"event_action": "trigger",
"payload": {
"summary": "Azure Resource is expereiencing issues",
"source": f"{payload['resource_id']}",
"severity": "critical",
"component":f"{payload['tags']}",
"class":f"{payload['error_code']}",
"custom_details":f"{payload['system_data']}"
}
}
response = requests.post('https://events.pagerduty.com/v2/enqueue',
data=json.dumps(payload),
headers=header)
if response.json()["status"] == "success":
print('Incident created with with dedup key (also known as incident / alert key) of ' + '"' + response.json()['dedup_key'] + '"')
else:
print(response.text) # print error message if not successful
if __name__ == '__main__':
trigger_incident()