使用Jenkins http-request-plugin进行基本身份验证

时间:2017-01-10 14:22:25

标签: groovy jenkins-plugins jenkins-pipeline

我正在尝试使用“Http Request Plugin”创建一个简单的POST请求。我的问题是让凭据工作。我已设置了全局凭据user:pass

但是在我的代码中尝试这个

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}"
}

结果

java.lang.IllegalStateException: Authentication 'user:pass' doesn't exist anymore

2 个答案:

答案 0 :(得分:12)

HTTP请求插件v1.8.18 now supports credentials in the Credentials Plugin(HTTP请求插件v1.8.18 now depends on v2.1.3 of the Credentials Plugin)。

要使用Jenkins凭据执行HTTP请求,您可以使用以下代码:

def response = httpRequest authentication: 'credentialsID', url: "http://www.example.com"

其中credentialsID是Jenkins中凭据的ID:

enter image description here

配置系统>下的基本凭据; HTTP请求现在声明不推荐使用基本/摘要式身份验证,而是使用Jenkins凭据:

enter image description here

答案 1 :(得分:4)

Http Request Plugin的凭据不是由凭据插件管理,而是在配置系统下管理 - > HTTP请求如图所示。