跳过正文
  1. Posts/

Explain Error Plugin 重磅更新:AI 自动修复、用量管控与更多 AI 提供商

·1161 字·3 分钟· ·
沈显鹏
作者
沈显鹏
Engineer. Builder. Maintainer.
目录
Explain Error Plugin - 这篇文章属于一个选集。
§ 5: 本文

距离上次更新文章已经过去两个多月了。Explain Error Plugin 的迭代并没有停下来,反而迎来了一波密集更新。今天一次性梳理清楚。


AI Auto-Fix:构建失败后自动创建修复 PR
#

这是这两个月来最大的功能。

过去插件的定位是"告诉开发者构建为什么失败"。AI 分析日志、给出建议,剩下还得你自己动手改。

AI Auto-Fix 把这个闭环补上了——开启后,构建失败时插件会自动分析错误、生成代码修复、创建分支、提交 PR。支持 GitHub、GitLab、Bitbucket Cloud 及各自的自托管版本。

安全上做了多层防护:路径穿越检查、低置信度跳过、空变更跳过,默认只允许修改构建配置文件(pom.xml*.properties*.yml 等),不碰业务代码。

在 Pipeline 中使用只需几行配置:

explainError(
    autoFix: true,
    autoFixCredentialsId: 'github-token',
    autoFixAllowedPaths: 'pom.xml,*.properties,*.yml'
)

用量统计与配额管控
#

插件用户多了之后,一个很自然的问题:到底调用了多少次 AI?花了多少钱?

用量统计
#

用量统计Manage Jenkins → Explain Error Plugin - Usage Statistics 页面提供了直观的可视化:总调用次数、本月用量、Top 10 项目排名。

用量配额
#

用量配额 让你能控制成本。支持全局和文件夹两个层级,可按小时或天设置调用上限。超限后日志会明确提示,不会产生额外费用。

Metrics 导出
#

通过 MetricsUsageRecorder 自动向 Jenkins Metrics 插件暴露调用统计,方便接入外部监控。


四个新的 AI 提供商
#

Custom Okta AI
#

社区贡献者 @mapham 提交的 PR #138。支持企业 Okta 网关的 OAuth 认证流程,适配 Okta 统一认证的企业场景。

Azure OpenAI
#

PR #147 添加了对 Azure OpenAI 服务的支持。通过 Jenkins 凭证管理,配置 Azure endpoint、deployment 和 API version 即可。

DeepSeek
#

PR #149 支持了 DeepSeek,默认模型 deepseek-v4-flash。使用 OpenAI 兼容接口接入,性价比很高。

Qwen
#

同样在 PR #149 中,添加了通义千问(Qwen)的支持,默认模型 qwen-plus,通过阿里云 DashScope 接入。

当前支持的 Provider 一览:

Provider说明
OpenAI默认 provider
Google Gemini2025 年 8 月加入
Ollama本地/内网部署
AWS BedrockAWS 生态
Custom Okta AIOkta 企业网关
Azure OpenAIAzure 托管服务
DeepSeek高性价比
Qwen阿里云 DashScope

Bug 修复与体验优化
#

修复特定 Pipeline 模式下的日志提取失败PR #109):catchError + sh(returnStatus: true) + error() 组合场景中,之前无法正确提取失败日志。由社区贡献者 @lidiams96 修复。

修复未配置 Provider 时的 NPEPR #126):新安装插件但未配置 AI 提供商时不再抛空指针异常。

默认 Provider 设为 OpenAIPR #137):与文档行为一致,未配置时自动使用 OpenAI。由社区贡献者 @donhui 提交。

修复内网代理环境下的连接问题PR #146):插件现在会读取 Jenkins 代理配置,内网环境也能正常访问外部 AI 服务。


小结
#

功能类型
AI Auto-Fix重大功能
用量统计 + 配额 + Metrics新功能
Custom Okta AI / Azure OpenAI / DeepSeek / Qwen新 Provider
catchError 日志修复 / NPE 修复 / 代理支持 / 默认 ProviderBug 修复 & 体验优化

如果你在使用过程中有任何问题或建议,欢迎在 GitHub 上提 Issue。也欢迎社区贡献——这次更新中 Custom Okta AI、catchError 修复、默认 Provider 修复都来自社区贡献者。

Explain Error Plugin - 这篇文章属于一个选集。
§ 5: 本文

相关文章

Jenkins Linux Agent 配置

·353 字·1 分钟
本文提供了 Jenkins Linux Agent 的逐步配置指南,包括 Java 运行时的准备、节点创建以及常见问题的排查方法。