Bash 双模式解析 + 飞书机器人:圈复杂度报告 45 min→30 s 实战


tags: 飞书机器人 SonarQube 圈复杂度 Bash自动化 DevOps

Bash 双模式解析 + 飞书机器人:圈复杂度报告 45 min→30 s 实战

场景痛点

  • 每日 10+ 项目 HTML 报告分散存放
  • 人工逐一点开检查平均 45 min,失败响应延迟 6-8 h
  • 多地研发团队无法第一时间感知质量门禁失败

解决思路

  1. 双模式正则:同时兼容 Sonar 6.x/7.x/8.x 三种 HTML 结构
  2. 富文本 @卡片:Markdown 语法 + <at id="all"> 实现全员提醒
  3. 轻量化部署:单 Bash 脚本,零依赖,直接放到 Jenkins 定时触发

关键代码片段

bash 复制代码
# 解析状态
status=$(grep -Eo '通过|失败|class="status-box' ${html} | head -1)
# 飞书卡片
curl -X POST https://open.feishu.cn/open-apis/bot/v2/hook/${key} \
  -H 'Content-Type: application/json' \
  -d "$(jq -n --arg msg "**$project** 圈复杂度 $status" \
  '{msg_type:"interactive",card:{header:{title:{tag:"plain_text",content:$msg}}}}')"
相关推荐
scx_link2 天前
通过git bash在本地创建分支,并推送到远程仓库中
开发语言·git·bash
sbjdhjd2 天前
从零搭建企业级 CI/CD(下):Jenkins+GitLab+Harbor 全链路实战指南
git·servlet·ci/cd·云原生·云计算·gitlab·jenkins
江华森2 天前
高级 Bash 脚本编程指南 — 实战教程
开发语言·bash
承渊政道2 天前
【MySQL数据库学习】(MySQL表的内外连接)
数据库·学习·mysql·leetcode·bash·数据库开发·数据库系统
ywl4708120872 天前
springSecurity+jwt,简单版demo
java·前端·servlet
飞天狗1113 天前
零基础JavaWeb入门——第五课第一小节:九大内置对象 · 第1个:request(请求对象)
java·开发语言·前端·后端·servlet
hyunbar3 天前
配置 Cloudflare Tunnel:把 Mac 上的 Web 服务变成安全域名
网络协议·https·bash
承渊政道3 天前
【MySQL数据库学习】(MySQL复合查询)
数据库·学习·mysql·bash·database·数据库开发·数据库架构
Markland_l4 天前
从dify、coze、飞书、obsidian看rag架构
架构·飞书
飞天狗1114 天前
零基础JavaWeb入门——第4课:表单处理 —— 浏览器怎么把数据发给服务器
java·开发语言·前端·后端·servlet