【问题标题】:How to use dynamic request body for HTTP Request plugin如何为 HTTP 请求插件使用动态请求正文
【发布时间】:2019-02-19 16:03:36
【问题描述】:

我可以将端点 URL 与 POST 方法的请求正文一起击中。但我只想知道如何使用 JSON 请求正文中的不同数据来访问 HTTP 请求 Jenkins 插件中提到的相同端点 URL。

示例 JSON 请求正文:

{
  "duration": "2019-02-10T08:08:12.300Z",
  "domain": "Google Pay",
  "priority": "1",
  "flowId": 022,
  "subFlowId": 110,
  "productId": 180
}

对于上述请求正文,我只想更改单个构建的“subFlowId”值。像上面的请求 JSON 文件需要用不同的值到达终点。

我有一个工作空间中可用的有效负载列表,我只想将这些 JSON(以上是参考)内容作为 HTTP 请求插件中的请求正文传递。

我怎样才能做到这一点?

【问题讨论】:

  • 这个问题有点笼统。这个 JSON 是从哪里来的?您是否将其映射到一个对象并返回?
  • 这是请求 json 文件,它将成为 endPoint 的收入负载。类似于我有相同的有效负载,只有 subFlowId 会改变,并且在 ${workspace} 中可用。我只需要读取工作空间上可用的 JSON 有效负载并应用到请求正文中。

标签: java jenkins httprequest jenkins-pipeline jenkins-plugins


【解决方案1】:

一种方法

import groovy.json.JsonOutput

def myJson = '{"subFlowId":"1.0.0"}'
def myObject = JsonOutput.toJson(myJson)
myObject.subFlowId = 'something cool'
//back to string
myJson = JsonOutput.prettyPrint(myObject)

【讨论】:

  • 我在哪里可以在 http 请求中使用这个 groovy?如果我将它用作请求正文,它会起作用吗?
  • 你现在怎么用?
  • 我只是在 HTTP 请求插件中使用上面的 json 作为请求体。如果我构建它一次,它将使用一个有效负载运行并以 200 响应完成执行。我想对所有在工作区中继以进行单个构建的有效负载做同样的事情。
  • 请用您当前的代码更新您的问题,以便正确回答。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-03-29
  • 1970-01-01
  • 2013-05-22
  • 2019-10-20
  • 2012-03-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多