jenkins 获取最新代码修改记录并通知到企业微信

在项目中实现 Jenkins 构建完成自动推送企业微信通知,同步更新动态与核心变更记录,稳定高效,本文主要包括最新代码变更记录获取、企业微信机器人创建、Token 配置及完整的脚本代码。

添加企业微信机器人

  1. 打开企业微信工作群,在更多菜单中选择消息推送,并添加一个消息推送机器人
  1. 选择自定义消息机器人,并配置机器人的名称和描述信息,最后复制底下的 Webhook地址 备用

创建 TOKEN

在 jenkins 用户配置中心,添加 TOKEN,添加后需要把 TOKEN 拷贝出来并自行保存

jenkins 配置 shell 命令

可以直接复制下面的代码到 shell 框中,请注意替换里面的 jenkins 项目链接名称

sh 复制代码
# 项目链接地址可以直接在浏览器地址栏复制获取,只需要在最后面添加 /lastSuccessfulBuild/ 即可获取最新的构建任务
BUILD_URL=http://jenkins.xxx.com/view/[viewName]/job/[jobName]/lastSuccessfulBuild/
# 填入用户的 TOKEN
TOKEN=xxx

set +e

# 获取最新构建任务的代码变更记录,这行代码的作用是提取最新构建任务的代码变更记录,并按时间排序,同时筛选出10个最新的提交记录直接显示出来
# 如需改变显示的记录行数,可以调整最后面的 sed "10,xxxd" 最前面的数字来调整

changelog=$(curl -u $TOKEN "${BUILD_URL}api/xml?wrapper=changes&xpath=//changeSet//item//msg|//changeSet//item//date" | sed -e "s/ +0800<\/date>/ * /g; s/ -0500<\/date>/ * /g; s/ -0400<\/date>/ * /g; s/<date>/\\n> - * /g; s/<\/msg>//g; s/<msg>//g; s/<\/*changes>//g; s/\"//g; s/<changes\/>/ No Changes /g;" | sort -d -r | sed "10,100000d")

# 通知到企业微信,这里需要用到前面创建机器人的 Webhook 链接
curl -k '[webhook url]' \
   -H 'Content-Type: application/json' \
   -d '
   {
    "msgtype": "markdown",
    "markdown": {
        "content": "测试环境 <font color=\"info\">前端</font> 已更新\n
        
        > ## 修改记录 \n'"$changelog"'
        > - [查看更多修改记录](http://jenkins.xxx.com/view/[viewName]/job/[jobName]/changes)"
      }
	}'
set -e

最终效果

可以将该任务和构建任务进行关联,构建成功后自动执行并通知到企业微信

相关推荐
IAR Systems3 天前
松下电工借助IAR CI/CD解决方案,实现品质与效率双重飞跃
ci/cd
Cherry的跨界思维3 天前
【AI测试全栈:质量】47、Vue+Prometheus+Grafana实战:打造全方位AI监控面板开发指南
vue.js·人工智能·ci/cd·grafana·prometheus·ai测试·ai全栈
古斯塔夫歼星炮3 天前
Dify + Jenkins 实现AI应用持续集成与自动化部署
ci/cd·jenkins·dify
codingWhat4 天前
手把手系列之——前端工程化
ci/cd·devops·前端工程化
测试渣4 天前
持续集成中的自动化测试框架优化实战指南
python·ci/cd·单元测试·自动化·pytest
我的xiaodoujiao5 天前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 51--CI/CD 4--推送本地代码到Git远程仓库
python·学习·测试工具·ci/cd·pytest
deephub6 天前
并行多智能体系统的协调测试实战:从轨迹捕获到CI/CD的六个步骤
人工智能·ci/cd·大语言模型·aiagent
你的论文学长6 天前
文本处理的 CI/CD:用 NLP 静态分析解决查重飘红与 Format Error
人工智能·ci/cd·自然语言处理·重构·论文·学习方法
Elastic 中国社区官方博客8 天前
Agentic CI/CD:使用 Kubernetes 部署门控,结合 Elastic MCP Server
大数据·人工智能·elasticsearch·搜索引擎·ci/cd·容器·kubernetes
莫比乌斯之梦8 天前
使用 Docker 运行 Jenkins:快速搭建高效 CI/CD 环境指南
ci/cd·docker·jenkins