如何在Jenkins管道中将groovy变量传递给powershell?
我试图将groovy变量传递给jenkins管道内部的powershell脚本,所有这些都在同一个地方,但我不知道如何传递。我尝试了不同的方法,但没有成功 我需要它来获取批准管道步骤的人员的姓名,并将其传递给连接SQL SERVER的powershell如何在Jenkins管道中将groovy变量传递给powershell?,jenkins,groovy,Jenkins,Groovy,我试图将groovy变量传递给jenkins管道内部的powershell脚本,所有这些都在同一个地方,但我不知道如何传递。我尝试了不同的方法,但没有成功 我需要它来获取批准管道步骤的人员的姓名,并将其传递给连接SQL SERVER的powershell stage('Step1'){ steps{ script{ def approverDEV approverDEV = input id: 'test', messag
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中,变量将在创建实际字符串之前进行求值 未计算单引号字符串。使用双引号:
“$a”“”
但这不是问题所在,而是方法,然后不清楚问题出在哪里…@daggett对不起,我的错,你有理由。谢谢谢谢你有理由@达吉特。谢谢,我还有同样的问题。如果我在执行作业时在内部声明变量powshell,我会遇到下一个问题:没有这样的属性:类的参数:WorkflowScript脚本{powershell(“$Params=”Hello Word!””)}不太确定,但听起来好像变量不在范围内。它是Groovy变量吗?否则,如果要将其用作powershell变量,则可能需要将其删除。