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&amp;after=5&amp;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.

Reply via email to