# 2020/09/17 #「Jenkins Pipeline」- 发送 HTTP 请求

问题描述

在 Jenkins Pipeline 中,虽然可以使用 Java 类库或者 Groovy 类库发送 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>",
)

参考文献

K4NZ / 发送 HTTP 请求
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

猜你喜欢

转载自blog.csdn.net/u013670453/article/details/108676936