diff --git a/.github/workflows/auto-release.yml b/.github/workflows/auto-release.yml index 8559a226..23665d1b 100644 --- a/.github/workflows/auto-release.yml +++ b/.github/workflows/auto-release.yml @@ -149,45 +149,35 @@ jobs: TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }} continue-on-error: true run: | - # 准备 Telegram 消息内容 VERSION="${{ steps.next_version.outputs.new_version }}" TAG="${{ steps.next_version.outputs.new_tag }}" REPO="${{ github.repository }}" - # 获取更新内容(限制长度) + # 获取更新内容并限制长度 CHANGELOG="${{ steps.changelog.outputs.content }}" - # 截取前 1000 个字符避免消息过长 CHANGELOG_TRUNCATED=$(echo "$CHANGELOG" | head -c 1000) if [ ${#CHANGELOG} -gt 1000 ]; then CHANGELOG_TRUNCATED="${CHANGELOG_TRUNCATED}..." fi - # 构建消息,使用 JSON 格式避免转义问题 - MESSAGE=$(cat <<-ENDMSG -🚀 *Claude Relay Service 新版本发布!* - -📦 版本号: \`${VERSION}\` - -📝 *更新内容:* -${CHANGELOG_TRUNCATED} - -🐳 *Docker 部署:* -\`\`\`bash -docker pull weishaw/claude-relay-service:${TAG} -docker pull weishaw/claude-relay-service:latest -\`\`\` - -🔗 *相关链接:* -• [GitHub Release](https://github.com/${REPO}/releases/tag/${TAG}) -• [完整更新日志](https://github.com/${REPO}/blob/main/CHANGELOG.md) -• [Docker Hub](https://hub.docker.com/r/weishaw/claude-relay-service) - -#ClaudeRelay #Update #v${VERSION//./_} -ENDMSG - ) + # 构建消息内容 + MESSAGE="🚀 *Claude Relay Service 新版本发布!*"$'\n'$'\n' + MESSAGE+="📦 版本号: \`${VERSION}\`"$'\n'$'\n' + MESSAGE+="📝 *更新内容:*"$'\n' + MESSAGE+="${CHANGELOG_TRUNCATED}"$'\n'$'\n' + MESSAGE+="🐳 *Docker 部署:*"$'\n' + MESSAGE+="\`\`\`bash"$'\n' + MESSAGE+="docker pull weishaw/claude-relay-service:${TAG}"$'\n' + MESSAGE+="docker pull weishaw/claude-relay-service:latest"$'\n' + MESSAGE+="\`\`\`"$'\n'$'\n' + MESSAGE+="🔗 *相关链接:*"$'\n' + MESSAGE+="• [GitHub Release](https://github.com/${REPO}/releases/tag/${TAG})"$'\n' + MESSAGE+="• [完整更新日志](https://github.com/${REPO}/blob/main/CHANGELOG.md)"$'\n' + MESSAGE+="• [Docker Hub](https://hub.docker.com/r/weishaw/claude-relay-service)"$'\n'$'\n' + MESSAGE+="#ClaudeRelay #Update #v${VERSION//./_}" - # 准备 JSON 数据 - JSON_DATA=$(jq -n \ + # 使用 jq 构建 JSON 并发送 + jq -n \ --arg chat_id "${TELEGRAM_CHAT_ID}" \ --arg text "${MESSAGE}" \ '{ @@ -195,9 +185,7 @@ ENDMSG text: $text, parse_mode: "Markdown", disable_web_page_preview: false - }') - - # 发送消息到 Telegram + }' | \ curl -X POST "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendMessage" \ -H "Content-Type: application/json" \ - -d "${JSON_DATA}" \ No newline at end of file + -d @- \ No newline at end of file