Search code examples
jenkinsjenkins-pipelinecobertura

Cobertura code coverage report for jenkins pipeline jobs


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)?


Solution

  • 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