diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2e91a160..f227a4dc 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -458,24 +458,23 @@ jobs: pnpm i pnpm run build:openapi - # 读取并压缩 openapi.json 内容 - OPENAPI_CONTENT=$(cat packages/napcat-schema/dist/openapi.json | tr -d '\n\r\t' | sed 's/ */ /g' | sed 's/"/\\"/g') - - # 构建 JSON 数据 - JSON_DATA=$(printf '{ - "input": "%s", - "options": { + # 使用 jq 安全地构建大型 JSON 数据并保存到文件 + jq -n --rawfile input packages/napcat-schema/dist/openapi.json \ + '{ + input: $input, + options: { "endpointOverwriteBehavior": "OVERWRITE_EXISTING", "schemaOverwriteBehavior": "OVERWRITE_EXISTING", "updateFolderOfChangedEndpoint": true, "moduleId": 1140714, "deleteUnmatchedResources": true } - }' "$OPENAPI_CONTENT") + }' > apifox_payload.json + # 通过文件形式发送数据,避免命令行长度限制 curl --location -g --request POST 'https://api.apifox.com/v1/projects/5348325/import-openapi?locale=zh-CN' \ --header 'X-Apifox-Api-Version: 2024-03-28' \ --header "Authorization: Bearer $APIFOX_TOKEN" \ --header 'Content-Type: application/json' \ - --data-raw "$JSON_DATA" + --data-binary @apifox_payload.json