You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jenkins HTTP Request插件Secret Text凭证授权错误如何解决

问题产生原因

抛出Authentication 'segron' doesn't exist anymore报错,核心是HTTP Request插件没有成功匹配到你配置的Secret Text类型凭证,常见触发场景有三个:

  • 插件版本兼容问题:1.16版本之前的HTTP Request插件,authentication参数仅原生支持用户名/密码类型凭证,没有适配Secret Text类型的加载逻辑,这也是你用用户名密码凭证调用正常、用Secret Text就报错的核心原因。
  • 凭证作用域不匹配:如果配置的Secret Text凭证作用域设置为单文件夹/单项目范围,而当前运行的流水线不在该作用域覆盖范围内,插件会因为没有权限读取凭证,判定对应认证项不存在。
  • 凭证配置错误:配置凭证时ID存在前后空格、拼写偏差,或者凭证被误删除/修改ID,也会触发匹配失败报错。
修复方案

按优先级依次操作即可:

  • 优先升级HTTP Request插件至1.16及以上稳定版本,升级完成后重启Jenkins服务,新版本插件原生支持Secret Text类型凭证作为authentication参数传入,重启后重新运行流水线即可正常加载凭证发起请求。
  • 如果暂时无法升级插件,不要通过authentication参数传递Secret Text凭证,改用Jenkins内置的withCredentials步骤读取凭证值,手动将Token加入请求头完成鉴权,参考代码如下:
withCredentials([string(credentialsId: 'segron', variable: 'API_TOKEN')]) {
    httpRequest(
        url: "http://10.10.10.10:8080/api/run/",
        httpMode: 'POST',
        contentType: 'APPLICATION_JSON',
        // 注意根据目标API要求调整鉴权头格式,部分接口不需要Bearer前缀
        customHeaders: [[name: 'Authorization', value: "Bearer ${API_TOKEN}", maskValue: true]]
    )
}

代码中maskValue: true参数会自动对日志中的Token值打码,避免凭证泄露。

  • 校验凭证配置:进入Jenkins全局凭证管理页,搜索ID为segron的凭证,确认ID拼写无多余空格或错误,同时将凭证作用域修改为全局范围(覆盖Jenkins所有节点、任务及子项),保证流水线任务有凭证读取权限。

内容的提问来源于stack exchange,提问作者Ciro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.03 09:39:24