pipeline { agent any stages { stage('build') { steps { withChecks(name: 'build', includeStage: true) { sh './gradlew clean testClasses' } withChecks(name: 'unit-tests', includeStage: true) { sh './gradlew test' } withChecks(name: 'test-coverage', includeStage: true) { sh './gradlew jacocoTestReport jacocoTestCoverageVerification' junit '**/build/test-results/test/TEST-*.xml' recordCoverage(tools: [[parser: 'JACOCO']], id: 'jacoco', name: 'JaCoCo Coverage', sourceCodeRetention: 'EVERY_BUILD' // , qualityGates: [ // [threshold: 40.0, metric: 'LINE', baseline: 'PROJECT', unstable: true], // [threshold: 40.0, metric: 'BRANCH', baseline: 'PROJECT', unstable: true]] ) } } } } }