Hi,

First, if you want "echo", you could just use echo without the sh :
   echo "hello"

Then, if you want to print a variable in the echo, use this syntax :
   echo "hello ${myGroovyVariable}"
You must use double quote, if you use single quote the echo will print 
*exactly* what you have written




Le dimanche 20 décembre 2020 à 06:07:56 UTC+1, netwar...@gmail.com a écrit :

> Hello
>
> Is there a way to access those variables from as sh command from the 
> script section?
> for example this works:
>
> script {
>                       echo GlobalVariables.MyVariable 
>
>                     }
>
> but the same with sh does not, that just echos GlobalVariables.MyVariable 
> and not the variable content.
> script {
>
>               sh  ' echo GlobalVariables.MyVariable'
>
>                     }
>
> Thanks
> Regards
>
>
> El jueves, 17 de diciembre de 2020 a las 5:45:11 UTC-3, venh...@gmail.com 
> escribió:
>
>> In my case, I do the following. I have a GlobalVars.groovy file with 
>> below content.
>>
>> #!/usr/bin/env groovypackage com.<companyName>.<ProductName>;public class 
>> GlobalVars {   static String myVar = ""}
>>
>> Then in my Shared Library class, I use it like below.
>>
>> GlobalVars.myVar = ""
>>
>> Try it like this and check. Here, I have declared the class as Public and 
>> the variable as static. That's the only difference.
>>
>>
>> Regards,
>> Venkatesh
>>
>>
>> On Thu, Dec 17, 2020 at 12:56 PM Adrian Wyssmann <ae...@wyssmann.com> 
>> wrote:
>>
>>> I see several problem
>>>
>>>    1. using ' will not expand the parameters is your call should be sh 
>>>    "echo ${CustomMessage}"
>>>    2. CustomMessage is declared within the class Vars(), so you cannot 
>>>    access it
>>>
>>> You could implement a getter an then do something like this "echo 
>>> ${globalVars.getCustomMessage()}"
>>>
>>> Maybe others have better ideas...?
>>> On Thursday, December 17, 2020 at 12:10:19 AM UTC+1 netwar...@gmail.com 
>>> wrote:
>>>
>>>> Hello there
>>>> Maybe this is a very basic question, but am not being able to access a 
>>>> global variable
>>>> from a shared library from a Jenkinsfile
>>>>
>>>> under vars I defined something like this
>>>>
>>>> globalVars.groovy
>>>> class Vars () {
>>>>
>>>>     def CustomMessage = "This is a new deployment"
>>>>
>>>> }
>>>>
>>>> from my Jenkinsfile
>>>>
>>>> library identifier: 'globalVars@master', \
>>>>                      retriever: modernSCM([$class: 'GitSCMSource', \
>>>>                                 credentialsId: 'tfsservice', \
>>>>                                 remote: 'http://myrepo.com', \
>>>>                                 traits: [gitBranchDiscovery()]])
>>>>
>>>>
>>>> pipeline {
>>>>
>>>> stages {
>>>>     stage('Do Some Stuff') {
>>>>       steps {
>>>>         script {
>>>>
>>>>            sh 'echo ${CustomMessage}'
>>>>
>>>>           }
>>>>         }
>>>>       }
>>>>     }
>>>>
>>>> }
>>>>
>>>> But the above returns nothing, what am I doing wrong?
>>>> Thanks
>>>> Regards
>>>>
>>> -- 
>>> 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-use...@googlegroups.com.
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/jenkinsci-users/099e3aee-dffc-459d-8eb5-d64204effb58n%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/jenkinsci-users/099e3aee-dffc-459d-8eb5-d64204effb58n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>

-- 
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/797962ff-f126-4a16-a9d9-416b838d6107n%40googlegroups.com.

Reply via email to