首页 > 其他分享 >svnhook---用户提交后,解析用户的提交信息,发送到企业微信机器人

svnhook---用户提交后,解析用户的提交信息,发送到企业微信机器人

时间:2024-08-20 17:28:03浏览次数:6  
标签:微信 REPOS REV 用户 提交 commit post

一:第一篇写到了在用户提交时做检测,不允许不填写提交日志和特定的信息,感兴趣的可以查看  

https://www.cnblogs.com/a565810497/p/18369876

二:现在来写一个用户成功提交后,我们拿到svn的提交日志,通过企业微信机器人发送到群组里

三:下面是具体操作

  1. 先复制一个脚本,去掉tmpl后缀,并且给上执行权限,还是在svn的hooks路径下
    mv post-commit.tmpl  post-commit
     
    chmod +x post-commit

     

  2. 脚本的具体内容
     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

     

  3. 如何创建企业微信机器人以及获得webhook可以自行到网上搜索,这一步较为简单

标签:微信,REPOS,REV,用户,提交,commit,post
From: https://www.cnblogs.com/a565810497/p/18369893

相关文章

  • ToughRADIUS 快速安装指南 - 搭建开源用户认证
    ToughRADIUS快速安装指南ToughRADIUS是一种健壮、高性能、易于扩展的开源RADIUS服务器。本指南将引导您快速地在您的系统上安装和配置ToughRADIUS服务。当前版本是基于Go语言开发的。开源项目地址:https://github.com/talkincode/toughradius官方文档:https://www.to......
  • uni-app vue3 实现微信朋友圈和朋友分享功能
     1.新建share.jsexportdefault{data(){return{}},//1.配置发送给朋友onShareAppMessage(){return{title:'分享的标题',//分享的标题path:'pages/index',//点击分享链接之后进入的页面路径imageUrl:''//分享发......
  • ORA-01940 无法删除当前连接的用户
    ---------------------------------------------------------------------------bayaim----2024年8月20日15:37:53------------------------------------------------------------------------问题背景:想删除用户下所有的对象1、问题现象:执行命令,删除用户:dropuser......
  • 微信小程序如何实现组件之间的数据传递?
    在微信小程序中,组件之间的数据传递主要有以下几种方式:父组件向子组件传值:父组件可以通过设置子组件的属性(properties)来传递数据。首先,在子组件的.json文件中定义properties:{"component":true,"usingComponents":{},"properties":{"myProperty":{......
  • 围观|微信小程序开发数据绑定最佳实践?
    在微信小程序开发中进行数据绑定时,遵循一些最佳实践可以帮助你编写更高效、可维护的代码。以下是一些数据绑定的最佳实践:1.保持数据简洁尽量保持data对象中的数据简洁明了,避免嵌套过深的数据结构。这样可以减少数据更新的复杂性,提高代码的可读性。Page({data:{......
  • uniapp微信小程序的拍照功能
    1.实现的效果2.实现代码(1)pages/index/index中<template> <viewclass="content"> <imageclass="logo"src="/static/header.jpg"></image> <viewclass="text-area"> <buttonclass="......
  • IOS 12 自定义用户协议对话框
    实现效果实现逻辑本文使用QMUI里面提供的控制器+自定义控件实现。添加依赖#腾讯开源的UI框架,提供了很多功能,例如:圆角按钮,空心按钮,TextView支持placeholder#https://github.com/QMUI/QMUIDemo_iOS#https://qmuiteam.com/ios/get-startedpod"QMUIKit"还不了解如何使......
  • MySQL5.7 用户设置密码解决方法
    1:执行修改用户的密码时,一直报错:即修改密码命令:mysql>alteruser'root'@'localhost'identifiedby'123456';报错如下:mysql>alteruser'root'@'localhost'identifiedby'123456';ERROR1396(HY000):OperationALTE......
  • 基于微信小程序的甜品销售系统的设计与实现-计算机毕业设计源码51887
    摘 要随着移动互联网的快速发展和智能手机的普及,外卖行业已成为人们日常生活中不可或缺的一部分。然而,传统的外卖方式存在操作繁琐、信息不准确等问题。为解决这些问题,本项目设计并实现了一款基于微信小程序的甜品销售系统。该系统通过微信小程序作为前端界面,结合后端技术......
  • 鲁大师:工具软件“霸主”跌落神坛,用户争议不断
    在资本市场的冷眼下,鲁大师正面临着前所未有的挑战。从股价的持续低迷到用户口碑的急剧下滑,再到核心业务的疲态尽显,鲁大师仿佛陷入了一个难以自拔的泥潭。而这一切,似乎都在预示着其自我修复的艰难之路。曾几何时,鲁大师凭借其强大的跑分功能和丰富的工具集,成为了众多PC用户和......