共计 930 个字符,预计需要花费 3 分钟才能阅读完成。
欢迎加入前端交流群:749539640
svn 其实也和 github 一样有自己的钩子,我们先看下效果
钉钉机器人配置(webhook 生成)
设置 => 添加机器人
添加自定义机器人,这里的关键词添加
#
即可
复制 webhook
svn 设置
我们进入到 svn 的服务器代码目录,会看到有个 hooks 的文件夹
目前 svn 提供了 5 个 hooks,今天我们只介绍 post-commit
参考
它在事务完成后运行,创建一个新的修订版本。大多数人用这个钩子来发送关于提交的描述性电子邮件,或者作为版本库的备份。版本库传给程序两个参数:到版本库的路径和被创建的新的修订版本号。退出程序会被忽略。
接下来我们进入 hooks 文件夹,执行
vim post-commit
如果没有会自动新建此文件
键入代码
#!/bin/bash
# svn 中变量 1 为仓库路径,2 为提交版本号
REPOS="$1"
REV="$2"
# 设置默认字符集,否则 post 信息到钉钉时中文乱码
export LANG=en_US.UTF-8
# 下方 svnlook 命令获取相应的结果
time=$(date +%F/%T)
AUTHOR=$(/bin/svnlook author -r ${REV} ${REPOS})
CHANGEDDIRS=$(/bin/svnlook dirs-changed $REPOS)
MESSAGE=$(/bin/svnlook log -r $REV $REPOS)
CONTENT= 提交时间:${time}\\n 提交版本:#${REV}\\n 提交者:${AUTHOR}\\n 提交备注:${MESSAGE}\\n 修改目录:$CHANGEDDIRS
curl 'https://oapi.dingtalk.com/robot/send?access_token= 这里输入你的 webhooks 的 token' \
-H 'Content-Type: application/json' \
-d '{"msgtype":"text","text": {"content":"'$CONTENT'"}
}'
我说一下之前钉钉 webhoos 生成时候安全设置的
#
号和上述代码中提交版本后的#
对应了起来
最后测试效果就是文字开始的图片!每次提交代码都会触发 postcommit hook 自动推送信息到钉钉
正文完