1

Did somebody had a chance to use http-builder-ng Groovy module in Jenkins pipeline?

When I use this module with any kind of request/URL it always returns me null object when the same source code from my Desktop is being run fine.

Here is debug output:

<groovyx.net.http.UriBuilder$Basic@4bc2413c scheme=http port=-1 host=api.open-notify.org path=/astros.json query=[:] fragment=null userInfo=null parent=groovyx.net.http.UriBuilder$ThreadSafe@69c6847a useRawValues=null>

The older version of this module developed by groovy.codehouse works fine, but it doesn't have some methods which I need.

1

I would recommend against importing if at all possible. You can use built-in functionality to achieve the same results. Also be aware of "In-process Script Approval"

https://stackoverflow.com/a/42662243/1678094

// GET
def get = new URL("https://httpbin.org/get").openConnection();
def getRC = get.getResponseCode();
println(getRC);
if(getRC.equals(200)) {
    println(get.getInputStream().getText());
}


// POST
def post = new URL("https://httpbin.org/post").openConnection();
def message = '{"message":"this is a message"}'
post.setRequestMethod("POST")
post.setDoOutput(true)
post.setRequestProperty("Content-Type", "application/json")
post.getOutputStream().write(message.getBytes("UTF-8"));
def postRC = post.getResponseCode();
println(postRC);
if(postRC.equals(200)) {
    println(post.getInputStream().getText());
}

You can also override the request method:

https://stackoverflow.com/a/32503192/1678094

conn.setRequestProperty("X-HTTP-Method-Override", "PATCH");
conn.setRequestMethod("POST");
  • Default built in module doesn't have a PATCH method. I was trying to apply other workarounds, but they do not work with Jenkins groovy. I created related question on developer forum: stackoverflow.com/questions/48521559/… – user54 Feb 21 '18 at 20:01
  • Updated with an additional workaround. – casey vega Feb 21 '18 at 21:51
  • As I mentioned I tried workarounds and this one as well. It didn't work out for my case. – user54 Feb 21 '18 at 22:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.