svn實現釘釘代碼提交通知

歡迎加入前端交流羣:749539640 前端

svn其實也和github同樣有本身的鉤子,咱們先看下效果git

釘釘機器人配置(webhook生成)

設置=>添加機器人

添加自定義機器人,這裏的關鍵詞添加 #便可

複製webhookgithub

svn設置

咱們進入到svn的服務器代碼目錄,會看到有個hooks的文件夾web

目前svn提供了5個hooks,今天咱們只介紹post-commit參考json

它在事務完成後運行,建立一個新的修訂版本。大多數人用這個鉤子來發送關於提交的描述性電子郵件,或者做爲版本庫的備份。版本庫傳給程序兩個參數:到版本庫的路徑和被建立的新的修訂版本號。退出程序會被忽略。vim

接下來咱們進入hooks文件夾,執行api

vim post-commit

若是沒有會自動新建此文件安全

鍵入代碼bash

#!/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自動推送信息到釘釘服務器

相關文章
相關標籤/搜索