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, [email protected] 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, [email protected] 
> 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 <[email protected]> 
>> 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 [email protected] 
>>> 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 [email protected].
>>> 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 [email protected].
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