Trouble calling Jenkins with POST request using Script Runner

Kristian Windsor December 11, 2017

I'm new to Groovy so maybe I'm making a silly mistake. But I'm trying to call Jenkins and it's behaving weirdly. This code returns Error: no content-type. But it does call the Jenkins job, so it works...

def url = new URL("http://myURL/job/TestTestTest/buildWithParameters?PARAM=hello")
HttpURLConnection connection = (HttpURLConnection) url.openConnection()
connection.setRequestMethod("POST")
connection.setRequestProperty("Content-Type", "text/plain; charset=utf-8")
connection.connect()
if (connection.responseCode == 200 || connection.responseCode == 201) {
def returnMessage = connection.content
} else {
log.error("failed to reach jenkins")
}

And if I take out the last few lines, it returns no error but it doesn't call the Jenkins job.

def url = new URL("http://myURL/job/TestTestTest/buildWithParameters?PARAM=hello")
HttpURLConnection connection = (HttpURLConnection) url.openConnection()
connection.setRequestMethod("POST")
connection.setRequestProperty("Content-Type", "text/plain; charset=utf-8")
connection.connect()

Am I just not setting the content type correctly? I'm really stuck on this one

0 answers

Suggest an answer

Log in or Sign up to answer