The following groovy script works in the jenkins script console on the controller. However, it fails if I change the path to /path/to/workspace/prod_file.json
and run the script on an agent node.
prod_file.json
is pulled from github, otherwise they're the same. prod_file.json
gets its trailing newline stripped, but even when that char is restored, the script fails. The permissions are the least restrictive (777). I even tried reading the file in python, and dumping it back to the fs as a new json file. I tried reading the file from /tmp
, $HOME
, $WORKSPACE
, $WORKSPACE/other_project
, etc.
I also tried the dot delimited path in add
, e.g., add(it.jenkins_name)
The plugin provides no feedback, so I'm not sure where else to turn.
Is this a configuration issue, i.e., permissions, a file format issue, a bug in the plugin?
import groovy.json.JsonSlurper
def list = []
File textfile = new File('/tmp/test.json')
JsonSlurper slurper = new JsonSlurper()
def parsedJson = slurper.parse(textfile)
parsedJson.each{ list.add(it['jenkins_name']) }
return list
Active Choices groovy script always runs on the controller node. Simple test:
def host = 'hostname'.execute().text
return [host]