Hi all,
I am new to Pipeline and Multibranch. I just wrote a small test
pipeline script for a project of me and started it in a Multibranch
project. Suddenly I got an error message like this:
> org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: Scripts not permitted to use staticMethod jenkins.model.Jenkins getInstance
After a quick look at Google, I found out, that I can whitelist this
at "Manage Jenkins -> In-process Script Approval". I had to do this
several times, so now I have this white list:
> field hudson.model.Slave name
> method hudson.model.AbstractCIBase getNodes
> method hudson.model.Node getRootPath
> staticMethod jenkins.model.Jenkins getInstance
The last function is a problem due to Jenkins / Script Security
Plugin, because this function "may have introduced a security
vulnerability". I am using the getInstance() function in this
function:
// **********
@NonCPS
def nodeRootDir(nodeName) {
for (node in Jenkins.instance.nodes) {
println
node.name
if (!nodeName.equals('master') &&
node.name.compareTo(nodeName) == 0 ) {
return node.getRootPath()
break
}
}
}
// **********
The function retrieves the root path of a slave. The question is: Is
there another way to get the root path of a slave in a non-problematic
way?