使用松弛Webhook的Feed字符串

时间:2019-06-28 14:50:55

标签: python slack

所以基本上,我有一组数据(域名,严重性得分),它们都是字符串格式的,而我正试图让它以松弛状态发布,并且不断抛出错误,我不知道为什么。感谢您的帮助。

我尝试了一下更改JSON部分的方法,以查看是否正是这样,以及更改了通常发送给函数的内容,没有任何帮助。

def slackHook(post):     webhook_url =#省略

slack_content = {"channel": "@brian", "user": "Awesom-O", "attachment": [{
 "type": "section",
 "text": {
  "text": "Random message before domains",
  "type": "mrkdwn",
     },
 "fields": [
  {
   "type": "mrkdwn",
   "text": "Domain             Severity Score"
  },
  {
   "type": "plain_text",
   "text": post
  }
 ]
}]}
string_payload = json.dumps(slack_content)
r = requests.post(webhook_url, data=string_payload)
if r.status_code != 200:
    raise ValueError('Request to slack.com returned an error %s, the response is:\n%s' % (r.status_code, r.text))


domains = db_query()
domains = str(domains)
slackHook(domains)

快乐之路:我只想使用我的字符串,并使用为上下文指定的字段将其发布到我的松弛频道中。

当前错误:

raise ValueError('Request to slack.com returned an error %s, the response is:\n%s' % (r.status_code, r.text))

ValueError: Request to slack.com returned an error 400, the response is:
no_text

1 个答案:

答案 0 :(得分:0)

您的主要问题是,您在混合使用不同概念的附件和块的语法。附件已过时,不应再使用。

只需将"attachment"替换为"blocks",就像这样:

slack_content = {"channel": "@brian", "user": "Awesom-O", "blocks": [{