I am trying to make a simple POST-request with the "Http Request Plugin". My problem is with getting the credentials to work. I have set a global credential, user:pass
.
But trying this in my code
withCredentials([usernameColonPassword(credentialsId: 'akamai', variable: 'akamai')]) {
def response = httpRequest url: requestUrl, contentType: requestContentType, httpMode: requestHttpMode, requestBody: requestContent, authentication: akamai
echo "Status: ${response.status}\nContent: ${response.content}"
}
results in
java.lang.IllegalStateException: Authentication 'user:pass' doesn't exist anymore
This plugin sends a HTTP/HTTPS request to a user specified URL. The request is made as a job execution in Jenkins and depending of the HTTP response the job could be marked as failed (configurable). For example, responses such as 404 and 500 could make the job fail.
In Jenkins, select Manage Plugins. Select the Available tab. Select the Credentials Binding checkbox. Click Install without restart or Download now and install after restart.
HTTP Request Plugin v1.8.18 now supports credentials in the Credentials Plugin (the HTTP Request Plugin v1.8.18 now depends on v2.1.3 of the Credentials Plugin).
To perform an HTTP request using a Jenkins credential you can use the following code:
def response = httpRequest authentication: 'credentialsID', url: "http://www.example.com"
where credentialsID
is the ID of the credentials in Jenkins:
The basic credentials under Configure System > HTTP Request now states that the Basic/Digest Authentication is deprecated and to use Jenkins credentials instead:
The Credentials for the Http Request Plugin
are not managed by the Credentials Plugin but rather under Configure System -> HTTP Request like shown in the picture.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With