- 使用 PAYLOAD=$(cat <<ENDPAYLOAD) 替代 cat > file <<EOF - 确保环境变量在 heredoc 中正确展开 - 添加测试脚本验证环境变量展开 - 修复构建详情链接和消息内容缺失问题
This commit is contained in:
Executable
+46
@@ -0,0 +1,46 @@
|
||||
#!/bin/bash
|
||||
|
||||
export CI_COMMIT_BRANCH="test-branch"
|
||||
export CI_COMMIT_SHA="abc123def456"
|
||||
export CI_COMMIT_MESSAGE="测试企业微信通知功能"
|
||||
export CI_COMMIT_AUTHOR="张翔"
|
||||
export CI_PIPELINE_NUMBER="999"
|
||||
export CI_REPO_ID="1"
|
||||
|
||||
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")
|
||||
|
||||
PAYLOAD=$(cat <<ENDPAYLOAD
|
||||
{
|
||||
"msgtype": "markdown",
|
||||
"markdown": {
|
||||
"content": "## 🚀 Novalon Website 部署通知\n\n> **构建状态**: <font color=\"info\">成功</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}"
|
||||
}
|
||||
}
|
||||
ENDPAYLOAD
|
||||
)
|
||||
|
||||
echo "$PAYLOAD" > /tmp/payload.json
|
||||
|
||||
echo "=========================================="
|
||||
echo "测试环境变量展开"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
echo "环境变量:"
|
||||
echo " BRANCH: $BRANCH"
|
||||
echo " COMMIT: $COMMIT"
|
||||
echo " MESSAGE: $MESSAGE"
|
||||
echo " AUTHOR: $AUTHOR"
|
||||
echo " PIPELINE_NUMBER: $PIPELINE_NUMBER"
|
||||
echo " REPO_ID: $REPO_ID"
|
||||
echo " TIMESTAMP: $TIMESTAMP"
|
||||
echo ""
|
||||
echo "生成的 JSON:"
|
||||
cat /tmp/payload.json | python3 -m json.tool
|
||||
echo ""
|
||||
echo "✅ 测试完成!变量已正确展开"
|
||||
@@ -53,14 +53,17 @@ PIPELINE_NUMBER="${CI_PIPELINE_NUMBER:-0}"
|
||||
REPO_ID="${CI_REPO_ID:-1}"
|
||||
TIMESTAMP=$(date "+%Y-%m-%d %H:%M:%S")
|
||||
|
||||
cat > /tmp/payload.json <<EOF
|
||||
PAYLOAD=$(cat <<ENDPAYLOAD
|
||||
{
|
||||
"msgtype": "markdown",
|
||||
"markdown": {
|
||||
"content": "## 🚀 Novalon Website 部署通知\n\n> **构建状态**: <font color=\"info\">成功</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
|
||||
ENDPAYLOAD
|
||||
)
|
||||
|
||||
echo "$PAYLOAD" > /tmp/payload.json
|
||||
|
||||
echo "📝 生成的 JSON 内容:"
|
||||
cat /tmp/payload.json | python3 -m json.tool
|
||||
|
||||
Reference in New Issue
Block a user