You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用jq --arg结合模板JSON时进程挂起,求排查指导

问题分析与修复方案

1. 进程挂起的核心原因

你的jq命令缺少-n(或--null-input)参数。jq默认会从标准输入读取JSON数据进行处理,但你的场景是直接通过模板生成JSON,不需要处理输入数据。缺少这个参数时,jq会一直等待标准输入,导致进程挂起。

2. 命令修正

在原有命令开头添加-n参数,同时针对TEST_CASES(数字类型)改用--argjson传递,避免生成字符串类型的值:

jq -n --arg SUMMARY "Summary" --arg BUILD_ID "BUILD_ID" --arg BUILD_URL "BUILD_URL" --arg DURATION "DURATION" --arg USER_EMAIL "EMAIL" --arg USER_NAME "USER" --argjson TEST_CASES 3 --arg PX_VERSION "VERSION" --arg PX_BACKUP_VERSION "PX_VERSION" --arg STORK_IMAGE "IMAGE_STORK" --arg K8S_VERSION "1.23.0" --arg GITHUB_BRANCH "branch" --arg GITHUB_REPO "repo" --arg KIBANA_URL "url" -f template.jq

3. 模板的潜在问题检查

你的template.jq整体是合法的jq对象构造脚本,但需要注意:

  • 所有通过--arg传递的变量都是字符串类型,如果需要数字/布尔值等非字符串类型,必须用--argjson传递
  • 模板中像$GITHUB_REPO这类直接作为mrkdwn文本的变量,确保传递的值符合对应平台的语法要求,避免生成无效格式

内容的提问来源于stack exchange,提问作者Sumit Das

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 14:01:17