But the object model of both is different, you need to choose the correct one in the email template!
Yes, that template I am using it with publishcpp at the moment but I am not able to get the value of any of their properties within my pipeline like if I try to echo to check its value I get an error 'groovy.lang.MissingPropertyException: No such property: cppcheckResult for class: groovy.lang.Binding' so I am stuck trying to get the total number of errors from each build El viernes, 9 de abril de 2021 a las 15:41:22 UTC+2, jesus fernandez escribió: > but this is like god trying to explain something to a rock, I have just > started in this world...hehehe > > El viernes, 9 de abril de 2021 a las 15:40:44 UTC+2, jesus fernandez > escribió: > >> hahaha oh gosh I should have known I watched your video on youtube a few >> days ago. >> >> El viernes, 9 de abril de 2021 a las 15:39:30 UTC+2, [email protected] >> escribió: >> >>> >>> >>> I actually have tried both to publish the result, >>> >>> >>> But the object model of both is different, you need to choose the >>> correct one in the email template! >>> >>> have not decided which one to use yet, any suggestion? >>> >>> >>> I am biased as I am the author of the warnings plugin ;-) >>> >>> I like the dashboard of the warnings-ng better, but I ilke from the >>> publushcpp that you can see the line where the error is right from Jenkins >>> without need to open the editor and look for the line... >>> >>> >>> This could be done in the warnings plugin as well. >>> Example: >>> https://ci.jenkins.io/job/Plugins/job/analysis-model/job/master/1150/pmd/source.6e8cd82c-d953-4e48-9163-87d374ee6241/#32 >>> >>> >>> El viernes, 9 de abril de 2021 a las 14:40:34 UTC+2, ullrich...@ >>> gmail.com escribió: >>> >>>> First of all: are you using the warnings-ng plugin or the cppcheck >>>> plugin in your build? They use different models. >>>> >>>> I’m not sure if there is an easy way to debug email ext templates in >>>> the meantime, I am not using it actively. >>>> But you can simply start with a subset of the script below and check >>>> which values produce a result and which not. >>>> >>>> Am 09.04.2021 um 14:32 schrieb jesus fernandez <[email protected] >>>> >: >>>> >>>> my projects are in Perforce. What if I want to acces to one of those >>>> properties which I know are available from looking at the jelly template, >>>> for instance ${cppcheckResult.getDiff().getNumberNoCategorySeverity()} I >>>> tried to echo that property but I get an error how could I access to it? >>>> this is the jelly template I am using (I took it from SO) >>>> <j:jelly xmlns:j="jelly:core" xmlns:st="jelly:stapler" >>>> xmlns:d="jelly:define"> >>>> <div class="content"> >>>> <html> >>>> <j:set var="cppcheckAction" >>>> value="${it.getAction('org.jenkinsci.plugins.cppcheck.CppcheckBuildAction')}" >>>> >>>> /> >>>> <j:if test="${cppcheckAction!=null}"> >>>> <j:set var="cppcheckResult" >>>> value="${cppcheckAction.getResult()}" /> >>>> <j:if test="${cppcheckResult!=null}"> >>>> <h2>Summary</h2> >>>> <style type="text/css"> >>>> #cppcheckStatistics { width: auto; } >>>> #cppcheckStatistics .number { text-align: right; } >>>> </style> >>>> <table class="pane sortable" id="cppcheckStatistics"> >>>> <thead> >>>> <tr> >>>> <td class="pane-header">Severity</td> >>>> <td class="pane-header">Count</td> >>>> <td class="pane-header">Delta</td> >>>> </tr> >>>> </thead> >>>> <tbody> >>>> <tr> >>>> <td class="pane">Error</td> >>>> <td class="pane >>>> number">${cppcheckResult.statistics.getNumberErrorSeverity()}</td> >>>> <td class="pane >>>> number">${cppcheckResult.getDiff().getNumberErrorSeverity()}</td> >>>> </tr> >>>> <tr> >>>> <td class="pane">Warning</td> >>>> <td class="pane >>>> number">${cppcheckResult.statistics.getNumberWarningSeverity()}</td> >>>> <td class="pane >>>> number">${cppcheckResult.getDiff().getNumberWarningSeverity()}</td> >>>> </tr> >>>> <tr> >>>> <td class="pane">Style</td> >>>> <td class="pane >>>> number">${cppcheckResult.statistics.getNumberStyleSeverity()}</td> >>>> <td class="pane >>>> number">${cppcheckResult.getDiff().getNumberStyleSeverity()}</td> >>>> </tr> >>>> <tr> >>>> <td class="pane">Performance</td> >>>> <td class="pane >>>> number">${cppcheckResult.statistics.getNumberPerformanceSeverity()}</td> >>>> <td class="pane >>>> number">${cppcheckResult.getDiff().getNumberPerformanceSeverity()}</td> >>>> </tr> >>>> <tr> >>>> <td class="pane">Portability</td> >>>> <td class="pane >>>> number">${cppcheckResult.statistics.getNumberPortabilitySeverity()}</td> >>>> <td class="pane >>>> number">${cppcheckResult.getDiff().getNumberPortabilitySeverity()}</td> >>>> </tr> >>>> <tr> >>>> <td class="pane">Information</td> >>>> <td class="pane >>>> number">${cppcheckResult.statistics.getNumberInformationSeverity()}</td> >>>> <td class="pane >>>> number">${cppcheckResult.getDiff().getNumberInformationSeverity()}</td> >>>> </tr> >>>> <tr> >>>> <td class="pane">No category</td> >>>> <td class="pane >>>> number">${cppcheckResult.statistics.getNumberNoCategorySeverity()}</td> >>>> <td class="pane >>>> number">${cppcheckResult.getDiff().getNumberNoCategorySeverity()}</td> >>>> </tr> >>>> </tbody> >>>> <tfoot> >>>> <tr class="sortbottom"> >>>> <td class="pane-header">Total</td> >>>> <td class="pane-header number"><B><a >>>> href="${rooturl}${build.url}cppcheckResult">${cppcheckResult.report.getNumberTotal()}</a></B></td> >>>> <td class="pane-header number"><B><a >>>> href="${rooturl}${build.url}cppcheckResult/source.all/?before=5&after=5&states=new">${cppcheckResult.getDiff().getNumberTotal()}</a></B></td> >>>> </tr> >>>> </tfoot> >>>> </table> >>>> </j:if> >>>> </j:if> >>>> </html> >>>> </div> >>>> </j:jelly> >>>> >>>> El viernes, 9 de abril de 2021 a las 14:27:16 UTC+2, ullrich...@ >>>> gmail.com escribió: >>>> >>>>> Are your projects located in GitHub? Then it would be quite easy to >>>>> report results automatically using the GitHub checks plugin. Email is >>>>> quite >>>>> old-school when it comes to build result reporting... >>>>> >>>>> Am 09.04.2021 um 13:58 schrieb jesus fernandez <[email protected] >>>>> >: >>>>> >>>>> Thanks for asering. I have been checking the javadoc of the plugin >>>>> https://javadoc.jenkins.io/plugin/email-ext/ but my java knowledge is >>>>> super basic and I do not get to see where the methods available to >>>>> Jenkins >>>>> are. So I guess this is too advanced for me ATM >>>>> >>>>> El viernes, 9 de abril de 2021 a las 13:48:03 UTC+2, ullrich...@ >>>>> gmail.com escribió: >>>>> >>>>>> You need to read the code of the plugin. I.e., the model of the >>>>>> producer plugin. >>>>>> >>>>>> >>>>>> Am 09.04.2021 um 13:08 schrieb jesus fernandez < >>>>>> [email protected]>: >>>>>> >>>>>> I am learning Jenkins on my own and I am trying to learn about >>>>>> plugins. I have a stage to send an email with the cppcheck results with >>>>>> a >>>>>> template I found >>>>>> https://stackoverflow.com/questions/13888338/sending-cppcheck-result-report-on-email-from-jenkins-using-email-ext-plugin >>>>>> >>>>>> the template instantiate the ```CppcheckBuildAction``` and access its >>>>>> methods, what I would like to know if is possible to check what methods >>>>>> are >>>>>> avaialable for that instance and if possible how / where I can see them. >>>>>> Also how could I for example echo / println one of them. For instance >>>>>> in the template provided in the link above it acces the total number of >>>>>> errors with ${cppcheckResult.report.getNumberTotal()} but if I echo it I >>>>>> get an error ```groovy.lang.MissingPropertyException: No such property: >>>>>> cppcheckResult for class: groovy.lang.Binding```, this is what I tried >>>>>> stage('Email') { >>>>>> steps { >>>>>> script{ >>>>>> publishCppcheck pattern:'cppcheck.xml' >>>>>> emailext( subject: 'foo', to: '[email protected]', body: >>>>>> '${JELLY_SCRIPT, template="custom"}') >>>>>> } >>>>>> echo "${cppcheckResult.report.getNumberTotal()}" >>>>>> } >>>>>> } >>>>>> my final goal actually is to send the email just when the report find >>>>>> a new error so I was thinking to save the total number of errors in an >>>>>> external file and compare it with each build and if the number is bigger >>>>>> send the email, is there any native / easier way to do this? >>>>>> >>>>>> -- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "Jenkins Users" group. >>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>> send an email to [email protected]. >>>>>> To view this discussion on the web visit >>>>>> https://groups.google.com/d/msgid/jenkinsci-users/901e41a0-e2ec-466c-87a9-23d6082897e1n%40googlegroups.com >>>>>> >>>>>> <https://groups.google.com/d/msgid/jenkinsci-users/901e41a0-e2ec-466c-87a9-23d6082897e1n%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>> . >>>>>> >>>>>> >>>>>> >>>>> -- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "Jenkins Users" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to [email protected]. >>>>> >>>>> To view this discussion on the web visit >>>>> https://groups.google.com/d/msgid/jenkinsci-users/48090815-12d1-4f8a-a15b-2d0c0185b830n%40googlegroups.com >>>>> >>>>> <https://groups.google.com/d/msgid/jenkinsci-users/48090815-12d1-4f8a-a15b-2d0c0185b830n%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>> . >>>>> >>>>> >>>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Jenkins Users" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/jenkinsci-users/e7ede103-a7e3-4a7a-8cf1-7beda07eaa06n%40googlegroups.com >>>> >>>> <https://groups.google.com/d/msgid/jenkinsci-users/e7ede103-a7e3-4a7a-8cf1-7beda07eaa06n%40googlegroups.com?utm_medium=email&utm_source=footer> >>>> . >>>> >>>> >>>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Jenkins Users" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/jenkinsci-users/ac9a06c7-d023-4704-bfce-c3c4f69ea8d4n%40googlegroups.com >>> >>> <https://groups.google.com/d/msgid/jenkinsci-users/ac9a06c7-d023-4704-bfce-c3c4f69ea8d4n%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >>> >>> -- You received this message because you are subscribed to the Google Groups "Jenkins Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/500575c9-ef86-4c63-921a-c808be26360en%40googlegroups.com.
