Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Email 将环境变量用于';收件人:';在詹金斯管道梅勒_Email_Jenkins_Groovy_Jenkins Pipeline - Fatal编程技术网

Email 将环境变量用于';收件人:';在詹金斯管道梅勒

Email 将环境变量用于';收件人:';在詹金斯管道梅勒,email,jenkins,groovy,jenkins-pipeline,Email,Jenkins,Groovy,Jenkins Pipeline,我在Jenkins环境变量(emailsdl)中有一个电子邮件ID列表,并尝试将其用于Jenkins Pipeline Mailer中的收件人:,如下所示: mail (to: 'Mailer', recipients: '${env.emailsdl}', subject: "Job '${env.JOB_NAME}' (${env.BUILD_NUMBER}) is waiting for input", body: "Please go to ${env.BUILD_URL}.")

我在Jenkins环境变量(emailsdl)中有一个电子邮件ID列表,并尝试将其用于Jenkins Pipeline Mailer中的
收件人:
,如下所示:

mail (to: 'Mailer', recipients: '${env.emailsdl}',
 subject: "Job '${env.JOB_NAME}' (${env.BUILD_NUMBER}) is waiting for input",
 body: "Please go to ${env.BUILD_URL}.")
使用上述代码,我没有收到电子邮件,也没有收到错误:

未发送电子邮件。没有指定任何类型的收件人(“收件人”、“抄送”、“密件抄送”)

但是当我用真正的电子邮件替换
${env.emailsdl}
时(xyxyx@foo.com)然后它会触发一封电子邮件。我甚至尝试了
env['emailsdl']
,但没有成功


在这种情况下,有没有一种方法可以为收件人传递环境变量?

在groovy中,如果使用单引号字符串,它将不会被插入,这意味着在字符串
'${env.emailsdl}'
中,变量
env.emailsdl
不会被替换。您需要在groovy中使用双引号字符串:
“${env.emailsdl}”

,如果使用单引号字符串,它将不会被插值,这意味着在字符串
'${env.emailsdl}
中,变量
env.emailsdl
将不会被替换。您需要使用双引号字符串:
“${env.emailsdl}”
@Gergely:您的建议帮助我解决了问题。问题是我有一个本地环境变量,它被分配了一个来自其他全局环境变量的值:
globalVar=xyxyx@foo.com
emailsdl=${globalVar}
位于作业的本地属性中。现在我在管道脚本中调用这个
emailsdl
。这已通过以下方式解决:

env.((env.emailsdl).replaceAll("\$", ""))

@盖里:你的建议帮助我解决了我的问题。问题是我有一个本地环境变量,它被分配了一个来自其他全局环境变量的值:
globalVar=xyxyx@foo.com
emailsdl=${globalVar}
位于作业的本地属性中。现在我在管道脚本中调用这个
emailsdl
。这已通过以下方式解决:

env.((env.emailsdl).replaceAll("\$", ""))

如果您在脚本中添加
echo env.emailsdl
行,是否打印正确的值?@Gergely:您的建议帮助我解决了问题。问题是我有一个本地环境变量,它被分配了一个来自其他全局环境变量的值:
globalVar=xyxyx@foo.com
emailsdl=${globalVar}
位于作业的本地属性中。现在我在管道脚本中调用这个
emailsdl
。此问题已通过以下方式解决:
env.((env.emailsdl).replaceAll(\$,“”)
。如果在脚本中添加
echo env.emailsdl
行,是否打印正确的值?@Gergely:您的建议帮助我解决了我的问题。问题是我有一个本地环境变量,它被分配了一个来自其他全局环境变量的值:
globalVar=xyxyx@foo.com
emailsdl=${globalVar}
位于作业的本地属性中。现在我在管道脚本中调用这个
emailsdl
。此问题已由以下人员解决:
env.((env.emailsdl).replaceAll(\$,“”)
。您能接受您的答案吗?这样这个问题就不会一直没有答案了?您能接受您的答案吗?