fix: 修复 release.sh 中 JSON body 换行符转义问题
- 使用 jq --rawfile 替代 --arg 避免 shell 变量换行符转义 - 通过临时文件传递 Release body 内容 - 确保 Gitea Release 页面显示正确的换行格式
This commit is contained in:
11
release.sh
11
release.sh
@@ -174,12 +174,14 @@ else
|
||||
fi
|
||||
|
||||
# 7.2 使用 jq 生成正确的 JSON
|
||||
# 首先尝试使用原始内容(中文)
|
||||
# 使用 --arg 参数来正确处理多行文本,避免 \n 转义问题
|
||||
# 使用临时文件避免 shell 变量中的换行符问题
|
||||
TEMP_BODY_FILE=$(mktemp)
|
||||
echo "$TAG_MESSAGE" > "$TEMP_BODY_FILE"
|
||||
|
||||
JSON_PAYLOAD=$(jq -n -c \
|
||||
--arg version "$VERSION" \
|
||||
--arg title "$VERSION - $RELEASE_TITLE" \
|
||||
--arg body "$TAG_MESSAGE" \
|
||||
--rawfile body "$TEMP_BODY_FILE" \
|
||||
'{
|
||||
tag_name: $version,
|
||||
name: $title,
|
||||
@@ -188,6 +190,9 @@ JSON_PAYLOAD=$(jq -n -c \
|
||||
prerelease: false
|
||||
}')
|
||||
|
||||
# 清理临时文件
|
||||
rm -f "$TEMP_BODY_FILE"
|
||||
|
||||
echo "🔄 尝试创建 Release (使用中文内容)..."
|
||||
response=$(curl -s -w "\n%{http_code}" \
|
||||
-X POST "$GITEA_URL/api/v1/repos/$GITEA_REPO/releases" \
|
||||
|
||||
Reference in New Issue
Block a user