Trouble calling Jenkins with POST request using Script Runner

Kristian Windsor
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
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