bat curl 发送json钉钉消息

由于是写在bat脚本里,太长不好看,所以我采用变量拼接的方式来编写脚本

bat cmd 脚本(my_ding.bat)下可以使用如下的方式

set curl="C:Program FilesGitmingw64incurl.exe"
call:ding_notify  ftp://192.168.1.1/test_dir/
exit 0

:ding_notify
   :: 你自己的钉钉机器人的token
    set ding_token=12121xxxx
    set ding_url="https://oapi.dingtalk.com/robot/send"
    :: %1是你传入的变量,我采用的是传变量的方式,因为我多个地方要使用钉钉消息发送,如果你不想采用函数传变量的方式,你可以直接把%1换成你的变量值就可以了
    %curl% "%ding_url%?access_token=%ding_token%" -H "Content-Type:application/json" -X POST --data {"msgtype":"text","text":{"content":"path=%1"}} 
    goto:eof

重点:data里的内容一定不能有空格,千万不能有空格,就算最后的content里的内容也不能有空格,反正我因为空格折腾了很久

至于git bash 就简单多了,和linux下差不多:

ding_url="https://oapi.dingtalk.com/robot/send?access_token=12123xxxx"

ding_ftp=ftp://192.168.1.1/test_dir/

curl $ding_url -H 'Content-Type: application/json' -d '{"msgtype": "text","text": {"content": "test_S新包! '$ding_ftp'"}}'

如果你以后还是收不到钉钉消息,记得看看机器人里的关键字有没有匹配上。

关于如何搭建钉钉机器人,请参考我的另一篇博客:

jenkins 设置钉钉机器人+jenkins调用shell脚本使用钉钉机器人自定义发消息并通知指定人

原文地址:https://www.cnblogs.com/zndxall/p/14668135.html