I've gotten similar requests before to have some type of similar
behavior/mode as readTrusted, so maybe it gets implemented sometime in the
future.

/B

On Wed, May 3, 2017 at 2:38 PM, ishan jain <[email protected]> wrote:

> Thanks a lot Robert, that solved my problem. You are right, i should not
> whitelist those methods just load properties fille. Your plugin seems to be
> great, i will invest some time in learning other methods as well.
>
> Also, do you think i can load the properties outside of a stage somehow ?
> I hate to have a separate stage for such preparation stuff.
>
>
> On Wednesday, 3 May 2017 12:24:02 UTC+2, Robert Sandell wrote:
>>
>> 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 a topic in the
> Google Groups "Jenkins Users" group.
> To unsubscribe from this topic, visit https://groups.google.com/d/
> topic/jenkinsci-users/8DJwV2laHCM/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> [email protected].
> To view this discussion on the web visit https://groups.google.com/d/
> msgid/jenkinsci-users/f054f784-9126-406a-8de7-baabac9f6998%40googlegroups.
> com
> <https://groups.google.com/d/msgid/jenkinsci-users/f054f784-9126-406a-8de7-baabac9f6998%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Robert Sandell
*Software Engineer*
*CloudBees Inc.*

-- 
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/CALzHZS1XWcxmWENCQNvbEgcOfJ3tP_GVSC_0Byq5QUYYU5D4cQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to