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

Jenkins 2.332.3版本Configure System保存/应用按钮失效问题

故障场景
  • 环境版本:Jenkins 2.332.3,已安装Slack Notification插件
  • 已完成前置操作:目标Slack频道已添加JenkinsCI集成,Configure System页Slack连接测试可正常推送消息到指定频道,单个任务配置页添加Slack post-build动作无界面报错
  • 故障表现:Configure System页修改Slack配置后点击应用/保存无实际生效效果,执行测试构建抛出报错:
FATAL: the credential with the provided ID (null) could not be found and no token was specified
根因说明

该版本Jenkins与对应版本Slack Notification插件存在表单提交逻辑兼容问题:配置页的「测试连接」按钮会生成临时凭证值用于连通性校验,不会同步更新表单绑定的持久化字段,点击测试后再保存会导致凭证ID字段提交空值,最终全局配置落库失败。

修复步骤

方案一(优先尝试)

  1. 先进入Manage Jenkins > Manage Credentials路径,将Slack Bot User Token添加为Secret text类型的全局凭证,手动指定固定的凭证ID并记录
  2. 进入Configure System页面找到Slack配置区块,选中刚创建的凭证,补全工作空间名称、默认通知频道等必填配置
  3. 不要点击配置块内的「测试连接」按钮,直接拉到页面最底部点击「保存」
  4. 保存后重新进入Configure System页面,确认配置值已正常留存,执行测试构建验证通知功能即可。如果需要验证连通性,可在保存配置后到单个任务配置页做测试,不要在全局配置页点测试。

方案二(方案一无效时尝试)

Jenkins 2.332.x版本默认开启的CSRF代理兼容规则会拦截部分表单的特殊字段提交,按以下操作处理:

  1. 进入Manage Jenkins > Security页面,找到CSRF Protection配置块
  2. 临时取消勾选Enable proxy compatibility选项,保存安全配置
  3. 按照方案一的步骤重新保存Slack全局配置,确认配置生效后,重新勾选Enable proxy compatibility恢复原有安全设置即可。

方案三(界面操作始终失败时兜底)

直接修改Jenkins本地配置文件绕过界面表单提交问题:

  1. 停止运行中的Jenkins服务
  2. 打开Jenkins主目录下的org.jenkinsci.plugins.slack.SlackNotifier.xml配置文件
  3. 替换文件内的配置内容为正确值,参考示例:
<org.jenkinsci.plugins.slack.SlackNotifier plugin="slack@对应插件版本号">
  <workspace>Slack工作空间名称</workspace>
  <authTokenCredentialId>提前创建的Secret text凭证ID</authTokenCredentialId>
  <baseUrl>https://slack.com/api/</baseUrl>
  <room>默认通知频道,例如#ci-notify</room>
  <sendAsText>false</sendAsText>
  <replyBroadcast>false</replyBroadcast>
</org.jenkinsci.plugins.slack.SlackNotifier>
  1. 保存配置文件后重启Jenkins服务,进入页面确认配置加载正常即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 22:27:20