I am working with Jenkins and Lizard to report code complexity of an upcoming project. I would like to plot my code complexity with every build. However I am having some issues.
Here is my XML and my Jenkins file.
<cppncss>
<measure type="Function">
<labels>
<label>Nr.</label>
<label>NCSS</label>
<label>CCN</label>
</labels>
<item name="foo( int x) at ./main.c:3">
<value>1</value>
<value>6</value>
<value>2</value>
</item>
<item name="bar( int x) at ./main.c:10">
<value>2</value>
<value>6</value>
<value>2</value>
</item>
<item name="main() at ./main.c:17">
<value>3</value>
<value>7</value>
<value>1</value>
</item>
<average label="NCSS" value="6.333333333333333"/>
<average label="CCN" value="1.6666666666666667"/>
</measure>
<measure type="File">
<labels>
<label>Nr.</label>
<label>NCSS</label>
<label>CCN</label>
<label>Functions</label>
</labels>
<item name="./main.c">
<value>1</value>
<value>19</value>
<value>5</value>
<value>3</value>
</item>
<average label="NCSS" value="19.0"/>
<average label="CCN" value="5.0"/>
<average label="Functions" value="3.0"/>
<sum label="NCSS" value="19"/>
<sum label="CCN" value="5"/>
<sum label="Functions" value="3"/>
<average label="NCSS" value="6.333333333333333"/>
<average label="CCN" value="1.6666666666666667"/>
</measure>
</cppncss>
Using an XPATH parser online I am able to access the data I want. The 5 entries <average> at the bottom of the file.
Using the Jenkins pipeline syntax generator I created the following plotter.
plot csvFileName: 'plot-lizard-code-complexity.csv', group: 'Code Complexity', numBuilds: '20', style: 'line',
title: 'Code Complexity',
xmlSeries: [
[file: 'lizard_report.xml', nodeType: 'NODE', url: '', xpath: '/cppncss/measure[2]/average[1]'],
[file: 'lizard_report.xml', nodeType: 'NODE', url: '', xpath: '/cppncss/measure[2]/average[2]'],
[file: 'lizard_report.xml', nodeType: 'NODE', url: '', xpath: '/cppncss/measure[2]/average[3]'],
[file: 'lizard_report.xml', nodeType: 'NODE', url: '', xpath: '/cppncss/measure[2]/average[4]'],
[file: 'lizard_report.xml', nodeType: 'NODE', url: '', xpath: '/cppncss/measure[2]/average[5]']
],
yaxis: 'Complexity'
I get no data into my plot, I also get no errors from the build process. I have tried this with nodeType as NODE and NUMBER.