AI-powered Jenkins plugin that explains pipeline and job failures with human-readable insights.
Tired of digging through long Jenkins logs to understand what went wrong?
Explain Error Plugin leverages AI to automatically interpret job and pipeline failures—saving you time and helping you fix issues faster.
Whether it’s a compilation error, test failure, or deployment hiccup, this plugin turns confusing logs into human-readable insights.
- 🔍 One-click error analysis on any console output
- ⚙️ Pipeline-ready with a simple
explainError()
step - 💡 AI-powered explanations using OpenAI GPT models
- 🌐 Rich web UI for viewing AI-generated insights
- 🎯 Customizable: set model, API endpoint, log filters, and more
- Jenkins 2.479.3+
- Java 17+
- OpenAI API Key
-
Install via Jenkins Plugin Manager:
- Go to
Manage Jenkins
→Manage Plugins
→Available
- Search for "Explain Error Plugin"
- Click
Install
and restart Jenkins
- Go to
-
Manual Installation:
- Download the
.hpi
file from releases - Upload via
Manage Jenkins
→Manage Plugins
→Advanced
- Download the
- Go to
Manage Jenkins
→Configure System
- Find the "Explain Error Plugin Configuration" section
- Configure the following settings:
Setting | Description | Default |
---|---|---|
Enable AI Error Explanation | Toggle plugin functionality | ✅ Enabled |
API Key | Your OpenAI API key | Required. you can get one here |
API URL | AI service endpoint | https://api.openai.com/v1/chat/completions |
AI Model | Model to use for analysis | gpt-3.5-turbo |
- Click "Test Configuration" to verify your setup
- Save the configuration
This plugin supports Configuration as Code for automated setup. Use the explainError
symbol in your YAML configuration:
unclassified:
explainError:
enableExplanation: true
apiKey: "${AI_API_KEY}"
apiUrl: "https://api.openai.com/v1/chat/completions"
model: "gpt-3.5-turbo"
Environment Variable Example:
export AI_API_KEY="your-openai-api-key-here"
This allows you to manage the plugin configuration alongside your other Jenkins settings in version control.
Use explainError()
in your pipeline (e.g., in a post
block):
pipeline {
agent any
stages {
stage('Build') {
steps {
script {
// Your build steps here
sh 'make build'
}
}
}
}
post {
failure {
// Automatically explain errors when build fails
explainError()
}
}
}
Optional parameters:
explainError(
maxLines: 500,
logPattern: '(?i)(error|failed|exception)'
)
Output appears in the sidebar of the failed job.
Works with Freestyle, Declarative, or any job type.
- Go to the failed build’s console output
- Click Explain Error button in the top
- View results directly under the button
Issue | Solution |
---|---|
API key not set | Add your key in Jenkins global config |
Auth or rate limit error | Check key validity, quota, and OpenAI plan |
Button not visible | Ensure Jenkins version ≥ 2.479.3, restart Jenkins after installation |
Enable debug logs:
Manage Jenkins
→ System Log
→ Add logger for io.jenkins.plugins.explain_error
- Use
explainError()
inpost { failure { ... } }
blocks - Apply
logPattern
to focus on relevant errors - Monitor your OpenAI usage to control costs
- Keep plugin updated regularly
- GitHub Issues for bug reports and feature requests
- Contributing Guide if you'd like to help
- Security concerns? Email security@jenkins.io
Licensed under the MIT License.
Built with ❤️ for the Jenkins community. If you find it useful, please ⭐ us on GitHub!