#!/bin/bash # 测试企业微信通知脚本 WEBHOOK_URL="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=bb7efcdc-c32f-47b7-a437-d76cab9fba74" # 模拟 CI 环境变量 STATUS="failure" BRANCH="release/v1.0.0" COMMIT="test123" MESSAGE="fix: 修复安全漏洞并优化CI配置 - 升级 Next.js 从 16.1.6 到 16.2.1 修复安全漏洞 - 修改 security-scan 只检查生产依赖 - 将 audit 级别从 moderate 改为 high - 生产依赖漏洞从 12个减少到 0个" AUTHOR="zhangxiang" PIPELINE_NUMBER="10" PIPELINE_URL="https://ci.f.novalon.cn/repos/1/pipeline/10" if [ "$STATUS" = "success" ]; then STATUS_TEXT="成功" STATUS_COLOR="info" else STATUS_TEXT="失败" STATUS_COLOR="warning" fi TIMESTAMP=$(date "+%Y-%m-%d %H:%M:%S") # 转义特殊字符 MESSAGE_ESCAPED=$(echo "$MESSAGE" | sed 's/\\/\\\\/g' | sed 's/"/\\"/g' | sed ':a;N;$!ba;s/\n/\\n/g') echo "发送企业微信通知..." echo "状态: $STATUS_TEXT" echo "分支: $BRANCH" echo "提交: $COMMIT" echo "作者: $AUTHOR" curl -X POST "$WEBHOOK_URL" \ -H 'Content-Type: application/json' \ -d "{ \"msgtype\": \"markdown\", \"markdown\": { \"content\": \"## 🚀 Novalon Website 部署通知\\n\\n> **构建状态**: ${STATUS_TEXT}\\n\\n**项目信息**\\n> 分支: \`${BRANCH}\`\\n> 提交: \`${COMMIT}\`\\n> 作者: ${AUTHOR}\\n\\n**提交信息**\\n> ${MESSAGE_ESCAPED}\\n\\n**操作**\\n> [查看构建详情](${PIPELINE_URL})\\n\\n---\\n> 时间: ${TIMESTAMP}\\n> Pipeline #${PIPELINE_NUMBER}\" } }" echo "" echo "通知发送完成!"