gpt4 book ai didi

jenkins - 如何在Jenkins Groovy脚本中执行HTTP POST请求?

转载 作者:行者123 更新时间:2023-12-03 13:45:18 25 4
gpt4 key购买 nike

我需要能够在Jenkins Pipeline构建期间创建简单的HTTP POST请求。但是,我无法使用简单的curl sh脚本,因为我需要它在Windows和Linux节点上工作,并且如果可以避免的话,我不希望在节点上实现更多的工具安装。

我们正在使用的Pipeline插件中使用的Groovy库对于此任务应该是完美的。 Groovy有一个扩展可以执行简单的POST,称为http-builder,但是我一生都无法解决如何在Jenkins的Groovy安装中使用它。

如果我尝试在管道脚本中使用Grapes Grab来使用它,则会收到一个错误的消息,即as seen here

@Grapes(
@Grab(group='org.codehaus.groovy.modules.http-builder', module='http-builder', version='0.7.1')
)

Groovy Jenkins使用的 bundle 版本可能不支持Grapes Grab。是否可以简单地下载http-builder及其依赖项并将其添加到分发到节点的Jenkins Groovy安装中?

最佳答案

也许我缺少了一些东西,但是为什么不只使用jenkins类路径中已经存在的标准Java库呢?

import java.io.BufferedReader
import java.io.InputStreamReader
import java.io.OutputStreamWriter
import java.net.URL
import java.net.URLConnection

def sendPostRequest(urlString, paramString) {
def url = new URL(urlString)
def conn = url.openConnection()
conn.setDoOutput(true)
def writer = new OutputStreamWriter(conn.getOutputStream())

writer.write(paramString)
writer.flush()
String line
def reader = new BufferedReader(new InputStreamReader(conn.getInputStream()))
while ((line = reader.readLine()) != null) {
println line
}
writer.close()
reader.close()
}

sendPostRequest("http://www.something.com", "param1=abc&param2=def")

关于jenkins - 如何在Jenkins Groovy脚本中执行HTTP POST请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36115872/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com