in jobs/eam-integrations/scripts/api/XMatters/XMatters.py [0:0]
def add_work_email_device(xm_user):
logger.info("Adding device %s to XMatters" % (xm_user["targetName"]))
url = _config.base_URL + "/devices"
if USE_BASIC_AUTH:
headers = {"Content-Type": "application/json"}
else:
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer " + get_access_token(),
}
if not re.search("@", xm_user["targetName"]):
logger.error(
"NOT adding device for %s because that ain't no email address!"
% xm_user["targetName"]
)
return False
device_data = {
"recipientType": "DEVICE",
"deviceType": "EMAIL",
"owner": xm_user["id"],
"name": "Work Email",
"emailAddress": xm_user["targetName"],
"delay": 0,
"priorityThreshold": "MEDIUM",
"testStatus": "UNTESTED",
}
if USE_BASIC_AUTH:
response = requests.post(
url,
headers=headers,
auth=(_config.xm_username, _config.xm_password),
data=json.dumps(device_data),
proxies=_config.proxies,
)
else:
response = requests.post(
url, headers=headers, data=json.dumps(device_data), proxies=_config.proxies
)
if response.status_code == 201:
return True
else:
logger.critical(
"ERROR: something went wrong adding device for user %s"
% (xm_user["targetName"])
)
logger.critical(response)
logger.critical(response.content)
raise Exception(response.content)