美文网首页
使用requests包实现调用slack API发送消息

使用requests包实现调用slack API发送消息

作者: 蒙浩 | 来源:发表于2021-12-03 15:01 被阅读0次

    随着Slack工具的普及,越来越多的工作交流会在slack 的channel中进行。那么是不是可以把某些持续集成测试的结果或是告警之类的信息通过Slack发送给运维人员呢。

    python有成熟的第三方lib支持Slack发送消息的功能,比如slack_sdk以及slackclient这两个库,本文提供了除了这两个库外,只使用requests库来实现slack消息通知的功能。
    代码如下:

    import requests
    import json
    Token = "xxxxxxxxxxx"
    
    
    def sendMessage(message):
        channel = '#test-slack'
        payload = {"text": message, "channel": channel, "link_names": True}
        data = json.dumps(payload).encode("utf8")
        url = 'https://slack.com/api/chat.postMessage'
        header = {"Content-Type": "application/json; charset=utf-8", "Authorization": "Bearer " + Token}
        response = requests.post(url, data=data, headers=header)
        print(response.text)
    
    
    if __name__ == "__main__":
        sendMessage("@ixxxxxx hi, Mike")
    

    Token需要我们到https://app.slack.com/apps这个网址去新增apps,这里可以选择Bot,作为通知的消息发起人,在配置Bot的地方,你会找到Slack Token。

    image.png
    将Token替换为你的apps的Token后,运行脚本,就可以完成发送消息的操作了。

    如果你想有@某人的效果,payload里的link_names要为True。

    相关文章

      网友评论

          本文标题:使用requests包实现调用slack API发送消息

          本文链接:https://www.haomeiwen.com/subject/bempxrtx.html