Skip to content

Enhance CoverageQualityGateEvaluator to support maximum and average a…

86aeedd
Select commit
Loading
Failed to load commit list.
Sign in for the full log view
Open

Add support for maximum or average values in metrics #669

Enhance CoverageQualityGateEvaluator to support maximum and average a…
86aeedd
Select commit
Loading
Failed to load commit list.
GitHub Actions / Quality Monitor - Quality gates failed failed Jan 31, 2026 in 13s

Quality Monitor

   JUnit   Unit Tests (Whole Project): 100.00% successful (196 passed)
   🚀   Integration Tests (Whole Project): 100.00% successful (149 passed, 7 skipped)
   ⛔   Architecture Tests (Whole Project): 100.00% successful (15 passed)
   〰️   Line Coverage (Changed Code): n/a (0 missed lines)
   ➰   Branch Coverage (Changed Code): n/a (0 missed branches)
   〰️   Line Coverage (Whole Project): 76.20% (743 missed lines)
   ➰   Branch Coverage (Whole Project): 67.14% (300 missed branches)
   CheckStyle   CheckStyle (Whole Project): 3 warnings (normal: 3)
   PMD   PMD (Whole Project): 2 warnings (normal: 2)
   ☕   Java Compiler (Whole Project): 3 warnings (normal: 3)
   SpotBugs   SpotBugs (Whole Project): 1 bug (normal: 1)
   🐛   Error Prone (Whole Project): No bugs
   🛡️   OWASP Dependency Check (Whole Project): 200 vulnerabilities (error: 16, high: 50, normal: 127, low: 7)
   🌀   Cyclomatic Complexity (Whole Project): 1058 (total)
   💭   Cognitive Complexity (Whole Project): 581 (total)
   ➿   N-Path Complexity (Whole Project): 1421 (total)
   📏   Lines of Code (Whole Project): 12279 (total)
   📝   Non Commenting Source Statements (Whole Project): 4131 (total)
   🔗   Class Cohesion (Whole Project): 100.00% (maximum)
   ⚖️   Weight of Class (Whole Project): 100.00% (maximum)

🚦 Quality Gates

Overall Status: ❌ FAILURE

✅ Passed Gates

  • ✅ Overall Tests Success Rate: 100.00 >= 100.00
  • ✅ Line Coverage in New Code: 100.00 >= 90.00
  • ✅ Branch Coverage in New Code: 100.00 >= 90.00

❌ Failed Gates

  • ❌ Potential Bugs in Whole Project: 1.00 <= 0.00
  • ❌ Style Violation in Whole Project: 8.00 <= 0.00

Created by Quality Monitor v4.0.0 (#8f591a4)

Details

☀️   Quality Monitor

JUnit   Tests

Icon Name Scope Tests Passed Skipped Failed Status
JUnit Unit Tests Whole Project 196 196 0 0
🚀 Integration Tests Whole Project 156 149 7 0
Architecture Tests Whole Project 15 15 0 0
Total - - 367 360 7 0 -

Skipped Tests

  • io.jenkins.plugins.coverage.metrics.steps.GitForensicsITest#shouldVerifyQualityGate(Baseline, double, double)
  • io.jenkins.plugins.coverage.metrics.steps.GitForensicsITest#shouldComputeDeltaInFreestyleJobOnDockerAgent
  • io.jenkins.plugins.coverage.metrics.steps.GitForensicsITest#shouldComputeDeltaInPipelineOnDockerAgent(SourceCodeRetention, int)
  • io.jenkins.plugins.coverage.metrics.source.DockerAgentSourceCodeITest#verifySourcesInWorkspaceRoot(boolean)
  • io.jenkins.plugins.coverage.metrics.source.DockerAgentSourceCodeITest#verifySourcesInApprovedExternalFolder
  • io.jenkins.plugins.coverage.metrics.source.DockerAgentSourceCodeITest#refuseSourceCodePaintingInNotApprovedExternalFolder
  • io.jenkins.plugins.coverage.metrics.source.DockerAgentSourceCodeITest#verifySourcesInWorkspaceSubFolder(boolean)

⚠️   Style

Icon Name Scope Warnings
CheckStyle CheckStyle Whole Project 3
PMD PMD Whole Project 2
Java Compiler Whole Project 3
Total - 8

🐛   Bugs

Icon Name Scope Warnings
SpotBugs SpotBugs Whole Project 1
🐛 Error Prone Whole Project 0
Total - 1

🛡️   Vulnerabilities

Icon Name Scope Warnings
🛡️ OWASP Dependency Check Whole Project 200

👣   Coverage for New Code

Icon Name Scope Covered %
〰️ Line Coverage Changed Code 100
Branch Coverage Changed Code 100
Total Ø - 100

👣   Coverage for Whole Project

Icon Name Scope Covered %
〰️ Line Coverage Whole Project 76
Branch Coverage Whole Project 67
Total Ø - 71

📐   Software Metrics

Icon Name Scope Total Min Max Mean Median
🌀 Cyclomatic Complexity Whole Project 1058 1 8 1.51 1
💭 Cognitive Complexity Whole Project 581 0 13 0.73 0
N-Path Complexity Whole Project 1421 1 72 1.79 1
📏 Lines of Code Whole Project 12279 4 684 121.57 4
📝 Non Commenting Source Statements Whole Project 4131 1 241 40.90 1
🔗 Class Cohesion Whole Project 100.00% 0.00% 100.00% 11.89% 0.00%
⚖️ Weight of Class Whole Project 100.00% 0.00% 100.00% 71.40% 0.00%

🚦 Quality Gates

Overall Status: ❌ FAILURE

✅ Passed Gates

  • ✅ Overall Tests Success Rate: 100.00 >= 100.00
  • ✅ Line Coverage in New Code: 100.00 >= 90.00
  • ✅ Branch Coverage in New Code: 100.00 >= 90.00

❌ Failed Gates

  • ❌ Potential Bugs in Whole Project: 1.00 <= 0.00
  • ❌ Style Violation in Whole Project: 8.00 <= 0.00

Annotations

Check warning on line 507 in plugin/src/test/java/io/jenkins/plugins/coverage/metrics/steps/CoverageQualityGateEvaluatorTest.java

See this annotation in the file changed.

@github-actions github-actions / Quality Monitor - Quality gates failed

CheckStyle: JavadocMethodCheck

@return tag should be present and have description.

Check warning on line 535 in plugin/src/test/java/io/jenkins/plugins/coverage/metrics/steps/CoverageQualityGateEvaluatorTest.java

See this annotation in the file changed.

@github-actions github-actions / Quality Monitor - Quality gates failed

CheckStyle: JavadocMethodCheck

@return tag should be present and have description.

Check warning on line 563 in plugin/src/test/java/io/jenkins/plugins/coverage/metrics/steps/CoverageQualityGateEvaluatorTest.java

See this annotation in the file changed.

@github-actions github-actions / Quality Monitor - Quality gates failed

CheckStyle: JavadocMethodCheck

@return tag should be present and have description.

Check warning on line 28 in plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/CoverageQualityGate.java

See this annotation in the file changed.

@github-actions github-actions / Quality Monitor - Quality gates failed

PMD: DataClass

The class 'CoverageQualityGate' is suspected to be a Data Class (WOC=16.667%, NOPA=0, NOAM=5, WMC=13).

Check warning on line 130 in plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/CoverageXmlStream.java

See this annotation in the file changed.

@github-actions github-actions / Quality Monitor - Quality gates failed

PMD: AvoidLiteralsInIfCondition

Avoid using literals such as "COMPLEXITY_MAXIMUM" in if statements.

Check warning on line 507 in src/test/java/io/jenkins/plugins/coverage/metrics/steps/CoverageQualityGateEvaluatorTest.java

See this annotation in the file changed.

@github-actions github-actions / Quality Monitor - Quality gates failed

Java Compiler: checkstyle:check

(javadoc) JavadocMethod: @return tag should be present and have description.

Check warning on line 535 in src/test/java/io/jenkins/plugins/coverage/metrics/steps/CoverageQualityGateEvaluatorTest.java

See this annotation in the file changed.

@github-actions github-actions / Quality Monitor - Quality gates failed

Java Compiler: checkstyle:check

(javadoc) JavadocMethod: @return tag should be present and have description.

Check warning on line 563 in src/test/java/io/jenkins/plugins/coverage/metrics/steps/CoverageQualityGateEvaluatorTest.java

See this annotation in the file changed.

@github-actions github-actions / Quality Monitor - Quality gates failed

Java Compiler: checkstyle:check

(javadoc) JavadocMethod: @return tag should be present and have description.

Check warning on line 33 in plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/CoverageQualityGateEvaluator.java

See this annotation in the file changed.

@github-actions github-actions / Quality Monitor - Quality gates failed

SpotBugs: NP_NONNULL_PARAM_VIOLATION

Null passed for non-null parameter of new CoverageQualityGateEvaluator(Collection, CoverageStatistics, Node) in new io.jenkins.plugins.coverage.metrics.steps.CoverageQualityGateEvaluator(Collection, CoverageStatistics)

Check warning on line 1 in commons-jelly-tags-fmt-1.1-jenkins-20250616.jar

See this annotation in the file changed.

@github-actions github-actions / Quality Monitor - Quality gates failed

OWASP Dependency Check: CVE-2018-1000052

fmtlib version prior to version 4.1.0 (before commit 0555cea5fc0bf890afe0071a558e44625a34ba85) contains a Memory corruption (SIGSEGV), CWE-134 vulnerability in fmt::print() library function that can result in Denial of Service. This attack appear to be exploitable via Specifying an invalid format specifier in the fmt::print() function results in a SIGSEGV (memory corruption, invalid write). This vulnerability appears to have been fixed in after commit 8cf30aa2be256eba07bb1cefb998c52326e846e7.

Check warning on line 1 in jenkins-core-2.516.3.jar: jenkins.exe

See this annotation in the file changed.

@github-actions github-actions / Quality Monitor - Quality gates failed

OWASP Dependency Check: CVE-2016-9299

The remoting module in Jenkins before 2.32 and LTS before 2.19.3 allows remote attackers to execute arbitrary code via a crafted serialized Java object, which triggers an LDAP query to a third-party server.

Check warning on line 1 in jenkins-core-2.516.3.jar: jenkins.exe

See this annotation in the file changed.

@github-actions github-actions / Quality Monitor - Quality gates failed

OWASP Dependency Check: CVE-2017-1000353

Jenkins versions 2.56 and earlier as well as 2.46.1 LTS and earlier are vulnerable to an unauthenticated remote code execution. An unauthenticated remote code execution vulnerability allowed attackers to transfer a serialized Java `SignedObject` object to the Jenkins CLI, that would be deserialized using a new `ObjectInputStream`, bypassing the existing blacklist-based protection mechanism. We're fixing this issue by adding `SignedObject` to the blacklist. We're also backporting the new HTTP CLI protocol from Jenkins 2.54 to LTS 2.46.2, and deprecating the remoting-based (i.e. Java serialization) CLI protocol, disabling it by default.

Check warning on line 1 in jenkins-core-2.516.3.jar: jenkins.exe

See this annotation in the file changed.

@github-actions github-actions / Quality Monitor - Quality gates failed

OWASP Dependency Check: CVE-2018-1000861

A code execution vulnerability exists in the Stapler web framework used by Jenkins 2.153 and earlier, LTS 2.138.3 and earlier in stapler/core/src/main/java/org/kohsuke/stapler/MetaClass.java that allows attackers to invoke some methods on Java objects by accessing crafted URLs that were not intended to be invoked this way.

Check warning on line 1 in jenkins-core-2.516.3.jar: jenkins.exe

See this annotation in the file changed.

@github-actions github-actions / Quality Monitor - Quality gates failed

OWASP Dependency Check: CVE-2021-21690

Agent processes are able to completely bypass file path filtering by wrapping the file operation in an agent file path in Jenkins 2.318 and earlier, LTS 2.303.2 and earlier.

Check warning on line 1 in jenkins-core-2.516.3.jar: jenkins.exe

See this annotation in the file changed.

@github-actions github-actions / Quality Monitor - Quality gates failed

OWASP Dependency Check: CVE-2021-21691

Creating symbolic links is possible without the 'symlink' agent-to-controller access control permission in Jenkins 2.318 and earlier, LTS 2.303.2 and earlier.

Check warning on line 1 in jenkins-core-2.516.3.jar: jenkins.exe

See this annotation in the file changed.

@github-actions github-actions / Quality Monitor - Quality gates failed

OWASP Dependency Check: CVE-2021-21692

FilePath#renameTo and FilePath#moveAllChildrenTo in Jenkins 2.318 and earlier, LTS 2.303.2 and earlier only check 'read' agent-to-controller access permission on the source path, instead of 'delete'.

Check warning on line 1 in jenkins-core-2.516.3.jar: jenkins.exe

See this annotation in the file changed.

@github-actions github-actions / Quality Monitor - Quality gates failed

OWASP Dependency Check: CVE-2021-21693

When creating temporary files, agent-to-controller access to create those files is only checked after they've been created in Jenkins 2.318 and earlier, LTS 2.303.2 and earlier.

Check warning on line 1 in jenkins-core-2.516.3.jar: jenkins.exe

See this annotation in the file changed.

@github-actions github-actions / Quality Monitor - Quality gates failed

OWASP Dependency Check: CVE-2021-21694

FilePath#toURI, FilePath#hasSymlink, FilePath#absolutize, FilePath#isDescendant, and FilePath#get*DiskSpace do not check any permissions in Jenkins 2.318 and earlier, LTS 2.303.2 and earlier.

Check warning on line 1 in jenkins-core-2.516.3.jar: jenkins.exe

See this annotation in the file changed.

@github-actions github-actions / Quality Monitor - Quality gates failed

OWASP Dependency Check: CVE-2021-21696

Jenkins 2.318 and earlier, LTS 2.303.2 and earlier does not limit agent read/write access to the libs/ directory inside build directories when using the FilePath APIs, allowing attackers in control of agent processes to replace the code of a trusted library with a modified variant. This results in unsandboxed code execution in the Jenkins controller process.

Check warning on line 1 in jenkins-core-2.516.3.jar: jenkins.exe

See this annotation in the file changed.

@github-actions github-actions / Quality Monitor - Quality gates failed

OWASP Dependency Check: CVE-2024-23897

Jenkins 2.441 and earlier, LTS 2.426.2 and earlier does not disable a feature of its CLI command parser that replaces an '@' character followed by a file path in an argument with the file's contents, allowing unauthenticated attackers to read arbitrary files on the Jenkins controller file system.

Check warning on line 1 in jenkins-core-2.516.3.jar: jenkins.exe

See this annotation in the file changed.

@github-actions github-actions / Quality Monitor - Quality gates failed

OWASP Dependency Check: CVE-2021-21685

Jenkins 2.318 and earlier, LTS 2.303.2 and earlier does not check agent-to-controller access to create parent directories in FilePath#mkdirs.

Check warning on line 1 in jenkins-core-2.516.3.jar: jenkins.exe

See this annotation in the file changed.

@github-actions github-actions / Quality Monitor - Quality gates failed

OWASP Dependency Check: CVE-2021-21687

Jenkins 2.318 and earlier, LTS 2.303.2 and earlier does not check agent-to-controller access to create symbolic links when unarchiving a symbolic link in FilePath#untar.

Check warning on line 1 in jenkins-core-2.516.3.jar: jenkins.exe

See this annotation in the file changed.

@github-actions github-actions / Quality Monitor - Quality gates failed

OWASP Dependency Check: CVE-2021-21689

FilePath#unzip and FilePath#untar were not subject to any agent-to-controller access control in Jenkins 2.318 and earlier, LTS 2.303.2 and earlier.

Check warning on line 1 in jenkins-core-2.516.3.jar: jenkins.exe

See this annotation in the file changed.

@github-actions github-actions / Quality Monitor - Quality gates failed

OWASP Dependency Check: CVE-2021-21697

Jenkins 2.318 and earlier, LTS 2.303.2 and earlier allows any agent to read and write the contents of any build directory stored in Jenkins with very few restrictions.

Check warning on line 1 in jenkins-core-2.516.3.jar: jenkins.exe

See this annotation in the file changed.

@github-actions github-actions / Quality Monitor - Quality gates failed

OWASP Dependency Check: CVE-2017-1000354

Jenkins versions 2.56 and earlier as well as 2.46.1 LTS and earlier are vulnerable to a login command which allowed impersonating any Jenkins user. The `login` command available in the remoting-based CLI stored the encrypted user name of the successfully authenticated user in a cache file used to authenticate further commands. Users with sufficient permission to create secrets in Jenkins, and download their encrypted values (e.g. with Job/Configure permission), were able to impersonate any other Jenkins user on the same instance.