「Jenkins Pipeline」- 发送 HTTP 请求

更新日期:2021年02月14日

问题描述

在 Jenkins Pipeline 中,虽然可以使用 Java 类库或者 Groovy 类库发送 HTTP 请求,但是这不是 Jenkins 推荐的做法。

该笔记将记录:在 Jenkins Pipelie 中,如何发送 HTTP 请求。

解决办法

使用 Http Request 插件

插件地址:https://plugins.jenkins.io/http_request
步骤手册:https://www.jenkins.io/doc/pipeline/steps/http_request/
仓库地址:https://github.com/jenkinsci/http-request-plugin

发送普通 HTTP 请求

def response = httpRequest(
    url: 'http://localhost:8080/jenkins/api/json?pretty=true', // 请求地址
    quiet: true, // 不显示请求日志
    validResponseCodes: "100:399,403" // 设置可接受的返回码,其他状态码将返回异常
)

println(response.status)
println(response.content)

使用 Basic Auth 认证

第一步、创建用户及密码凭证

Credentials => Add Credentials => Username with password

第二步、在请求中引用凭证

def response = httpRequest(
    url: 'http://localhost:8080/jenkins/api/json?pretty=true',
    authentication: "<credentialsId>",
)

参考文献

Pipeline Steps Reference/HTTP Request Plugin
validResponseCodes cannot be empty or null
How to pass a range of validResponseCodes for Jenkins pipeline httpRequest method
Basic Auth with Jenkins http-request-plugin


ToC

问题描述

解决办法

发送普通 HTTP 请求

使用 Basic Auth 认证

第一步、创建用户及密码凭证

第二步、在请求中引用凭证

参考文献