Files
novalon-website/scripts/tools/test-wechat-notify-jq.sh
T

49 lines
1.5 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
# 测试企业微信通知脚本(使用 jq
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="testjq"
MESSAGE="fix: 使用jq构建JSON避免YAML多行字符串问题
- 使用 jq 来构建 JSON
- 避免 YAML 多行字符串处理问题
- 确保变量正确展开"
AUTHOR="zhangxiang"
PIPELINE_NUMBER="18"
REPO_ID="1"
PIPELINE_URL="https://ci.f.novalon.cn/repos/${REPO_ID}/pipeline/${PIPELINE_NUMBER}"
TIMESTAMP=$(date "+%Y-%m-%d %H:%M:%S")
# 简化处理:移除换行符和引号
MESSAGE_CLEAN=$(echo "$MESSAGE" | tr '\n' ' ' | tr '"' "'")
echo "发送企业微信通知..."
echo "状态: $STATUS"
echo "分支: $BRANCH"
echo "提交: $COMMIT"
echo "作者: $AUTHOR"
echo "MESSAGE_CLEAN: $MESSAGE_CLEAN"
echo ""
# 使用 jq 构建 JSON
CONTENT="## 🚀 Novalon Website 部署通知\n\n> **构建状态**: <font color=\"warning\">失败</font>\n\n**项目信息**\n> 分支: \`${BRANCH}\`\n> 提交: \`${COMMIT}\`\n> 作者: ${AUTHOR}\n\n**提交信息**\n> ${MESSAGE_CLEAN}\n\n**操作**\n> [查看构建详情](${PIPELINE_URL})\n\n---\n> 时间: ${TIMESTAMP}\n> Pipeline #${PIPELINE_NUMBER}"
JSON_DATA=$(echo "{}" | jq --arg content "$CONTENT" '.msgtype = "markdown" | .markdown.content = $content')
echo "JSON_DATA:"
echo "$JSON_DATA"
echo ""
curl -X POST "$WEBHOOK_URL" \
-H 'Content-Type: application/json' \
-d "$JSON_DATA"
echo ""
echo "通知发送完成!"