我无法使用python post通过使用pymsteams的webhook将json消息发送到microsoft团队频道。
因此,我有以下json(myTeamsMessage.payload)消息:
{'text': 'Pipeline Status', 'themeColor': '#FF0000', 'sections':
[
{'facts':
[
{'name': 'Server', 'value': u'<https://XXXX:8443/collector/pipeline/soap-post-v1>'},
{'name': 'Environment', 'value': u'dev'}, {'name': 'Issue', 'value': u'Pipeline status is [STOPPED]'}
]
},
{'facts':
[
{'name': 'Server', 'value': u'<https://xxxxx:8443/collector/pipeline/bb-4cc7-4c88-b6b6-be9694085a70>'},
{'name': 'Environment', 'value': u'dev'}, {'name': 'Issue', 'value': u'Pipeline status is [STOPPED]'}
]
},
{'facts':
[
{'name': 'Server', 'value': u'<https://XXXXX:8443/collector/pipeline/soap-post-v1_relations>'},
{'name': 'Environment', 'value': u'dev'}, {'name': 'Issue', 'value': u'Pipeline status is [STOPPED]'}
]
},
{'facts':
[
{'name': 'Server', 'value': u'<https://XXXXX:8443/collector/pipeline/characterstics-v1_allagents>'},
{'name': 'Environment', 'value': u'dev'}, {'name': 'Issue', 'value': u'Pipeline status is [EDITED]'}
]
},
{'facts':
[
{'name': 'Server', 'value': u'<https://XXXXXX:8443/collector/pipeline/ab23-8128b7c9fcf2>'},
{'name': 'Environment', 'value': u'dev'}, {'name': 'Issue', 'value': u'Pipeline status is [EDITED]'}
]
}
], 'title': 'SDC Monitor'}
我试着用
response = requests.post(teams_webhook, headers=headers, proxies=proxies, data=json.dumps(byteify(myTeamsMessage.payload)))
byteify是将unicode格式转换成普通字符串的东西,如下所示,我从这里得到了它
def byteify(input):
if isinstance(input, dict):
return {byteify(key): byteify(value)
for key, value in input.iteritems()}
elif isinstance(input, list):
return [byteify(element) for element in input]
elif isinstance(input, unicode):
return input.encode('utf-8')
else:
return input
我收到回复。状态代码为200,但在我的频道中看不到任何消息
我也试过了
response=requests.post(团队\u webhook,headers=headers,proxies=proxies,data=myTeamsMessage.payload)
然后我得到400,错误信息
有人能帮我吗
目前没有回答
相关问题 更多 >
编程相关推荐