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}}}}')"
相关推荐
木井巳2 天前
【JavaEE】Spring Web MVC 入门
java·spring boot·spring·servlet·java-ee
典典分享指南2 天前
短视频分镜提示词:让 AI 出片的产品口播
java·c#·bash·composer·symfony
Tanner_SL3 天前
Linux笔记之BASH命令行操作
linux·bash
浪兎兎5 天前
【Java Web】Servlet + JSP 笔记
java·前端·servlet
苦猿的大模型日记6 天前
Day51|从0学习Claude Code(一):一个while循环加一个Bash,复刻Claude Code的心脏
人工智能·学习·bash
略略略咯咯6 天前
jenkins
运维·servlet·jenkins
wno7047 天前
Spring Boot中使用Servlet
spring boot·后端·servlet
典典分享指南7 天前
Python-docx 批量生成带图营销文:文字图片分离与排版定位
servlet·intellij-idea·java-consul·java-activemq
竹枝溪9 天前
Tomcat与Servlet全套小白教程
java·servlet·tomcat·cookie·filter·session·listener
RisunJan10 天前
Linux命令-wait(Bash 内建 —— 等待后台进程完成)
linux·chrome·bash