Hello everyone! I’m Nikita Pandey, a B.Tech CSE(AIML) student exploring open-source and excited to contribute to Jenkins for GSoC 2026.
I have experience in Java, React, and backend development, and I’m currently exploring Jenkins architecture and plugin development.
I would be very grateful if someone could guide me towards a beginner-friendly issue or a good first plugin to explore. I’d love to start contributing actively this week and learn from the community!
Also, if any contributors here are currently working on something interesting, I’d be happy to collaborate or test features. Thank you.
Right now I’m playing a bit to explain error plugin. @MarkEWaite recently sent a really nice change that was merged. There are few improvements there to be written and the plugin is using some ai concepts so it’s quite let’s say interesting. All depends in you are interesting in this.
Hi Michael,
Thank you so much for responding!
Yes, I’m definitely interested in contributing to the error plugin.
I’m comfortable with Java, SQL, and MERN stack, and I’m currently learning more about Jenkins architecture and plugin development.
I would love to explore the improvements you mentioned.
Could you please guide me on how to get started — maybe a link to the repository, issues list, or any setup instructions?
Looking forward to contributing!
Thank you, Nikita Pandey
Investigate if is possible to add the line numbers approx where the build fail in the explanation. I rather fail because console seems not have such API
Add a simple API to extract the explain message. This can be used for purpose notification like slack or mattermost
Fine a way to implement x projects so the give explanation is not global
Try to see if is possible to have integrated in pipeline graph view plugin
I’ll start exploring the error plugin and look into the points you mentioned, especially:
Checking if we can approximate the failing line numbers in the build explanation
Reviewing how an API can be added to extract the explanation message for notifications (Slack/Mattermost)
Understanding ways to scope explanations per-project instead of globally
Exploring possibilities for integration with the pipeline graph view plugin
I’ll set up the plugin locally and begin investigating these areas.
If I have questions or need clarification during exploration, can I reach out here?
Quick update—I have completed the first item you suggested.
Added detection of the failing log line Included 2 lines before and after for better context Line numbers are now displayed in the Error Explanation view Jelly view updated to show the highlighted region clearly
Let me know if you’d like any adjustments.
I’m ready to move to the next task—now I am starting with the API endpoint for extracting the explanation.
I’ve now updated the code to follow the correct indentation and replaced the System.out.println() with LOGGER.fine() to match Jenkins plugin standards.
What I suggest if someone request a fix on initial patch is to squash the fix because it’s not yet submitted. Some maintainer keep the original patches sequence and some squash anyway but is definitely faster to review One patch then two. Am I right?
Thank you both for the reviews and the clarifications.
I will revert the unintended change in index.jelly, replace System.out with LOGGER, fix the indentation, and squash the commits into a single clean patch.
I’ll update the PR soon.
You want to allow using AI in jenkins for result by projects. I think that should not be enabled by default, or even will be better to have it enabled only if the pipeline require it. Suppose you have 200 pipeline and customer/access plugin and allow some specific customer to access this feature. For instance in my infrastracture I have 3-4 companies that have a different visibility of jenkins space and right. It’s a way to fine grained the use of AI. Is somenthing that you think that be usefull?
That could be done in multiple ways. E.g. via a job or folder property to enable it selectively. Or by adding a new permission to be able to allow AI usage on user level.
Hi Michael, I’ve squashed all the commits into a single clean patch as you suggested. The PR is now updated with one commit that includes all the fixes. Thanks for the guidance on maintaining a clean commit history! Ready for the next review.
Thanks for the clarification!
You’re right, since Jenkins doesn’t support direct linking to console log lines and run.getLog(maxLines) only provides a tail snippet, the extracted line numbers represent positions within that snippet, not the full log.
I’ll update the PR to:
Prefix the line numbers clearly as snippet lines (e.g., [Snippet Line X])
Avoid implying clickable links
Keep the extraction logic simple and aligned with current plugin behavior
Let me push the update shortly. Thanks for the guidance!
Hello Sir,
I wanted to get your validation, as I was a little bit confused. I would be very grateful if you could help. Just let me know these are the exact steps we are trying to build:
Whenever a pipeline fails in Jenkins, the plugin should:
Extract the relevant part of the log
Send it to an AI model
Return a useful explanation of the failure
Right now, the Explain Error plugin already sends logs to AI — but we have to improve how failure information is extracted and exposed, so that:
The Jenkins UI shows the AI-based error explanation
Jenkins pipelines can access that explanation programmatically
How is the Gerrit ChatGPT Plugin related
You are working on the Gerrit ChatGPT Plugin — an AI integration that explains code reviews.
We want both projects — Jenkins Explain Error and Gerrit ChatGPT Plugin — to share AI principles and improvements, not the exact code.
The AI being trained in the Gerrit plugin is focused on code review.
But for the Jenkins plugin, the AI will focus on error logs / build failures.
So:
Plugin | Use of AI |
| - |
Gerrit ChatGPT Plugin | Explains code diffs and reviews |
So pipeline developers can use the error explanation outside the Jenkins UI. 1. Finish line-number improvement 2. Add an API that returns the AI explanation
For pipelines to access (explainError())
For future features like Slack notification.
3. Make the AI explanations more useful
Use log context intelligently
Highlight root cause
Suggest fixes if AI can
Later (not now), the plugin can:
Link to line numbers using the line numbers plugin