- 使用 curlimages/curl 镜像,无需安装 curl - 添加 MESSAGE_ESCAPED 变量处理特殊字符 - 设置 HUSKY=0 禁用 CI 环境中的 husky - 本地测试企业微信通知成功
This commit is contained in:
Executable
+50
@@ -0,0 +1,50 @@
|
||||
#!/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> **构建状态**: <font color=\\\"${STATUS_COLOR}\\\">${STATUS_TEXT}</font>\\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 "通知发送完成!"
|
||||
Reference in New Issue
Block a user