jenkinsci / jenkinsci/forensics-api-plugin

[JENKINS-72951] Reset the reference build

Open
#686 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
18
Forks
31
Avg merge
9d 22h
Merged PRs (30d)
3

Description

I want to be able to manually reset the reference build to a newer version. We mark our build as unstable if the quality gates from warningsng and codecoverage are failed. But sometimes we cannot immediately fix these issues and want to reset the reference build to one that is marked as unstable.

 

We use the freestyle project for our jobs.

 

Currently I work around this by manually rebuilding after changing the config to also select unstable builds.

 

Below example config:

 

"forensics-api@​2.4.0">

"plugin-util-api@​4.1.0"/>


SUCCESS
0
BLUE
true

"warnings-ng@​11.2.2">



"plugin-util-api@​4.1.0"/>
**/target/checkstyle-result.xml

false



"plugin-util-api@​4.1.0"/>
**/target/spotbugsXml.xml

false
true



"plugin-util-api@​4.1.0"/>
**/target/pmd.xml

false



"plugin-util-api@​4.1.0"/>
**/target/cpd.xml

false
50
25



"plugin-util-api@​4.1.0"/>


false




EVERY_BUILD
true
false
0
0
"analysis-model-api@​12.1.0">
LOW


false
true
false
false
true
NEW
false

1.0
UNSTABLE
NEW


AGGREGATION_TOOLS

    "coverage@​1.13.0">

"java.util.ImmutableCollections$List12" resolves-to="java.util.CollSer" serialization="custom">

<default>
1
default>
<int>1int>

"plugin-util-api@​4.1.0"/>

JACOCO


"java.util.ImmutableCollections$List12" resolves-to="java.util.CollSer" serialization="custom">

<default>
1
default>
<int>2int>

0.0
UNSTABLE
BRANCH
PROJECT_DELTA


0.0
UNSTABLE
LINE
PROJECT_DELTA




false
Code Coverage
MODIFIED_LINES
false
false
false
false



LAST_BUILD


 

---
Originally reported by khazr, imported from: Reset the reference build


  • status: Open
  • priority: Minor
  • component(s): forensics-api-plugin
  • label(s): help-wanted
  • resolution: Unresolved
  • votes: 0
  • watchers: 2
  • imported: 20260107-220949

Raw content of original issue

I want to be able to manually reset the reference build to a newer version. We mark our build as unstable if the quality gates from warningsng and codecoverage are failed. But sometimes we cannot immediately fix these issues and want to reset the reference build to one that is marked as unstable.

 

We use the freestyle project for our jobs.

 

Currently I work around this by manually rebuilding after changing the config to also select unstable builds.

 

Below example config:

 



<io.jenkins.plugins.forensics.reference.SimpleReferenceRecorder plugin="forensics-api@2.4.0">

<jenkins plugin="plugin-util-api@4.1.0"/>
<referenceJob/>
<requiredResult>
<name>SUCCESS</name>
<ordinal>0</ordinal>
<color>BLUE</color>
<completeBuild>true</completeBuild>
</requiredResult>
</io.jenkins.plugins.forensics.reference.SimpleReferenceRecorder>



<io.jenkins.plugins.analysis.core.steps.IssuesRecorder plugin="warnings-ng@11.2.2">

<analysisTools>
<io.jenkins.plugins.analysis.warnings.CheckStyle>
<id/>
<name/>
<jenkins plugin="plugin-util-api@4.1.0"/>
<pattern>**/target/checkstyle-result.xml</pattern>
<reportEncoding/>
<skipSymbolicLinks>false</skipSymbolicLinks>
</io.jenkins.plugins.analysis.warnings.CheckStyle>
<io.jenkins.plugins.analysis.warnings.SpotBugs>
<id/>
<name/>
<jenkins plugin="plugin-util-api@4.1.0"/>
<pattern>**/target/spotbugsXml.xml</pattern>
<reportEncoding/>
<skipSymbolicLinks>false</skipSymbolicLinks>
<useRankAsPriority>true</useRankAsPriority>
</io.jenkins.plugins.analysis.warnings.SpotBugs>
<io.jenkins.plugins.analysis.warnings.Pmd>
<id/>
<name/>
<jenkins plugin="plugin-util-api@4.1.0"/>
<pattern>**/target/pmd.xml</pattern>
<reportEncoding/>
<skipSymbolicLinks>false</skipSymbolicLinks>
</io.jenkins.plugins.analysis.warnings.Pmd>
<io.jenkins.plugins.analysis.warnings.Cpd>
<id/>
<name/>
<jenkins plugin="plugin-util-api@4.1.0"/>
<pattern>**/target/cpd.xml</pattern>
<reportEncoding/>
<skipSymbolicLinks>false</skipSymbolicLinks>
<highThreshold>50</highThreshold>
<normalThreshold>25</normalThreshold>
</io.jenkins.plugins.analysis.warnings.Cpd>
<io.jenkins.plugins.analysis.warnings.Java>
<id/>
<name/>
<jenkins plugin="plugin-util-api@4.1.0"/>
<pattern/>
<reportEncoding/>
<skipSymbolicLinks>false</skipSymbolicLinks>
</io.jenkins.plugins.analysis.warnings.Java>
</analysisTools>
<sourceCodeEncoding/>
<sourceDirectories/>
<sourceCodeRetention>EVERY_BUILD</sourceCodeRetention>
<ignoreQualityGate>true</ignoreQualityGate>
<failOnError>false</failOnError>
<healthy>0</healthy>
<unhealthy>0</unhealthy>
<minimumSeverity plugin="analysis-model-api@12.1.0">
<name>LOW</name>
</minimumSeverity>
<filters/>
<isEnabledForFailure>false</isEnabledForFailure>
<isAggregatingResults>true</isAggregatingResults>
<quiet>false</quiet>
<isBlameDisabled>false</isBlameDisabled>
<skipPublishingChecks>true</skipPublishingChecks>
<checksAnnotationScope>NEW</checksAnnotationScope>
<skipPostProcessing>false</skipPostProcessing>
<qualityGates>
<io.jenkins.plugins.analysis.core.util.WarningsQualityGate>
<threshold>1.0</threshold>
<criticality>UNSTABLE</criticality>
<type>NEW</type>
</io.jenkins.plugins.analysis.core.util.WarningsQualityGate>
</qualityGates>
<trendChartType>AGGREGATION_TOOLS</trendChartType>
<scm/>
</io.jenkins.plugins.analysis.core.steps.IssuesRecorder>



    <io.jenkins.plugins.coverage.metrics.steps.CoverageRecorder plugin="coverage@1.13.0">

<tools class="java.util.ImmutableCollections$List12" resolves-to="java.util.CollSer" serialization="custom">
<java.util.CollSer>
<default>
<tag>1</tag>
</default>
<int>1</int>
<io.jenkins.plugins.coverage.metrics.steps.CoverageTool>
<jenkins plugin="plugin-util-api@4.1.0"/>
<pattern/>
<parser>JACOCO</parser>
</io.jenkins.plugins.coverage.metrics.steps.CoverageTool>
</java.util.CollSer>
</tools>
<qualityGates class="java.util.ImmutableCollections$List12" resolves-to="java.util.CollSer" serialization="custom">
<java.util.CollSer>
<default>
<tag>1</tag>
</default>
<int>2</int>
<io.jenkins.plugins.coverage.metrics.steps.CoverageQualityGate>
<threshold>0.0</threshold>
<criticality>UNSTABLE</criticality>
<metric>BRANCH</metric>
<baseline>PROJECT_DELTA</baseline>
</io.jenkins.plugins.coverage.metrics.steps.CoverageQualityGate>
<io.jenkins.plugins.coverage.metrics.steps.CoverageQualityGate>
<threshold>0.0</threshold>
<criticality>UNSTABLE</criticality>
<metric>LINE</metric>
<baseline>PROJECT_DELTA</baseline>
</io.jenkins.plugins.coverage.metrics.steps.CoverageQualityGate>
</java.util.CollSer>
</qualityGates>
<id/>
<name/>
<skipPublishingChecks>false</skipPublishingChecks>
<checksName>Code Coverage</checksName>
<checksAnnotationScope>MODIFIED_LINES</checksAnnotationScope>
<ignoreParsingErrors>false</ignoreParsingErrors>
<failOnError>false</failOnError>
<enabledForFailure>false</enabledForFailure>
<skipSymbolicLinks>false</skipSymbolicLinks>
<scm/>
<sourceCodeEncoding/>
<sourceDirectories/>
<sourceCodeRetention>LAST_BUILD</sourceCodeRetention>
</io.jenkins.plugins.coverage.metrics.steps.CoverageRecorder>


 

  • environment: latest

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.