SVN提交记录集成到Redmine历史记录

前言:

之前我们通过SvnHooks的post-commit实现了提交日志发送到企业微信机器人中。

那么这篇博客来说一下,如何通过post-commit集成到Redmine,把提交记录贴在redmine单子的历史记录中,可以清楚的知道程序提交了什么

如何获取提交记录发送到企业微信机器人可以先看看:https://www.cnblogs.com/a565810497/p/18369893

 

一:首先要获取我们的Redmine API密钥

1.1:首先要打开管理-->配置-->API,把启用启用REST web service和启用REST web service都打开,然后保存

 

1.2:点击我的账号,然后获取API密钥

 

 

二:修改我们的post-commit脚本,填入你的redmine网址和密钥,把这个代码添加到原有的post-commit中

 

# 检查是否找到了问题编号
# 发送提交信息到 Redmine
if [ -n "$ISSUE_ID" ]; then
    REDMINE_URL="你的.redmine.url"
    API_KEY="你的Redmine API密钥"
    
  # 使用 jq 构造 JSON
    NOTE=$(printf "SVN 版本 %s:\n%s" "$REV" "$MESSAGE" | jq -R .)
    JSON_DATA=$(jq -n --arg notes "$NOTE" '{issue: {notes: $notes}}')
   
    curl -X PUT "$REDMINE_URL/issues/$ISSUE_ID.json" \
         -H "X-Redmine-API-Key: $API_KEY" \
         -H "Content-Type: application/json" \
         -d "$JSON_DATA"
        
                 
fi

 

注意事项,这要求程序在提交SVN记录时必须要在日志填入bug单或者需求单的url:http://xxx.168.xx.xxx:3000/issues/13(举个例子),可以在pre-comit中限制

 

三:效果

 

posted @ 2024-09-27 16:34  Hiro-D  阅读(15)  评论(0编辑  收藏  举报