From 33ce1b8ad76d6c0e7e68758fa0ffbe8ceea1d7a2 Mon Sep 17 00:00:00 2001
From: Ulli Hafner <ullrich.hafner@gmail.com>
Date: Wed, 10 Jan 2024 09:15:20 +0100
Subject: [PATCH] Remove deprecated code.

---
 .../core/model/AggregatedTrendAction.java     | 12 ---
 .../analysis/core/model/AnalysisHistory.java  |  2 +-
 .../analysis/core/model/AnalysisResult.java   | 87 ++++---------------
 .../analysis/core/model/IssuesDetail.java     | 66 +-------------
 .../analysis/core/model/JobAction.java        | 26 ------
 .../analysis/core/model/ReportLocations.java  | 16 ----
 .../model/StaticAnalysisLabelProvider.java    | 78 -----------------
 .../core/portlets/IssuesChartPortlet.java     | 11 ---
 .../PullRequestMonitoringPortlet.java         | 12 ---
 .../analysis/core/restapi/ToolApi.java        | 21 -----
 .../core/steps/AnalysisStepDescriptor.java    | 18 ----
 .../analysis/core/steps/IssuesRecorder.java   | 42 ---------
 .../analysis/core/steps/IssuesScanner.java    |  2 -
 .../core/steps/ScanForIssuesStep.java         | 26 ------
 .../core/util/AffectedFilesResolver.java      | 24 -----
 .../core/util/IssuesStatisticsBuilder.java    | 42 ---------
 .../core/model/DetailsTableModelTest.java     |  2 +-
 .../analysis/core/model/JobActionTest.java    |  2 +-
 .../core/steps/IssuesAggregatorTest.java      |  2 +-
 .../integrations/TimeStamperPluginITest.java  |  2 +-
 .../steps/AffectedFilesResolverITest.java     |  2 +-
 .../steps/MiscIssuesRecorderITest.java        |  4 +-
 .../warnings/steps/PackageDetectorsITest.java |  2 +-
 .../analysis/warnings/steps/StepsITest.java   | 12 +--
 .../warnings/steps/StepsOnAgentITest.java     |  4 +-
 .../warnings/tasks/TaskScannerTest.java       |  4 +-
 26 files changed, 39 insertions(+), 482 deletions(-)

diff --git a/plugin/src/main/java/io/jenkins/plugins/analysis/core/model/AggregatedTrendAction.java b/plugin/src/main/java/io/jenkins/plugins/analysis/core/model/AggregatedTrendAction.java
index 96f9ae8b5a..d0ec002c39 100644
--- a/plugin/src/main/java/io/jenkins/plugins/analysis/core/model/AggregatedTrendAction.java
+++ b/plugin/src/main/java/io/jenkins/plugins/analysis/core/model/AggregatedTrendAction.java
@@ -31,7 +31,6 @@
  */
 public class AggregatedTrendAction implements Action, AsyncConfigurableTrendChart {
     private static final int MIN_TOOLS = 2;
-    private static final String EMPTY = "{}";
 
     private final Job<?, ?> owner;
 
@@ -76,17 +75,6 @@ private Set<AnalysisHistory> createBuildHistory() {
         }
     }
 
-    /**
-     * Returns the trend chart model that renders the aggregated build results.
-     *
-     * @return the trend chart
-     * @deprecated replaced {@link #getConfigurableBuildTrendModel(String)}
-     */
-    @Deprecated
-    public String getBuildTrendModel() {
-        return getConfigurableBuildTrendModel(EMPTY);
-    }
-
     /**
      * Returns the trend chart model that renders the aggregated build results.
      *
diff --git a/plugin/src/main/java/io/jenkins/plugins/analysis/core/model/AnalysisHistory.java b/plugin/src/main/java/io/jenkins/plugins/analysis/core/model/AnalysisHistory.java
index 0b54973b06..8e536222bd 100644
--- a/plugin/src/main/java/io/jenkins/plugins/analysis/core/model/AnalysisHistory.java
+++ b/plugin/src/main/java/io/jenkins/plugins/analysis/core/model/AnalysisHistory.java
@@ -63,7 +63,7 @@ public enum QualityGateEvaluationMode {
      */
     public enum JobResultEvaluationMode {
         /**
-         * Only those jobs are considered that did not fail. I.e. jobs with result {@link Result#UNSTABLE} or {@link
+         * Only those jobs are considered that did not fail. I.e., jobs with result {@link Result#UNSTABLE} or {@link
          * Result#SUCCESS}.
          */
         NO_JOB_FAILURE,
diff --git a/plugin/src/main/java/io/jenkins/plugins/analysis/core/model/AnalysisResult.java b/plugin/src/main/java/io/jenkins/plugins/analysis/core/model/AnalysisResult.java
index 1f5be0a55b..7974561733 100644
--- a/plugin/src/main/java/io/jenkins/plugins/analysis/core/model/AnalysisResult.java
+++ b/plugin/src/main/java/io/jenkins/plugins/analysis/core/model/AnalysisResult.java
@@ -31,7 +31,6 @@
 
 import io.jenkins.plugins.analysis.core.charts.JenkinsBuild;
 import io.jenkins.plugins.analysis.core.util.IssuesStatistics;
-import io.jenkins.plugins.analysis.core.util.IssuesStatisticsBuilder;
 import io.jenkins.plugins.analysis.core.util.StaticAnalysisRun;
 import io.jenkins.plugins.forensics.blame.Blames;
 import io.jenkins.plugins.forensics.blame.BlamesXmlStream;
@@ -60,7 +59,7 @@ public class AnalysisResult implements Serializable, StaticAnalysisRun {
 
     private final String id;
 
-    private IssuesStatistics totals;
+    private final IssuesStatistics totals;
 
     private final Map<String, Integer> sizePerOrigin;
     private final List<String> errors;
@@ -266,22 +265,6 @@ protected AnalysisResult(final Run<?, ?> owner, final String id, final DeltaRepo
      * @return this
      */
     protected Object readResolve() {
-        if (totals == null) {
-            IssuesStatisticsBuilder builder = new IssuesStatisticsBuilder();
-
-            builder.setTotalErrorSize(sizePerSeverity.getOrDefault(Severity.ERROR, 0));
-            builder.setTotalHighSize(sizePerSeverity.getOrDefault(Severity.WARNING_HIGH, 0));
-            builder.setTotalNormalSize(sizePerSeverity.getOrDefault(Severity.WARNING_NORMAL, 0));
-            builder.setTotalLowSize(sizePerSeverity.getOrDefault(Severity.WARNING_LOW, 0));
-
-            builder.setNewErrorSize(newSizePerSeverity.getOrDefault(Severity.ERROR, 0));
-            builder.setNewHighSize(newSizePerSeverity.getOrDefault(Severity.WARNING_HIGH, 0));
-            builder.setNewNormalSize(newSizePerSeverity.getOrDefault(Severity.WARNING_NORMAL, 0));
-            builder.setNewLowSize(newSizePerSeverity.getOrDefault(Severity.WARNING_LOW, 0));
-
-            builder.setFixedSize(fixedSize);
-            totals = builder.build();
-        }
         if (qualityGateResult == null && qualityGateStatus != null) {
             qualityGateResult = new QualityGateResult(qualityGateStatus);
         }
@@ -445,7 +428,7 @@ public boolean hasNoNewWarnings() {
     }
 
     /**
-     * Returns all outstanding issues of the associated static analysis run. I.e. all issues, that are part of the
+     * Returns all outstanding issues of the associated static analysis run. I.e., all issues that are part of the
      * current and previous report.
      *
      * @return all outstanding issues
@@ -457,7 +440,7 @@ public Report getOutstandingIssues() {
     }
 
     /**
-     * Returns all new issues of the associated static analysis run. I.e. all issues, that are part of the current
+     * Returns all new issues of the associated static analysis run. I.e., all issues that are part of the current
      * report but have not been shown up in the previous report.
      *
      * @return all new issues
@@ -469,7 +452,7 @@ public Report getNewIssues() {
     }
 
     /**
-     * Returns all fixed issues of the associated static analysis run. I.e. all issues, that are part of the previous
+     * Returns all fixed issues of the associated static analysis run. I.e., all issues that are part of the previous
      * report but are not present in the current report anymore.
      *
      * @return all fixed issues
@@ -480,6 +463,7 @@ public Report getFixedIssues() {
                 "fixed");
     }
 
+    @CheckForNull
     private WeakReference<Report> getOutstandingIssuesReference() {
         return outstandingIssuesReference;
     }
@@ -488,6 +472,7 @@ private void setOutstandingIssuesReference(final WeakReference<Report> outstandi
         this.outstandingIssuesReference = outstandingIssuesReference;
     }
 
+    @CheckForNull
     private WeakReference<Report> getNewIssuesReference() {
         return newIssuesReference;
     }
@@ -496,6 +481,7 @@ private void setNewIssuesReference(final WeakReference<Report> newIssuesReferenc
         this.newIssuesReference = newIssuesReference;
     }
 
+    @CheckForNull
     private WeakReference<Report> getFixedIssuesReference() {
         return fixedIssuesReference;
     }
@@ -623,9 +609,9 @@ public int getTotalErrorsSize() {
     }
 
     /**
-     * Returns the total number of high severity issues in this analysis run.
+     * Returns the total number of high-severity issues in this analysis run.
      *
-     * @return total number of high severity issues
+     * @return total number of high-severity issues
      */
     public int getTotalHighPrioritySize() {
         return getTotalSizeOf(Severity.WARNING_HIGH);
@@ -641,9 +627,9 @@ public int getTotalNormalPrioritySize() {
     }
 
     /**
-     * Returns the total number of low severity issues in this analysis run.
+     * Returns the total number of low-severity issues in this analysis run.
      *
-     * @return total number of low severity of issues
+     * @return total number of low-severity issues
      */
     public int getTotalLowPrioritySize() {
         return getTotalSizeOf(Severity.WARNING_LOW);
@@ -669,27 +655,27 @@ public int getNewErrorSize() {
     }
 
     /**
-     * Returns the number of new high severity issues in this analysis run.
+     * Returns the number of new high-severity issues in this analysis run.
      *
-     * @return number of new high severity issues
+     * @return number of new high-severity issues
      */
     public int getNewHighPrioritySize() {
         return getNewSizeOf(Severity.WARNING_HIGH);
     }
 
     /**
-     * Returns the number of new normal severity issues in this analysis run.
+     * Returns the number of new normal-severity issues in this analysis run.
      *
-     * @return number of new normal severity issues
+     * @return number of new normal-severity issues
      */
     public int getNewNormalPrioritySize() {
         return getNewSizeOf(Severity.WARNING_NORMAL);
     }
 
     /**
-     * Returns the number of new low severity issues in this analysis run.
+     * Returns the number of new low-severity issues in this analysis run.
      *
-     * @return number of new low severity of issues
+     * @return number of new low-severity issues
      */
     public int getNewLowPrioritySize() {
         return getNewSizeOf(Severity.WARNING_LOW);
@@ -704,45 +690,6 @@ public int getDeltaSize() {
         return totals.getDeltaSize();
     }
 
-    /**
-     * Old serialization item.
-     *
-     * @deprecated Replaced by {@link AnalysisResult#totals}.
-     */
-    @Deprecated @SuppressFBWarnings("SS_SHOULD_BE_STATIC")
-    private final transient int size = 0;
-    /**
-     * Old serialization item.
-     *
-     * @deprecated Replaced by {@link AnalysisResult#totals}.
-     */
-    @Deprecated @SuppressFBWarnings("SS_SHOULD_BE_STATIC")
-    private final transient int newSize = 0;
-    /**
-     * Old serialization item.
-     *
-     * @deprecated Replaced by {@link AnalysisResult#totals}.
-     */
-    @Deprecated
-    @SuppressWarnings("DeprecatedIsStillUsed")
-    private transient int fixedSize;
-    /**
-     * Old serialization item.
-     *
-     * @deprecated Replaced by {@link AnalysisResult#totals}.
-     */
-    @Deprecated
-    @SuppressWarnings({"DeprecatedIsStillUsed", "MismatchedQueryAndUpdateOfCollection"})
-    private final Map<Severity, Integer> sizePerSeverity = new HashMap<>();
-    /**
-     * Old serialization item.
-     *
-     * @deprecated Replaced by {@link AnalysisResult#totals}.
-     */
-    @Deprecated
-    @SuppressWarnings({"DeprecatedIsStillUsed", "MismatchedQueryAndUpdateOfCollection"})
-    private final Map<Severity, Integer> newSizePerSeverity = new HashMap<>();
-
     public Build getBuild() {
         return new JenkinsBuild(getOwner());
     }
diff --git a/plugin/src/main/java/io/jenkins/plugins/analysis/core/model/IssuesDetail.java b/plugin/src/main/java/io/jenkins/plugins/analysis/core/model/IssuesDetail.java
index 68b706ff04..a2814b2c67 100644
--- a/plugin/src/main/java/io/jenkins/plugins/analysis/core/model/IssuesDetail.java
+++ b/plugin/src/main/java/io/jenkins/plugins/analysis/core/model/IssuesDetail.java
@@ -319,21 +319,6 @@ public String getTrendModel() {
         return JACKSON_FACADE.toJson(new NewVersusFixedPieChart().create(newIssues, outstandingIssues, fixedIssues));
     }
 
-    /**
-     * Returns the UI model for an ECharts line chart that shows the issues stacked by severity.
-     *
-     * @param isBuildOnXAxis
-     *         determines whether the Jenkins build number should be used on the X-axis or the date
-     *
-     * @return the UI model as JSON
-     * @deprecated replaced by {@link #getBuildTrend(String)}
-     */
-    @Deprecated
-    @SuppressWarnings("unused")
-    public String getBuildTrend(final boolean isBuildOnXAxis) {
-        return createTrendAsJson(new SeverityTrendChart(), DEFAULT_CONFIGURATION);
-    }
-
     /**
      * Returns the UI model for an ECharts line chart that shows the issues stacked by severity.
      *
@@ -348,21 +333,6 @@ public String getBuildTrend(final String configuration) {
         return createTrendAsJson(new SeverityTrendChart(), configuration);
     }
 
-    /**
-     * Returns the UI model for an ECharts line chart that shows the issues by tool.
-     *
-     * @param isBuildOnXAxis
-     *         determines whether the Jenkins build number should be used on the X-axis or the date
-     *
-     * @return the UI model as JSON
-     * @deprecated replaced by {@link #getToolsTrend(String)}
-     */
-    @Deprecated
-    @SuppressWarnings("unused")
-    public String getToolsTrend(final boolean isBuildOnXAxis) {
-        return createTrendAsJson(new ToolsTrendChart(), DEFAULT_CONFIGURATION);
-    }
-
     /**
      * Returns the UI model for an ECharts line chart that shows the issues by tool.
      *
@@ -377,21 +347,6 @@ public String getToolsTrend(final String configuration) {
         return createTrendAsJson(new ToolsTrendChart(), configuration);
     }
 
-    /**
-     * Returns the UI model for an ECharts line chart that shows the new and fixed issues.
-     *
-     * @param isBuildOnXAxis
-     *         determines whether the Jenkins build number should be used on the X-axis or the date
-     *
-     * @return the UI model as JSON
-     * @deprecated replaced by {@link #getNewVersusFixedTrend(String)}
-     */
-    @Deprecated
-    @SuppressWarnings("unused")
-    public String getNewVersusFixedTrend(final boolean isBuildOnXAxis) {
-        return createTrendAsJson(new NewVersusFixedTrendChart(), DEFAULT_CONFIGURATION);
-    }
-
     /**
      * Returns the UI model for an ECharts line chart that shows the new and fixed issues.
      *
@@ -406,21 +361,6 @@ public String getNewVersusFixedTrend(final String configuration) {
         return createTrendAsJson(new NewVersusFixedTrendChart(), configuration);
     }
 
-    /**
-     * Returns the UI model for an ECharts line chart that shows the issues by tool.
-     *
-     * @param isBuildOnXAxis
-     *         determines whether the Jenkins build number should be used on the X-axis or the date
-     *
-     * @return the UI model as JSON
-     * @deprecated replaced by {@link #getHealthTrend(String)}
-     */
-    @Deprecated
-    @SuppressWarnings("unused")
-    public String getHealthTrend(final boolean isBuildOnXAxis) {
-        return createTrendAsJson(new HealthTrendChart(healthDescriptor), DEFAULT_CONFIGURATION);
-    }
-
     /**
      * Returns the UI model for an ECharts line chart that shows the issues by tool.
      *
@@ -466,7 +406,7 @@ public Report getIssues() {
     }
 
     /**
-     * Returns all new issues of the associated static analysis run. I.e. all issues, that are part of the current
+     * Returns all new issues of the associated static analysis run. I.e., all issues that are part of the current
      * report but have not been shown up in the previous report.
      *
      * @return all new issues
@@ -477,7 +417,7 @@ public Report getNewIssues() {
     }
 
     /**
-     * Returns all fixed issues of the associated static analysis run. I.e. all issues, that are part of the previous
+     * Returns all fixed issues of the associated static analysis run. I.e., all issues that are part of the previous
      * report but are not present in the current report anymore.
      *
      * @return all fixed issues
@@ -488,7 +428,7 @@ public Report getFixedIssues() {
     }
 
     /**
-     * Returns all outstanding issues of the associated static analysis run. I.e. all issues, that are part of the
+     * Returns all outstanding issues of the associated static analysis run. I.e., all issues that are part of the
      * current and previous report.
      *
      * @return all outstanding issues
diff --git a/plugin/src/main/java/io/jenkins/plugins/analysis/core/model/JobAction.java b/plugin/src/main/java/io/jenkins/plugins/analysis/core/model/JobAction.java
index 4439075a24..0c1e54feb2 100644
--- a/plugin/src/main/java/io/jenkins/plugins/analysis/core/model/JobAction.java
+++ b/plugin/src/main/java/io/jenkins/plugins/analysis/core/model/JobAction.java
@@ -37,21 +37,6 @@ public class JobAction implements Action, AsyncConfigurableTrendChart {
     private final int numberOfTools;
     private final TrendChartType trendChartType;
 
-    /**
-     * Creates a new instance of {@link JobAction}.
-     *
-     * @param owner
-     *         the job that owns this action
-     * @param labelProvider
-     *         the label provider
-     *
-     * @deprecated use {@link #JobAction(Job, StaticAnalysisLabelProvider, int)}
-     */
-    @Deprecated
-    public JobAction(final Job<?, ?> owner, final StaticAnalysisLabelProvider labelProvider) {
-        this(owner, labelProvider, 1);
-    }
-
     /**
      * Creates a new instance of {@link JobAction}.
      *
@@ -181,17 +166,6 @@ public Optional<ResultAction> getLatestAction() {
         return createBuildHistory().getBaselineAction();
     }
 
-    /**
-     * Returns the trend chart model that renders the aggregated build results.
-     *
-     * @return the trend chart
-     * @deprecated replaced {@link #getConfigurableBuildTrendModel(String)}
-     */
-    @Deprecated
-    public String getBuildTrendModel() {
-        return getConfigurableBuildTrendModel("{}");
-    }
-
     /**
      * Returns the trend chart model that renders the build results for a specific action.
      *
diff --git a/plugin/src/main/java/io/jenkins/plugins/analysis/core/model/ReportLocations.java b/plugin/src/main/java/io/jenkins/plugins/analysis/core/model/ReportLocations.java
index 8ed574973d..8a3cda57df 100644
--- a/plugin/src/main/java/io/jenkins/plugins/analysis/core/model/ReportLocations.java
+++ b/plugin/src/main/java/io/jenkins/plugins/analysis/core/model/ReportLocations.java
@@ -22,20 +22,4 @@ public FileLocations toFileLocations(final Report report) {
         report.stream().forEach(i -> fileLocations.addLine(i.getFileName(), i.getLineStart()));
         return fileLocations;
     }
-
-    /**
-     * Returns the affected file locations in the report.
-     *
-     * @param report
-     *         the report to get the affected files from
-     * @param workspace
-     *         the workspace to get the SCM repository from
-     *
-     * @return the affected file locations
-     * @deprecated use {@link #toFileLocations(Report)}
-     */
-    @Deprecated
-    public FileLocations toFileLocations(final Report report, @SuppressWarnings("unused") final String workspace) {
-        return toFileLocations(report);
-    }
 }
diff --git a/plugin/src/main/java/io/jenkins/plugins/analysis/core/model/StaticAnalysisLabelProvider.java b/plugin/src/main/java/io/jenkins/plugins/analysis/core/model/StaticAnalysisLabelProvider.java
index 7af5864c6e..df4a13e373 100644
--- a/plugin/src/main/java/io/jenkins/plugins/analysis/core/model/StaticAnalysisLabelProvider.java
+++ b/plugin/src/main/java/io/jenkins/plugins/analysis/core/model/StaticAnalysisLabelProvider.java
@@ -11,9 +11,6 @@
 import edu.hm.hafner.util.VisibleForTesting;
 import edu.umd.cs.findbugs.annotations.CheckForNull;
 
-import j2html.tags.ContainerTag;
-import j2html.tags.DomContent;
-
 import org.jvnet.localizer.Localizable;
 import hudson.model.Run;
 
@@ -179,17 +176,6 @@ public String toString() {
      * @return the name of the side panel link
      */
     public String getLinkName() {
-        return getRawLinkName();
-    }
-
-    /**
-     * Returns the name of the link to the results.
-     *
-     * @return the name of the side panel link
-     * @deprecated use {@link #getLinkName()}
-     */
-    @Deprecated @Generated
-    public String getRawLinkName() {
         if (StringUtils.isNotBlank(name)) {
             return Messages.Tool_Link_Name(name);
         }
@@ -223,70 +209,6 @@ public String getLargeIconUrl() {
         return ANALYSIS_SVG_ICON;
     }
 
-    /**
-     * Returns the title for the small information box in the corresponding build page.
-     *
-     * @param result
-     *         the result
-     * @param hasErrors
-     *         indicates if an error has been reported
-     *
-     * @return the title div
-     * @deprecated rendering of the summary is now done on the client side with the new model {@link SummaryModel}
-     */
-    @Deprecated
-    public ContainerTag getTitle(final AnalysisResult result, final boolean hasErrors) {
-        return emptyElementForDeprecatedMethod();
-    }
-
-    /**
-     * Returns the HTML label for the link to the new issues of the build.
-     *
-     * @param newSize
-     *         the number of new issues
-     *
-     * @return the legend of the trend chart
-     * @deprecated rendering of the summary is now done on the client side with the new model {@link SummaryModel}
-     */
-    @Deprecated
-    public ContainerTag getNewIssuesLabel(final int newSize) {
-        return emptyElementForDeprecatedMethod();
-    }
-
-    /**
-     * Returns the HTML label for the link to the fixed issues of the build.
-     *
-     * @param fixedSize
-     *         the number of fixed issues
-     *
-     * @return the legend of the trend chart
-     * @deprecated rendering of the summary is now done on the client side with the new model {@link SummaryModel}
-     */
-    @Deprecated
-    public ContainerTag getFixedIssuesLabel(final int fixedSize) {
-        return emptyElementForDeprecatedMethod();
-    }
-
-    /**
-     * Returns the HTML text showing the number of builds since the project has no issues.
-     *
-     * @param currentBuild
-     *         the current build number
-     * @param noIssuesSinceBuild
-     *         the build since there are no issues
-     *
-     * @return the legend of the trend chart
-     * @deprecated rendering of the summary is now done on the client side with the new model {@link SummaryModel}
-     */
-    @Deprecated
-    public DomContent getNoIssuesSinceLabel(final int currentBuild, final int noIssuesSinceBuild) {
-        return emptyElementForDeprecatedMethod();
-    }
-
-    private ContainerTag emptyElementForDeprecatedMethod() {
-        return div();
-    }
-
     /**
      * Returns a short description describing the total number of issues.
      *
diff --git a/plugin/src/main/java/io/jenkins/plugins/analysis/core/portlets/IssuesChartPortlet.java b/plugin/src/main/java/io/jenkins/plugins/analysis/core/portlets/IssuesChartPortlet.java
index ab6007b59e..83a1ded346 100644
--- a/plugin/src/main/java/io/jenkins/plugins/analysis/core/portlets/IssuesChartPortlet.java
+++ b/plugin/src/main/java/io/jenkins/plugins/analysis/core/portlets/IssuesChartPortlet.java
@@ -139,17 +139,6 @@ public String getBuildTrendModel() {
                 severityChart.aggregate(histories, new ChartModelConfiguration(AxisType.DATE)));
     }
 
-    /**
-     * Returns the UI model for an ECharts line chart that shows the issues stacked by severity.
-     *
-     * @return the UI model as JSON
-     * @deprecated replaced by {@link #getBuildTrendModel()} which is called from JS file
-     */
-    @JavaScriptMethod @Deprecated @SuppressWarnings("unused") // Called by jelly view
-    public String getTrend() {
-        return getBuildTrendModel();
-    }
-
     /**
      * Registers the specified jobs in this portlet. These jobs will be used to render the trend chart. Note that
      * rendering of the trend chart is done using an Ajax call later on.
diff --git a/plugin/src/main/java/io/jenkins/plugins/analysis/core/portlets/PullRequestMonitoringPortlet.java b/plugin/src/main/java/io/jenkins/plugins/analysis/core/portlets/PullRequestMonitoringPortlet.java
index 803604b19d..6e16f0ee06 100644
--- a/plugin/src/main/java/io/jenkins/plugins/analysis/core/portlets/PullRequestMonitoringPortlet.java
+++ b/plugin/src/main/java/io/jenkins/plugins/analysis/core/portlets/PullRequestMonitoringPortlet.java
@@ -154,18 +154,6 @@ public boolean hasQualityGate() {
         return !result.getQualityGateStatus().equals(QualityGateStatus.INACTIVE);
     }
 
-    /**
-     * Get the icon of the quality gate.
-     *
-     * @return
-     *          the image url of the icon.
-     * @deprecated replaced by {@link #getQualityGateResultClass()}
-     */
-    @Deprecated
-    public String getQualityGateResultIconUrl() {
-        return result.getQualityGateStatus().getResult().color.getImageOf("16x16");
-    }
-
     /**
      * Get the icon class of the quality gate.
      *
diff --git a/plugin/src/main/java/io/jenkins/plugins/analysis/core/restapi/ToolApi.java b/plugin/src/main/java/io/jenkins/plugins/analysis/core/restapi/ToolApi.java
index f0d833d277..8b99813cdf 100644
--- a/plugin/src/main/java/io/jenkins/plugins/analysis/core/restapi/ToolApi.java
+++ b/plugin/src/main/java/io/jenkins/plugins/analysis/core/restapi/ToolApi.java
@@ -1,6 +1,5 @@
 package io.jenkins.plugins.analysis.core.restapi;
 
-import java.util.Collections;
 import java.util.Map;
 
 import edu.hm.hafner.analysis.Severity;
@@ -23,25 +22,6 @@ public class ToolApi {
     private final int size;
     private final Map<Severity, Integer> sizePerSeverity;
 
-    /**
-     * Creates a new instance of {@link ToolApi}.
-     *
-     * @param id
-     *         unique ID of the tool
-     * @param name
-     *         human-readable name of the tool
-     * @param latestUrl
-     *         the URL to the latest results
-     * @param size
-     *         the number of warnings
-     * @deprecated
-     *         use {@link #ToolApi(String, String, String, int, Map)} instead.
-     */
-    @Deprecated
-    public ToolApi(final String id, final String name, final String latestUrl, final int size) {
-        this(name, id, latestUrl, size, Collections.emptyMap());
-    }
-
     /**
      * Creates a new instance of {@link ToolApi}.
      *
@@ -103,5 +83,4 @@ public int getNormalSize() {
     public int getLowSize() {
         return sizePerSeverity.getOrDefault(Severity.WARNING_LOW, 0);
     }
-
 }
diff --git a/plugin/src/main/java/io/jenkins/plugins/analysis/core/steps/AnalysisStepDescriptor.java b/plugin/src/main/java/io/jenkins/plugins/analysis/core/steps/AnalysisStepDescriptor.java
index bc8bda4f9e..ea8f747488 100644
--- a/plugin/src/main/java/io/jenkins/plugins/analysis/core/steps/AnalysisStepDescriptor.java
+++ b/plugin/src/main/java/io/jenkins/plugins/analysis/core/steps/AnalysisStepDescriptor.java
@@ -96,24 +96,6 @@ public ListBoxModel doFillMinimumSeverityItems() {
             return model.getAllSeverityFilters();
         }
         return new ListBoxModel();
-
-    }
-
-    /**
-     * Returns the model with the possible reference jobs.
-     *
-     * @param project
-     *         the project that is configured
-     * @return the model with the possible reference jobs
-     * @deprecated not used anymore, part of forensics plugin
-     */
-    @Deprecated
-    @POST
-    public ComboBoxModel doFillReferenceJobNameItems(@AncestorInPath final BuildableItem project) {
-        if (JENKINS.hasPermission(Item.CONFIGURE, project)) {
-            return model.getAllJobs();
-        }
-        return new ComboBoxModel();
     }
 
     /**
diff --git a/plugin/src/main/java/io/jenkins/plugins/analysis/core/steps/IssuesRecorder.java b/plugin/src/main/java/io/jenkins/plugins/analysis/core/steps/IssuesRecorder.java
index 346afaa30f..93b3580d74 100644
--- a/plugin/src/main/java/io/jenkins/plugins/analysis/core/steps/IssuesRecorder.java
+++ b/plugin/src/main/java/io/jenkins/plugins/analysis/core/steps/IssuesRecorder.java
@@ -62,7 +62,6 @@
 import io.jenkins.plugins.util.LogHandler;
 import io.jenkins.plugins.util.ResultHandler;
 import io.jenkins.plugins.util.RunResultHandler;
-import io.jenkins.plugins.util.StageResultHandler;
 import io.jenkins.plugins.util.ValidationUtilities;
 
 /**
@@ -426,32 +425,6 @@ public void setSkipBlames(final boolean skipBlames) {
         isBlameDisabled = skipBlames;
     }
 
-    /**
-     * Not used anymore.
-     *
-     * @return {@code true} if SCM forensics should be disabled
-     * @deprecated Forensics will be automatically skipped if the Forensics recorder is not activated.
-     */
-    @SuppressWarnings("PMD.BooleanGetMethodName")
-    @Deprecated
-    public boolean getForensicsDisabled() {
-        return isForensicsDisabled;
-    }
-
-    /**
-     * Not used anymore.
-     *
-     * @param forensicsDisabled
-     *         not used
-     *
-     * @deprecated Forensics will be automatically skipped if the Forensics recorder is not activated.
-     */
-    @DataBoundSetter
-    @Deprecated
-    public void setForensicsDisabled(final boolean forensicsDisabled) {
-        isForensicsDisabled = forensicsDisabled;
-    }
-
     /**
      * Returns whether publishing checks should be skipped.
      *
@@ -705,21 +678,6 @@ public boolean perform(final AbstractBuild<?, ?> build, final Launcher launcher,
         return true;
     }
 
-    /**
-     * Executes the build step. Used from {@link RecordIssuesStep} to provide a {@link StageResultHandler} that has
-     * Pipeline-specific behavior.
-     *
-     * @param run
-     *         the run of the pipeline or freestyle job
-     * @param workspace
-     *         workspace of the build
-     * @param listener
-     *         the logger
-     * @param resultHandler
-     *         reports the status for the build or for the stage
-     *
-     * @return the created results
-     */
     List<AnalysisResult> perform(final Run<?, ?> run, final FilePath workspace, final TaskListener listener,
             final ResultHandler resultHandler) throws InterruptedException, IOException {
         Result overallResult = run.getResult();
diff --git a/plugin/src/main/java/io/jenkins/plugins/analysis/core/steps/IssuesScanner.java b/plugin/src/main/java/io/jenkins/plugins/analysis/core/steps/IssuesScanner.java
index 7c3d216de8..c93e0969d4 100644
--- a/plugin/src/main/java/io/jenkins/plugins/analysis/core/steps/IssuesScanner.java
+++ b/plugin/src/main/java/io/jenkins/plugins/analysis/core/steps/IssuesScanner.java
@@ -170,7 +170,6 @@ private Blamer createBlamer(final Report report) {
                 report.logInfo("-> Filtering SCMs by key '%s'", scm);
             }
             Blamer blamer = BlamerFactory.findBlamer(scm, run, workspace, listener, log);
-            log.logSummary();
             report.mergeLogMessages(log);
 
             return blamer;
@@ -283,7 +282,6 @@ private Blames blame(final Report filtered, final FileLocations fileLocations) {
             }
             FilteredLog log = new FilteredLog("Errors while extracting author and commit information from Git:");
             Blames blames = blamer.blame(fileLocations, log);
-            log.logSummary();
             filtered.mergeLogMessages(log);
             return blames;
         }
diff --git a/plugin/src/main/java/io/jenkins/plugins/analysis/core/steps/ScanForIssuesStep.java b/plugin/src/main/java/io/jenkins/plugins/analysis/core/steps/ScanForIssuesStep.java
index 501a5afb8d..48ad2cca77 100644
--- a/plugin/src/main/java/io/jenkins/plugins/analysis/core/steps/ScanForIssuesStep.java
+++ b/plugin/src/main/java/io/jenkins/plugins/analysis/core/steps/ScanForIssuesStep.java
@@ -127,32 +127,6 @@ public void setBlameDisabled(final boolean blameDisabled) {
         isBlameDisabled = blameDisabled;
     }
 
-    /**
-     * Not used anymore.
-     *
-     * @return {@code true} if SCM forensics should be disabled
-     * @deprecated Forensics will be automatically skipped if the Forensics recorder is not activated.
-     */
-    @SuppressWarnings("PMD.BooleanGetMethodName")
-    @Deprecated
-    public boolean getForensicsDisabled() {
-        return false;
-    }
-
-    /**
-     * Not used anymore.
-     *
-     * @param forensicsDisabled
-     *         not used
-     *
-     * @deprecated Forensics will be automatically skipped if the Forensics recorder is not activated.
-     */
-    @DataBoundSetter
-    @Deprecated
-    public void setForensicsDisabled(final boolean forensicsDisabled) {
-        // do nothing
-    }
-
     @CheckForNull
     public String getSourceCodeEncoding() {
         return sourceCodeEncoding;
diff --git a/plugin/src/main/java/io/jenkins/plugins/analysis/core/util/AffectedFilesResolver.java b/plugin/src/main/java/io/jenkins/plugins/analysis/core/util/AffectedFilesResolver.java
index a4366099d5..292ac6173a 100644
--- a/plugin/src/main/java/io/jenkins/plugins/analysis/core/util/AffectedFilesResolver.java
+++ b/plugin/src/main/java/io/jenkins/plugins/analysis/core/util/AffectedFilesResolver.java
@@ -15,7 +15,6 @@
 
 import hudson.FilePath;
 import hudson.model.Run;
-import hudson.remoting.VirtualChannel;
 
 import io.jenkins.plugins.prism.FilePermissionEnforcer;
 
@@ -111,28 +110,6 @@ public void copyAffectedFilesToBuildFolder(final Report report, final FilePath w
         copyAffectedFilesToBuildFolder(report, new RemoteFacade(workspace, permittedSourceDirectories, buildFolder));
     }
 
-    /**
-     * Copies all files with issues from the workspace to the build folder.
-     *
-     * @param report
-     *         the issues
-     * @param channel
-     *         virtual channel to access the files on the agent
-     * @param buildFolder
-     *         directory to store the copied files in
-     * @param permittedSourceDirectories
-     *         paths to the affected files on the agent
-     *
-     * @throws InterruptedException
-     *         if the user cancels the processing
-     * @deprecated use {@link #copyAffectedFilesToBuildFolder(Report, FilePath, Set, FilePath)}
-     */
-    @Deprecated
-    public void copyAffectedFilesToBuildFolder(final Report report, final VirtualChannel channel,
-            final FilePath buildFolder, final Set<String> permittedSourceDirectories) throws InterruptedException {
-        // do nothing
-    }
-
     @VisibleForTesting
     @SuppressWarnings("PMD.CognitiveComplexity")
     void copyAffectedFilesToBuildFolder(final Report report, final RemoteFacade remoteFacade)
@@ -170,7 +147,6 @@ void copyAffectedFilesToBuildFolder(final Report report, final RemoteFacade remo
         log.getErrorMessages().forEach(report::logError);
         report.logInfo("-> %d copied, %d not in workspace, %d not-found, %d with I/O error",
                 copied, notInWorkspace, notFound, log.size());
-        log.logSummary();
     }
 
     static class RemoteFacade {
diff --git a/plugin/src/main/java/io/jenkins/plugins/analysis/core/util/IssuesStatisticsBuilder.java b/plugin/src/main/java/io/jenkins/plugins/analysis/core/util/IssuesStatisticsBuilder.java
index da969e2fd4..e3bb6d0984 100644
--- a/plugin/src/main/java/io/jenkins/plugins/analysis/core/util/IssuesStatisticsBuilder.java
+++ b/plugin/src/main/java/io/jenkins/plugins/analysis/core/util/IssuesStatisticsBuilder.java
@@ -113,46 +113,4 @@ void clear() {
 
         fixedSize = 0;
     }
-
-    /**
-     * Computed automatically since 6.1.0.
-     *
-     * @param unused
-     *         not used
-     *
-     * @return this
-     * @deprecated Computed automatically.
-     */
-    @Deprecated
-    public IssuesStatisticsBuilder setTotalSize(final int unused) {
-        return this;
-    }
-
-    /**
-     * Computed automatically since 6.1.0.
-     *
-     * @param unused
-     *         not used
-     *
-     * @return this
-     * @deprecated Computed automatically.
-     */
-    @Deprecated
-    public IssuesStatisticsBuilder setNewSize(final int unused) {
-        return this;
-    }
-
-    /**
-     * Computed automatically since 6.1.0.
-     *
-     * @param unused
-     *         not used
-     *
-     * @return this
-     * @deprecated Computed automatically.
-     */
-    @Deprecated
-    public IssuesStatisticsBuilder setDeltaSize(final int unused) {
-        return this;
-    }
 }
diff --git a/plugin/src/test/java/io/jenkins/plugins/analysis/core/model/DetailsTableModelTest.java b/plugin/src/test/java/io/jenkins/plugins/analysis/core/model/DetailsTableModelTest.java
index e3d7aa58c7..5a7033d222 100644
--- a/plugin/src/test/java/io/jenkins/plugins/analysis/core/model/DetailsTableModelTest.java
+++ b/plugin/src/test/java/io/jenkins/plugins/analysis/core/model/DetailsTableModelTest.java
@@ -16,7 +16,7 @@
  */
 class DetailsTableModelTest extends AbstractDetailsModelTest {
     @Test
-    @org.jvnet.hudson.test.Issue("JENKINS-64051")
+    @org.junitpioneer.jupiter.Issue("JENKINS-64051")
     void shouldNotRemoveWhitespace() {
         try (IssueBuilder builder = new IssueBuilder()) {
             builder.setMessage("project: Defaults to NumberGroupSeparator on .NET Core except on Windows.");
diff --git a/plugin/src/test/java/io/jenkins/plugins/analysis/core/model/JobActionTest.java b/plugin/src/test/java/io/jenkins/plugins/analysis/core/model/JobActionTest.java
index 27e757ead5..aa8a2a2a7e 100644
--- a/plugin/src/test/java/io/jenkins/plugins/analysis/core/model/JobActionTest.java
+++ b/plugin/src/test/java/io/jenkins/plugins/analysis/core/model/JobActionTest.java
@@ -32,7 +32,7 @@ class JobActionTest {
     void shouldUseLabelProvider() {
         StaticAnalysisLabelProvider labelProvider = mock(StaticAnalysisLabelProvider.class);
         when(labelProvider.getLinkName()).thenReturn(LINK_NAME);
-        when(labelProvider.getRawLinkName()).thenReturn(LINK_NAME);
+        when(labelProvider.getLinkName()).thenReturn(LINK_NAME);
         when(labelProvider.getTrendName()).thenReturn(TREND_NAME);
         when(labelProvider.getId()).thenReturn(ID);
 
diff --git a/plugin/src/test/java/io/jenkins/plugins/analysis/core/steps/IssuesAggregatorTest.java b/plugin/src/test/java/io/jenkins/plugins/analysis/core/steps/IssuesAggregatorTest.java
index 8fc53cd44a..cb6f79e2f1 100644
--- a/plugin/src/test/java/io/jenkins/plugins/analysis/core/steps/IssuesAggregatorTest.java
+++ b/plugin/src/test/java/io/jenkins/plugins/analysis/core/steps/IssuesAggregatorTest.java
@@ -74,7 +74,7 @@ void shouldCollectSingleResultForSingleAxis() {
         verify(recorder).publishResult(any(), any(), anyString(), any(), anyString(), any());
     }
 
-    @Test @org.jvnet.hudson.test.Issue("JENKINS-59178")
+    @Test @org.junitpioneer.jupiter.Issue("JENKINS-59178")
     void shouldCollectDifferentResultsForTwoAxes() {
         IssuesRecorder recorder = mock(IssuesRecorder.class);
         IssuesAggregator aggregator = createIssueAggregator(recorder);
diff --git a/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/integrations/TimeStamperPluginITest.java b/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/integrations/TimeStamperPluginITest.java
index ffe284ad69..c0b51ba631 100644
--- a/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/integrations/TimeStamperPluginITest.java
+++ b/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/integrations/TimeStamperPluginITest.java
@@ -65,7 +65,7 @@ private String getWorkspacePath(final WorkflowJob project, final String fileName
     /**
      * Tests JENKINS-56484: Error while parsing clang errors with active timestamper plugin.
      */
-    @Test @org.jvnet.hudson.test.Issue("JENKINS-56484")
+    @Test @org.junitpioneer.jupiter.Issue("JENKINS-56484")
     void shouldCorrectlyParseClangErrors() {
         WorkflowJob project = createPipeline();
 
diff --git a/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/steps/AffectedFilesResolverITest.java b/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/steps/AffectedFilesResolverITest.java
index 04129d9a1c..ebfbc79869 100644
--- a/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/steps/AffectedFilesResolverITest.java
+++ b/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/steps/AffectedFilesResolverITest.java
@@ -210,7 +210,7 @@ void shouldShowNoFilesOutsideWorkspace() {
      * Verifies that a source code file will be copied from outside the workspace if configured correspondingly.
      */
     @Test
-    @org.jvnet.hudson.test.Issue("JENKINS-55998")
+    @org.junitpioneer.jupiter.Issue("JENKINS-55998")
     void shouldShowFileOutsideWorkspaceIfConfigured() {
         FreeStyleProject job = createFreeStyleProject();
         prepareGccLog(job);
diff --git a/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/steps/MiscIssuesRecorderITest.java b/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/steps/MiscIssuesRecorderITest.java
index 7f2ce6856f..ccb593bba5 100644
--- a/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/steps/MiscIssuesRecorderITest.java
+++ b/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/steps/MiscIssuesRecorderITest.java
@@ -57,7 +57,7 @@ class MiscIssuesRecorderITest extends IntegrationTestWithJenkinsPerSuite {
     /**
      * Verifies that {@link FindBugs} handles the different severity mapping modes ({@link PriorityProperty}).
      */
-    @Test @org.jvnet.hudson.test.Issue("JENKINS-55514")
+    @Test @org.junitpioneer.jupiter.Issue("JENKINS-55514")
     void shouldMapSeverityFilterForFindBugs() {
         FreeStyleProject project = createFreeStyleProjectWithWorkspaceFilesWithSuffix("findbugs-severities.xml");
 
@@ -256,7 +256,7 @@ void shouldHaveOriginsIfBuildContainsWarnings() {
      * Verifies that a report that contains errors (since the report pattern does not find some files),
      * will fail the step if the property {@link IssuesRecorder#setFailOnError(boolean)} is enabled.
      */
-    @Test @org.jvnet.hudson.test.Issue("JENKINS-58056")
+    @Test @org.junitpioneer.jupiter.Issue("JENKINS-58056")
     void shouldFailBuildWhenFailBuildOnErrorsIsSet() {
         FreeStyleProject job = createFreeStyleProject();
         IssuesRecorder recorder = enableEclipseWarnings(job);
diff --git a/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/steps/PackageDetectorsITest.java b/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/steps/PackageDetectorsITest.java
index 631f937a79..8dedc87849 100644
--- a/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/steps/PackageDetectorsITest.java
+++ b/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/steps/PackageDetectorsITest.java
@@ -42,7 +42,7 @@ class PackageDetectorsITest extends IntegrationTestWithJenkinsPerSuite {
      * in the expected HTML output.
      */
     @Test
-    @org.jvnet.hudson.test.Issue("JENKINS-58538")
+    @org.junitpioneer.jupiter.Issue("JENKINS-58538")
     void shouldShowFolderDistributionRatherThanPackageDistribution() {
         FreeStyleProject project = createFreeStyleProject();
 
diff --git a/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/steps/StepsITest.java b/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/steps/StepsITest.java
index 6d5a4b8036..a96e4f1f74 100644
--- a/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/steps/StepsITest.java
+++ b/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/steps/StepsITest.java
@@ -109,7 +109,7 @@ void shouldWhitelistScannerApi() {
      * Runs a pipeline and verifies the {@code recordIssues} step has some allowlisted methods.
      */
     @Test
-    @org.jvnet.hudson.test.Issue("JENKINS-63109")
+    @org.junitpioneer.jupiter.Issue("JENKINS-63109")
     void shouldWhitelistRecorderApi() {
         WorkflowJob job = createPipelineWithWorkspaceFilesWithSuffix("checkstyle1.xml", "checkstyle2.xml");
 
@@ -554,7 +554,7 @@ void shouldEnforceQualityGate() {
 
     /** Runs the JavaDoc parser and enforces quality gates. */
     @Test
-    @org.jvnet.hudson.test.Issue("JENKINS-58253")
+    @org.junitpioneer.jupiter.Issue("JENKINS-58253")
     void shouldFailBuildWhenFailBuildOnErrorsIsSet() {
         WorkflowJob job = createPipeline();
 
@@ -623,7 +623,7 @@ private void assertThatJavaIssuesArePublished(final AnalysisResult result) {
      * for the origin field as well.
      */
     @Test
-    @org.jvnet.hudson.test.Issue("JENKINS-57638")
+    @org.junitpioneer.jupiter.Issue("JENKINS-57638")
     void shouldUseCustomIdsForOrigin() {
         verifyCustomIdsForOrigin(asStage(
                 "def java = scanForIssues tool: java(pattern:'**/*issues.txt', reportEncoding:'UTF-8', id:'id1', name:'name1')",
@@ -636,7 +636,7 @@ void shouldUseCustomIdsForOrigin() {
      * for the origin field as well.
      */
     @Test
-    @org.jvnet.hudson.test.Issue("JENKINS-57638")
+    @org.junitpioneer.jupiter.Issue("JENKINS-57638")
     void shouldUseCustomIdsForOriginSimpleStep() {
         verifyCustomIdsForOrigin(asStage(
                 "recordIssues(\n"
@@ -1036,7 +1036,7 @@ void shouldHandleMissingJobBuildIdAsReference() {
      * @see <a href="http://issues.jenkins-ci.org/browse/JENKINS-39203">Issue 39203</a>
      */
     @Test
-    @org.jvnet.hudson.test.Issue("JENKINS-39203")
+    @org.junitpioneer.jupiter.Issue("JENKINS-39203")
     void publishIssuesShouldMarkStepWithWarningAction() {
         WorkflowJob job = createPipelineWithWorkspaceFilesWithSuffix("javac.txt");
         job.setDefinition(asStage(createScanForIssuesStep(new Java(), "java"),
@@ -1058,7 +1058,7 @@ void publishIssuesShouldMarkStepWithWarningAction() {
      * @see <a href="http://issues.jenkins-ci.org/browse/JENKINS-39203">Issue 39203</a>
      */
     @Test
-    @org.jvnet.hudson.test.Issue("JENKINS-39203")
+    @org.junitpioneer.jupiter.Issue("JENKINS-39203")
     void recordIssuesShouldMarkStepWithWarningAction() {
         WorkflowJob job = createPipelineWithWorkspaceFilesWithSuffix("javac.txt");
         job.setDefinition(asStage("recordIssues(tool: java(pattern:'**/*issues.txt', reportEncoding:'UTF-8'),"
diff --git a/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/steps/StepsOnAgentITest.java b/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/steps/StepsOnAgentITest.java
index 08044c132f..766f27de2a 100644
--- a/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/steps/StepsOnAgentITest.java
+++ b/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/steps/StepsOnAgentITest.java
@@ -35,7 +35,7 @@ class StepsOnAgentITest extends IntegrationTestWithJenkinsPerTest {
      * active, see JENKINS-56007 for details.
      */
     @Test
-    @org.jvnet.hudson.test.Issue("JENKINS-56007")
+    @org.junitpioneer.jupiter.Issue("JENKINS-56007")
     void shouldCopySourcesIfMasterAgentSecurityIsActive() {
         Slave agent = createAgentWithEnabledSecurity("agent");
 
@@ -58,7 +58,7 @@ void shouldCopySourcesIfMasterAgentSecurityIsActive() {
     }
 
     private String getSourceCode(final AnalysisResult result, final int rowIndex) {
-        IssuesDetail target = (IssuesDetail) result.getOwner().getAction(ResultAction.class).getTarget();
+        IssuesDetail target = result.getOwner().getAction(ResultAction.class).getTarget();
         String sourceCodeUrl = new FileNameRenderer(result.getOwner()).getSourceCodeUrl(
                 result.getIssues().get(rowIndex));
         SourceCodeViewModel dynamic = (SourceCodeViewModel) target.getDynamic(
diff --git a/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/tasks/TaskScannerTest.java b/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/tasks/TaskScannerTest.java
index 56d7c264c2..7f6a9aec5a 100644
--- a/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/tasks/TaskScannerTest.java
+++ b/plugin/src/test/java/io/jenkins/plugins/analysis/warnings/tasks/TaskScannerTest.java
@@ -118,7 +118,7 @@ void shouldParseRegularExpressionsIssue17225() {
      *
      * @see <a href="https://issues.jenkins-ci.org/browse/JENKINS-64622">Issue 64622</a>
      */
-    @Test @org.jvnet.hudson.test.Issue("JENKINS-64622")
+    @Test @org.junitpioneer.jupiter.Issue("JENKINS-64622")
     void shouldHandleEmptyMatchWithRegExp() {
         Report tasks = new TaskScannerBuilder()
                 .setHighTasks("(a)?(b)?.*")
@@ -134,7 +134,7 @@ void shouldHandleEmptyMatchWithRegExp() {
      *
      * @see <a href="https://issues.jenkins-ci.org/browse/JENKINS-22744">Issue 22744</a>
      */
-    @Test @org.jvnet.hudson.test.Issue("JENKINS-22744")
+    @Test @org.junitpioneer.jupiter.Issue("JENKINS-22744")
     void issue22744() {
         Report tasks = new TaskScannerBuilder()
                 .setHighTasks("FIXME")