Jenkins 的HTTP Request 插件为什么不能配置Basic认证了

本篇遇到的问题

还是因为Jenkins需要及其所在的OS需要升级,升级策略是在一台新服务器上安装和配置最新版本的Jenkins, 当前的最新版本是: 2.479.2 LTS。

如果需要这个版本的话可以在官方站点下载,也可以到如下地址下载:https://download.csdn.net/download/oscar999/90077696

在安装完新环境之后,使用代码的方式将原来的Job 在新的环境中都建立出来了,但是出现了一个问题:

原来的很多Job 是使用HTTP Request 插件配置的访问一个Http地址,使用的是Basic的账号和密码验证,但是转换之后发现,在新的环境中 HTTP Request 已经无法配置Basic认证了。

具体的原因和解决方法下面逐步道来。

HTTP Request插件介绍

Jenkins HTTP Request插件是一个用于Jenkins持续集成/持续交付(CI/CD)平台的开源插件。该插件通过发送HTTP请求到指定的URL,并根据响应结果来触发相应的Jenkins作业状态。它主要使用Java编程语言开发,充分利用了Jenkins插件架构的优势,为Jenkins用户提供了丰富的HTTP请求功能。

主要功能

  1. 支持多种HTTP方法

    • Jenkins HTTP Request插件支持GET、POST、PUT、PATCH、DELETE、OPTIONS、HEAD等多种HTTP方法,满足不同场景的需求。
  2. 响应代码范围配置

    • 用户可以指定期望的响应代码范围,如果实际响应代码不在指定范围内,作业将标记为失败。这有助于确保只有符合预期的响应才会被接受。
  3. 认证支持

    • 插件支持Basic认证、表单认证和证书认证,确保只有授权用户可以访问资源。这增强了安全性,防止未经授权的访问。
  4. 响应内容检查

    • 用户可以指定响应中必须包含的字符串,如果响应中不包含该字符串,作业将失败。这有助于验证响应内容是否符合预期。
  5. 连接超时设置

    • 用户可以设置连接超时时间,防止作业因长时间等待而浪费资源。这有助于确保Jenkins作业的及时性和效率。
  6. 自定义请求头

    • 支持设置自定义请求头,方便与需要特定头信息的API或服务进行交互。这增加了插件的灵活性和适用性。

其他功能

  1. 多部分表单数据支持

    • 新增了对multipart/form-data表单的支持,用户可以发送包含文件和其他数据的复杂表单。
  2. SSL错误忽略

    • 新增了忽略SSL错误的功能,方便用户在测试环境中进行调试。
  3. HTTP代理支持

    • 新增了对HTTP代理的支持,用户可以通过代理服务器发送请求。
  4. 代理认证支持

    • 新增了对代理认证的支持,用户可以通过代理服务器进行认证后发送请求。
  5. 响应内容验证

    • 新增了对响应内容进行验证的功能,用户可以指定期望的响应内容,如果实际响应内容不符合预期,作业将失败。

HTTP Request插件 的状态

HTTP Request插件 目前的最新版本是1.19 , 发布于2024/07 , 但是这个插件被标识为"up for adoption",意味着该插件的当前维护者正在寻找新的贡献者或维护者来接管插件的未来开发和维护工作。这通常发生在原始维护者没有足够的时间或资源来继续支持插件,或者他们不再使用该插件。

HTTP Request

1.14 版本还可以使用Basic,但是已经有标识过时了, 配置的方式如下:

1、 进入System 的配置

  1. 下拉到HTTP Request 的配置区块

但是,但是 , 在最新版本1.19 就直接取消Basic的配置了。

为什么1.19 不支持BASIC认证以及解决方法

HTTP Request 1.19 取消BASIC认证配置的原因就是安全性的考虑。

解决思路应该是有两个:

  1. 回退版本, 先删除已经安装的 HTTP Request 1.19 的版本, 然后下载 1.14 的版本, 再通过上传文件的方式安装旧的版本。

需要 1.14 版本的可以到如下地址下载:
https://download.csdn.net/download/oscar999/90077863

  1. 放弃使用 HTTP Request 的Basic 认证,直接使用Jenkins本身的 Credential 配置,步骤如下:

  2. 进入 Credential 的配置页面

  3. 点击 System

3) 点击 Global Credential

  1. 点击 Add Credential
  1. 在弹出的对话框中输入用户名、密码
    注意: 这里的ID保持和原来Basic 认证的名称保持一致,这样的话,配置完成之后,原来的Job就可以正常运行了。


相关推荐
Looper03315 小时前
【Shell 脚本实现 HTTP 请求的接收、解析、处理逻辑】
网络·网络协议·http
eddieHoo5 小时前
HTTP、RPC
网络协议·http·rpc
fa_lsyk6 小时前
SpringMVC:SpringMVC的bean加载机制
java·spring·servlet·mvc
Jackey_Song_Odd8 小时前
[node.js] [HTTP/S] 实现 requests 发起 HTTP/S/1.1/2.0 请求
网络协议·http·node.js
哎呦,帅小伙哦8 小时前
brynet源码阅读——http组件和wrapper组件
网络·网络协议·http
互联网杂货铺9 小时前
Newman+Jenkins实现接口自动化测试(超详细总结)
自动化测试·软件测试·python·测试工具·职场和发展·jenkins·测试用例
古人诚不我欺9 小时前
nginx配置http及https
nginx·http·https
xxjkkjjkj13 小时前
HTTPS
网络协议·http·https
疯一样的码农14 小时前
如何使用Apache HttpClient发送带有基本认证的HTTP请求
http·apache·httpclient
Lill_bin15 小时前
BeanUtils:Java Bean工具类详解
java·开发语言·windows·python·算法·servlet