「Jenkins Pipeline」- 发送 HTTP 请求 @20210422

问题描述

在 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>",
)

相关文章

「Jenkins Pipeline」- 常见问题处理
「Jenkins Pipeline」- 在首次扫描后,禁止自动构建
「Jenkins Pipeline」- 发送邮件
「Jenkins Pipeline」- 接受构建通知,并拉取代码
「Jenkins Pipeline」- 配置多版本NodeJS构建环境
「Jenkins Pipeline」- 构建Docker镜像
「Jenkins Pipeline」- 放弃当前构建

参考文献

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


posted @ 2021-04-22 19:35  研究林纳斯写的  阅读(1093)  评论(0编辑  收藏  举报