繁体   English   中英

如何访问 jenkins 管道中 shell 脚本中的 groovy 变量?

[英]How to access a groovy variable in shell script in jenkins pipeline?

尝试创建一个 jenkins 管道,该管道具有以下代码以从用户获取输入并在 shell 脚本中打印该输入:

script{
        def user_input= input id: 'user_input', message: 'Choose a service which you want to deploy', ok: 'Confirm', parameters: [string(defaultValue: 'default', description: 'Entered value must be within range', name: 'selection', trim: true)]
        echo user_input //works fine
    
    sh '''
        #!/bin/bash
        set +x
        echo Step 2
        echo "${user_input}" //Printing blank space
        '''
     }

如果我像这样使用 shell 它也可以正常工作:

sh "echo $user_input"

在 shell 脚本中对 groovy 变量使用双引号: sh "echo $user_input"我认为另一个问题可能是您在脚本之外使用sh ,您在其中声明了user_input变量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM