如何使用 webhook 和 Python 向 slack 发送错误消息?
How to send error message to slack using webhook and Python?
我有几个 Python 函数。如果出现任何错误,我想将错误消息发送给 slack。为此,我在代码的 except 块中添加了以下行 -
except Exception as ex:
msg = 'There is a problem with csv generation due to: {}'.format(ex)
logger.info(msg)
send_message("web_hook_url",msg)
我的 send_message() 如下所示-
def send_message(webhook_url, message):
response = requests.post(
webhook_url, data=json.dumps(message),
headers={'Content-Type': 'application/json'}
)
if response.status_code != 200:
raise ValueError(
'Request to slack returned an error %s, the response is:\n%s'
% (response.status_code, response.text)
)
我看到了以下内容 link slack webhook post 但是我很困惑如何在我的 except 代码块中使用我的 send_message()?
谁能帮我实现这个目标?
您的有效载荷中必须有一个名为 "text" 的密钥。
def send_message(self, message):
payload = {"text": message}
try:
return requests.post(self.url, data=json.dumps(payload), headers={'Content-Type': 'application/json'})
except requests.exceptions.RequestException as e:
print e.message
return False
关于如何使用它的问题,您可以像这样格式化您的消息:
{
"message": ex.message
}
也看看这个工具Sentry
请求中的数据需要格式正确,所以..
logger.info(msg)
slackmsg = {"text": msg}
send_message(self, slackmsg)
我有几个 Python 函数。如果出现任何错误,我想将错误消息发送给 slack。为此,我在代码的 except 块中添加了以下行 -
except Exception as ex:
msg = 'There is a problem with csv generation due to: {}'.format(ex)
logger.info(msg)
send_message("web_hook_url",msg)
我的 send_message() 如下所示-
def send_message(webhook_url, message):
response = requests.post(
webhook_url, data=json.dumps(message),
headers={'Content-Type': 'application/json'}
)
if response.status_code != 200:
raise ValueError(
'Request to slack returned an error %s, the response is:\n%s'
% (response.status_code, response.text)
)
我看到了以下内容 link slack webhook post 但是我很困惑如何在我的 except 代码块中使用我的 send_message()?
谁能帮我实现这个目标?
您的有效载荷中必须有一个名为 "text" 的密钥。
def send_message(self, message):
payload = {"text": message}
try:
return requests.post(self.url, data=json.dumps(payload), headers={'Content-Type': 'application/json'})
except requests.exceptions.RequestException as e:
print e.message
return False
关于如何使用它的问题,您可以像这样格式化您的消息:
{
"message": ex.message
}
也看看这个工具Sentry
请求中的数据需要格式正确,所以..
logger.info(msg)
slackmsg = {"text": msg}
send_message(self, slackmsg)