svnhook---用户提交后,解析用户的提交信息,发送到企业微信机器人
一:第一篇写到了在用户提交时做检测,不允许不填写提交日志和特定的信息,感兴趣的可以查看
https://www.cnblogs.com/a565810497/p/18369876
二:现在来写一个用户成功提交后,我们拿到svn的提交日志,通过企业微信机器人发送到群组里
三:下面是具体操作
- 先复制一个脚本,去掉tmpl后缀,并且给上执行权限,还是在svn的hooks路径下
mv post-commit.tmpl post-commit chmod +x post-commit
- 脚本的具体内容
1 #!/bin/sh 2 export LANG="en_US.UTF-8" 3 export LC_CTYPE="en_US.UTF-8" 4 export LC_ALL="en_US.UTF-8" 5 6 REPOS="$1" 7 REV="$2" 8 LOGFILE="/svn/svn_post_commit.log" 9 SVNLOOK=/usr/bin/svnlook 10 11 # 获取提交日志内容 12 LOGMSG=$($SVNLOOK log -r $REV $REPOS) 13 14 # 获取提交者 15 AUTHOR=$($SVNLOOK author -r $REV $REPOS) 16 17 # 获取提交时间 18 DATE=$($SVNLOOK date -r $REV $REPOS) 19 20 # 构建消息 21 MESSAGE=$(printf "提交者: %s\n时间: %s\n日志:\n%s" "$AUTHOR" "$DATE" "$LOGMSG" | sed 's/"/\\"/g; s/\n/\\n/g') 22 23 24 #发送到企业微信 25 WEBHOOK_URL="xxxx"你的企业微信机器人的webhook 26 JSON_PAYLOAD=$(cat <<EOF 27 { 28 "msgtype": "text", 29 "text": { 30 "content": "$MESSAGE" 31 } 32 } 33 EOF 34 ) 35 curl -X POST "$WEBHOOK_URL" -H 'Content-Type: application/json' -d "$JSON_PAYLOAD" >> $LOGFILE 2>&1 36 37 exit 0
- 如何创建企业微信机器人以及获得webhook可以自行到网上搜索,这一步较为简单
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?