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

如何通过Jenkins任务向节点传递JSON字符串并配置构建脚本?

在Jenkins任务中向节点传递指定JSON字符串的配置方案

我来帮你一步步搞定这个配置,确保JSON参数能正确传递给节点的批处理脚本:

1. 准备待传递的JSON内容

你需要传递的JSON字符串如下(已经整理成易读格式):

{
  "Automation": {
    "Env": "XXX",
    "No of TCs to Run": "08",
    "Suite": {
      "SAMPLE1": [
        {"testcases": "TC01,TC02,TC03,TC04"},
        {"TC_Username": "test@xxxxx.xom", "TC_Password": "P!assword"},
        {"TS_Username": "test@xxxxx.xom", "TS_Password": "AgeAS2"},
        {"TM_Username": "test@xxxxx.xom", "TM_Password": "P!assword", "TM_Company": "TEST", "TM_FirstName": "Test", "TM_LastName": "FARIZ"}
      ]
    }
  }
}

2. Jenkins构建环节的核心配置

在Jenkins任务的构建步骤中,选择“执行Windows批处理命令”,然后填入以下命令:

cd C:\Test && BatchRunner.bat "%JSON%"

关键细节说明:

  • 用&&连接cd和批处理命令:确保切换到C:\Test目录后再执行BatchRunner.bat,避免路径错误。
  • 给%JSON%加上双引号:因为你的JSON里包含空格(比如No of TCs to Run)和特殊字符(比如!),不加引号的话,Windows命令行会把空格当作参数分隔符,导致参数被拆分成多个部分,传递失败。

3. 参数化构建的补充配置(可选但推荐)

如果希望每次构建可以灵活修改JSON内容,建议给Jenkins任务添加字符串参数:

  • 进入任务配置页,找到“参数化构建过程”,勾选“字符串参数”
  • 参数名称填JSON,默认值填入上面的完整JSON内容
  • 这样构建时,你可以直接引用%JSON%变量,无需手动修改命令行

额外注意事项

  • 确认目标Jenkins节点的C:\Test目录下确实存在BatchRunner.bat文件,且该脚本能正确接收并解析传入的JSON参数。
  • 如果JSON里有更多特殊字符导致传递异常,可以换一种思路:先把JSON写入临时文件,再让批处理读取文件内容,命令示例如下:
    cd C:\Test
    echo %JSON% > automation_config.json
    BatchRunner.bat automation_config.json
    
    对应的,你需要修改BatchRunner.bat,让它读取automation_config.json文件里的JSON内容进行处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:21:36