Due to security considerations only methods marked with @Whitelisted are accessible in Groovy scripts. Does your getter have such an annotation?
> Am 11.04.2021 um 19:02 schrieb jesus fernandez <[email protected]>: > > I am a junior dev trying to lear about Jenkins, I have been learning on my > own for a couple of months. Currently I have a pipeline (just for learning > purposes) which runs static analysis on a folder, and then publish it, I have > been able to send a report through email using jelly templates, from there I > realized it is posbile to instantiate the classes of a plugin to use its > methods so I went to the cppcheck javadoc here > https://javadoc.jenkins.io/plugin/cppcheck/ > <https://javadoc.jenkins.io/plugin/cppcheck/> and did some trial and error so > I can get some values of my report and then do something else with them > something, so I had something like this in my pipeline: > ``` > pipeline { > agent any > > stages { > stage('analysis') { > steps { > script{ > bat'cppcheck "E:/My_project/Source/" --xml --xml-version=2 . 2> > cppcheck.xml' > } > } > } > stage('Test'){ > steps { > script { > publishCppcheck pattern:'cppcheck.xml' > for (action in currentBuild.rawBuild.getActions()) { > def name = action.getClass().getName() > if (name == 'org.jenkinsci.plugins.cppcheck.CppcheckBuildAction') { > def cppcheckaction = action > def totalErrors = cppcheckaction.getResult().report.getNumberTotal() > println totalErrors > def warnings = > cppcheckaction.getResult().statistics.getNumberWarningSeverity() > println warnings > } > } > } > } > } > } > > } > ``` > which output is: > ``` > [Pipeline] echo > 102 > [Pipeline] echo > 4 > ``` > > My logic (wrongly) tells me that if I can access to the report and statistics > classes like that and uses their methods getNumberTotal() and > getNumberWarningSeverity() respectively, therefore I should be able to also > access the ```DiffState``` class in the same way and use the ```valueOf()``` > method to get an enum of the new errors. But adding this to my pipeline: > ``` > def nueva = cppcheckaction.getResult().diffState.valueOf(NEW) > println nueva > ``` > Gives me an error: > ``` > org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: No such > field found: field org.jenkinsci.plugins.cppcheck.CppcheckBuildAction > diffState > at > org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.unclassifiedField(SandboxInterceptor.java:425 > <https://sandboxinterceptor.java:425/>) > at > org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onGetProperty(SandboxInterceptor.java:409 > <https://sandboxinterceptor.java:409/>) > ... > ``` > > -- > 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] > <mailto:[email protected]>. > To view this discussion on the web visit > https://groups.google.com/d/msgid/jenkinsci-users/ca24b1f9-b0a8-4e81-8101-0b25f8267602n%40googlegroups.com > > <https://groups.google.com/d/msgid/jenkinsci-users/ca24b1f9-b0a8-4e81-8101-0b25f8267602n%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/E399BE39-02DE-44AC-9851-7BC0CA0A9456%40gmail.com.
