The File constructor is blacklisted so that users don't try to do the mistake that you are doing. The pipeline code is running on the master (only the steps themselves are actually running on the agent), so when you create a new file pointing it to $workspace it is most likely not there on the master unless you are actually running on the master agent. For these more advanced scenarios I created the Pipeline Utility Steps plugin <https://wiki.jenkins-ci.org/display/JENKINS/Pipeline+Utility+Steps+Plugin> that has among others a readProperties <https://github.com/jenkinsci/pipeline-utility-steps-plugin/blob/master/docs/STEPS.md> step.
/B On Tuesday, May 2, 2017 at 5:57:32 PM UTC+2, ishan jain wrote: > > Hi all, > > My requirement is simple, i just want to externalize some 'values' to make > my Jenkinsfile more re usable and for this i need to* load the properties > from a file which is going to be right next to Jenkinsfile, and make sure > that these properties are available anywhere in the code*. I am still new > to groovy and Jenkins code but never thought such a simple thing would be > so difficult. I enabled some methods in script security plugin but the > following code always pose error or print null. I have tried multiple > combinations and the below code is just one of them > > properties = null > > @NonCPS > def loadProperties() { > checkout scm > File propertiesFile = new File('${workspace}/pipeline.properties') > propertiesFile.withInputStream { > properties.load(propertiesFile) > } > } > > pipeline { > agent none > stages { > > stage ('prepare') { > agent any > steps { > script { > loadProperties() > echo "${properties['repo']}" > } > } > } > stage('Build') { > > agent any > steps { > sh 'echo ${properties.repo}' > } > } > } > } > > > > -- 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/b1a89c6f-0c53-4e00-af25-80a052f7ac5d%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.