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.

Reply via email to