Files
novalon-website/scripts/notify-wechat.sh
T
张翔 1e101183ca
ci/woodpecker/push/woodpecker Pipeline failed
fix: 修复Woodpecker CI配置解析错误
问题根本原因:
- YAML heredoc块格式导致解析器无法正确识别命令类型
- Pipeline #30 显示 'No pipeline steps available' 错误

修复方案:
- 将企业微信通知逻辑移至独立脚本文件 scripts/notify-wechat.sh
- 简化 .woodpecker.yml 中的通知步骤配置
- 使用标准shell脚本处理环境变量展开

验证:
- YAML语法验证通过
- 命令类型检查通过(所有命令均为字符串类型)
2026-03-29 08:54:06 +08:00

32 lines
1.1 KiB
Bash

#!/bin/sh
BRANCH="${CI_COMMIT_BRANCH:-unknown}"
COMMIT="${CI_COMMIT_SHA:0:7}"
MESSAGE=$(echo "${CI_COMMIT_MESSAGE:-no message}" | tr '\n' ' ' | sed 's/"/\\"/g')
AUTHOR="${CI_COMMIT_AUTHOR:-unknown}"
PIPELINE_NUMBER="${CI_PIPELINE_NUMBER:-0}"
REPO_ID="${CI_REPO_ID:-1}"
TIMESTAMP=$(date "+%Y-%m-%d %H:%M:%S")
STATUS="${1:-success}"
if [ "$STATUS" = "success" ]; then
STATUS_TEXT="成功"
STATUS_COLOR="info"
else
STATUS_TEXT="失败"
STATUS_COLOR="warning"
fi
cat > /tmp/payload.json <<EOF
{
"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}\n\n**操作**\n> [查看构建详情](https://ci.f.novalon.cn/repos/${REPO_ID}/pipeline/${PIPELINE_NUMBER})\n\n---\n> 时间: ${TIMESTAMP}\n> Pipeline #${PIPELINE_NUMBER}"
}
}
EOF
curl -X POST "$WECHAT_WEBHOOK" \
-H 'Content-Type: application/json' \
-d @/tmp/payload.json