From 46a4f10d677a8de4a6b11b88752888093a967f87 Mon Sep 17 00:00:00 2001 From: Nikitaa104 Date: Sat, 15 Nov 2025 21:39:01 +0530 Subject: [PATCH] Add line number extraction for error explanation --- .../plugins/explain_error/ErrorExplainer.java | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/src/main/java/io/jenkins/plugins/explain_error/ErrorExplainer.java b/src/main/java/io/jenkins/plugins/explain_error/ErrorExplainer.java index 4783c5b..95a9ed4 100644 --- a/src/main/java/io/jenkins/plugins/explain_error/ErrorExplainer.java +++ b/src/main/java/io/jenkins/plugins/explain_error/ErrorExplainer.java @@ -70,11 +70,21 @@ private String extractErrorLogs(Run run, String logPattern, int maxLines) Pattern pattern = Pattern.compile(logPattern, Pattern.CASE_INSENSITIVE); StringBuilder errorLogs = new StringBuilder(); - for (String line : logLines) { - if (pattern.matcher(line).find()) { - errorLogs.append(line).append("\n"); - } - } +for (int i = 0; i < logLines.size(); i++) { + String line = logLines.get(i); + + if (pattern.matcher(line).find()) { + int lineNumber = i + 1; // 1-indexed + LOGGER.fine("Matched error at line: " + lineNumber); + + errorLogs.append("[Line ") + .append(lineNumber) + .append("] ") + .append(line) + .append("\n"); + } +} + return errorLogs.toString(); }