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/ 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)
at
org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onGetProperty(
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].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jenkinsci-users/ca24b1f9-b0a8-4e81-8101-0b25f8267602n%40googlegroups.com.