Cobertura code coverage report for jenkins pipeline jobs

ebnius picture ebnius · Apr 28, 2016 · Viewed 27.6k times · Source

I'm using the pipeline plugin for jenkins and I'd like to generate code coverage report for each run and display it along with the pipeline ui. Is there a plugin I can use to do that(e.g. Cobertura but it doesn't seem to be supported by pipeline)?

Answer

Roman Kutlak picture Roman Kutlak · May 17, 2017

There is a way to add a pipeline step to publish your coverage report but it doesn't show under the BlueOcean interface. It will show fine in the normal UI.

pipeline {
    agent any

    stages {
        ...
    }
    post {
        always {
            junit '**/nosetests.xml'
            step([$class: 'CoberturaPublisher', autoUpdateHealth: false, autoUpdateStability: false, coberturaReportFile: '**/coverage.xml', failUnhealthy: false, failUnstable: false, maxNumberOfBuilds: 0, onlyStable: false, sourceEncoding: 'ASCII', zoomCoverageChart: false])
        }
    }
}

Note that one of the parameters to the Cobertura plugin is the XML that it will use ('**/coverage.xml' in the example).

If you are using python, you will want to use something like:

nosetests --with-coverage --cover-xml --cover-package=pkg1,pkg2 --with-xunit test