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 <jesusfernandez0...@gmail.com>:
> 
> 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 jenkinsci-users+unsubscr...@googlegroups.com 
> <mailto:jenkinsci-users+unsubscr...@googlegroups.com>.
> 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 jenkinsci-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/E399BE39-02DE-44AC-9851-7BC0CA0A9456%40gmail.com.

Reply via email to