09fc5fe7e1
ci/woodpecker/push/woodpecker Pipeline failed
- 使用 npm ci --omit=dev --ignore-scripts 跳过所有脚本 - 本地验证 husky 问题已解决 - 本地验证企业微信通知成功 - 将换行符替换为空格,避免 shell 解析错误
51 lines
1.6 KiB
Bash
Executable File
51 lines
1.6 KiB
Bash
Executable File
#!/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="test456"
|
|
MESSAGE="fix: 修复husky和企业微信通知问题
|
|
|
|
- 在 commands 中添加 export HUSKY=0 确保 husky 被禁用
|
|
- 修复 MESSAGE_ESCAPED 处理逻辑,避免 shell 解析错误
|
|
- 将换行符替换为空格,而不是 \\n 字符串"
|
|
AUTHOR="zhangxiang"
|
|
PIPELINE_NUMBER="12"
|
|
PIPELINE_URL="https://ci.f.novalon.cn/repos/1/pipeline/12"
|
|
|
|
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' | tr '\n' ' ')
|
|
|
|
echo "发送企业微信通知..."
|
|
echo "状态: $STATUS_TEXT"
|
|
echo "分支: $BRANCH"
|
|
echo "提交: $COMMIT"
|
|
echo "作者: $AUTHOR"
|
|
echo "MESSAGE_ESCAPED: $MESSAGE_ESCAPED"
|
|
|
|
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 "通知发送完成!"
|