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, ullrich...@gmail.com 
> 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 <jesusfern...@gmail.com>:
>>>
>>> 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 <jesusfern...@gmail.com
>>>> >:
>>>>
>>>> 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 <jesusfern...@gmail.com
>>>>> >:
>>>>>
>>>>> 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: 'ma...@mail.net', 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 jenkinsci-use...@googlegroups.com.
>>>>> 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 jenkinsci-use...@googlegroups.com.
>>>>
>>>> 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 jenkinsci-use...@googlegroups.com.
>>>
>>> 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 jenkinsci-use...@googlegroups.com.
>>
>> 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 jenkinsci-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/b841d6ce-c8f2-4032-9980-6f4dbb19cf59n%40googlegroups.com.

Reply via email to