Hi Bill.
I've tried many things with no luck.
So I've got this JSON credential file whose content looks like this:
{
"sshUserKey":"sshuserval",
"sshHostKey":"sshhostval"
}
I've successfully managed to open this file in my pipeline:
withCredentials([file(credentialsId: 'secrettest', variable:
'testMasterCred')]) {
sh "cat ${testMasterCred}";
}
The cat command shows effectively the content of the JSON file.
Then, how would you parse this JSON?
I've tried readJSON file: $testMasterCred; but this doesn't work, and
throws the following message: No such property: $testMasterCred for class:
groovy.lang.Binding
I've got the feeling that I'm not very far from the truth.
There's not much help on the pipeline-utility-steps-plugin readme regarding
this.
Would you have an example about how I could get the parsing right?
Thanking you.
Regards.
Le jeudi 9 mars 2017 10:06:44 UTC+1, Bill Dennis a écrit :
>
> It can be any format file you like XML, properties, txt whatever you need
> for some sort of configuration (except large binary files I guess).
>
> There is a CloudBees article here that should help:
>
> https://support.cloudbees.com/hc/en-us/articles/203802500-Injecting-Secrets-into-Jenkins-Build-Jobs
>
> The article shows creating these globally but you can create them scoped
> on a folder.
>
> Then to use in the pipelines I suggest to drop into the pipeline syntax
> link on a pipeline job that drops into the snipper generator in the
> Jenkins pipeline UI and go through the 'withCredentials' snippet generator.
> It found it best to experiment around a bit to figure it out.
>
> --Bill
>
>
> On Thursday, 9 March 2017 08:41:23 UTC, [email protected] wrote:
>>
>> Hi Bill.
>>
>> Thanks so much for your reply.
>>
>> I like this credential file option. That would mean I can create a file
>> with all the environment variables I need for my branches inside (one per
>> branch I guess). And if I could scope it inside my project folder even
>> better.
>>
>> I've tried to google information about how to use credential files, but
>> without much success. Would you have an example of how you'd write one?
>> Is it a key / value format? bash variables declarations? JSON? XML?
>>
>> Thank you for your time and your help.
>>
>> Regards.
>>
>> Jeremy.
>>
>> Le mercredi 8 mars 2017 10:05:02 UTC+1, Bill Dennis a écrit :
>>>
>>> Just some other things I thought of -
>>>
>>> If you use the credentials file feature you can put all those sensitive
>>> properties in a properties file stored as 'jenkins credentials'.
>>>
>>> Then pull that props file into your workspace using 'withCredentials' in
>>> the pipeline.
>>>
>>> Next thing is to grab the pipeline utility steps plugin which has a
>>> readProperties step (it is not one of the standard pipe plugins - you will
>>> need to add it).
>>> https://plugins.jenkins.io/pipeline-utility-steps
>>>
>>> Then you have the file properties loaded as Java properties and you can
>>> use them as before.
>>>
>>> I did this move from Freestyle too and there is a lot to learn but it is
>>> worth it. Another recommendation is to look at the declarative pipeline not
>>> just scripted pipeline. Declarative has post build handling in the pipeline
>>> which you may miss from FreeStyle jobs. In scripted pipeline you have to do
>>> a lot of try-catch handling for build errors.
>>>
>>> Bill
>>>
>>>
>>> On Wednesday, 8 March 2017 08:45:03 UTC, Bill Dennis wrote:
>>>>
>>>> If you put the pipeline / branch jobs inside a folder, you can scope
>>>> the credentials to just that folder. Pretty sure that is available in
>>>> Jenkins OSS and not just Enterprise - you need the CloudBees Folders
>>>> plugin. Have a look on here, it might have some clues:
>>>> https://support.cloudbees.com/hc/en-us/articles/204264974-How-inject-your-Maven-settings-xml-at-folder-level-with-the-Credentials-plugin
>>>>
>>>> I am not sure if this helps in your branch scenario. I put all my
>>>> credentials globally then realised I could scope them to the folder level
>>>> -
>>>> I missed it due to some nuances in the credentials UI.
>>>>
>>>> Bill
>>>>
>>>>
--
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/e73f61cc-7887-403b-967a-79f8e6ed60b5%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.