gpt4 book ai didi

jenkins - 如何在 Jenkins 管道中将 groovy 变量传递给 powershell?

转载 作者:行者123 更新时间:2023-12-02 20:02:35 26 4
gpt4 key购买 nike

我正在尝试将 groovy 变量传递给 jenkins 管道内的 powershell 脚本,所有这些都在同一个地方,但我不知道如何。我尝试了不同的方法但没有成功。

我需要它来获取批准PIPELINE步骤的人的姓名并将其传递给与SQL SERVER连接的powershell

    stage('Step1'){
steps{
script{
def approverDEV
approverDEV = input id: 'test', message: 'Hello', ok: 'Proceed?', parameters: [choice(choices: 'apple\npear\norange', description: 'Select a fruit for this build', name: 'FRUIT'), string(defaultValue: '', description: '', name: 'myparam')], submitter: 'user1,user2,group1', submitterParameter: 'APPROVER'

echo "This build was approved by: ${approverDEV['APPROVER']}"
}
}
}

stage('Step2'){
steps{
script{
powershell ('''
# Example echo "${approverDEV['APPROVER']}"
# BUT THIS DOESN'T WORK :(
''')
}
}
}

我期望输出是存储在变量 GROOVY ApproverDEV 中的批准者的名称

最佳答案

Dagett 是正确的,在 powershell 脚本中使用双引号,然后将对变量进行求值:

script{
powershell ("""
# Example echo "${approverDEV['APPROVER']}"
# BUT THIS DOESN'T WORK :(
""")
}

在 Groovy 中使用三重双引号称为“多行 GString”。在 GString 中,将在创建实际字符串之前评估变量。

关于jenkins - 如何在 Jenkins 管道中将 groovy 变量传递给 powershell?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55483338/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com