Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.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
如何在Jenkins中将变量传递给构建后操作?_Jenkins - Fatal编程技术网

如何在Jenkins中将变量传递给构建后操作?

如何在Jenkins中将变量传递给构建后操作?,jenkins,Jenkins,我试图在构建后操作中发送一封电子邮件,内容设置为我在构建操作中计算的一些结果。我似乎无法将变量从shell代码传递到任何构建后操作 我试过使用EnvInject,但没有成功 我遗漏了什么?正如经常发生的那样,我在发布问题后立即找到了解决方案 我通过在shell脚本中使用类似这样的内容来解决这个问题: EMAIL_CONTENT=$(cat <<EOF Some content here. Some content there. EOF ) EMAIL_RECIPIENTS="som

我试图在构建后操作中发送一封电子邮件,内容设置为我在构建操作中计算的一些结果。我似乎无法将变量从shell代码传递到任何构建后操作

我试过使用EnvInject,但没有成功


我遗漏了什么?

正如经常发生的那样,我在发布问题后立即找到了解决方案

我通过在shell脚本中使用类似这样的内容来解决这个问题:

EMAIL_CONTENT=$(cat <<EOF
Some content here.
Some content there.
EOF
)

EMAIL_RECIPIENTS="someone@example.com"    

touch email_properties
echo "EMAIL_CONTENT=${EMAIL_CONTENT}" >> email_properties
echo "EMAIL_RECIPIENTS=${EMAIL_RECIPIENTS}" >> email_properties
EMAIL\u CONTENT=$(cat EMAIL\u属性
echo“EMAIL\u RECIPIENTS=${EMAIL\u RECIPIENTS}”>>EMAIL\u属性

然后,在后期构建操作中,我使用了
在其他项目上触发参数化构建
,以及
属性文件中的参数
选项,以触发一些其他作业,其唯一目的是通过电子邮件向我发送这些凭据。这是一种解决方法,但它可以工作。

如果我理解的话,我在这里也有类似的问题您的解决方法:通过
trigger parameterized build…
创建一个属性文件来触发下游作业。我可以将属性文件中的参数传递给下游作业,但电子邮件触发器无法使用它。我使用脚本-After build和触发器脚本
build.envVars[“GO”]=='Y'
。你是怎么做到的?真的很抱歉,@Heinz,我这么做已经太久了。我想里面有一个字段,比如“从文件加载属性”,它会在电子邮件触发器中读取
电子邮件属性
文件。但很抱歉,这是很久以前的事了(
在其他项目上触发参数化构建
在Jenkins版本2中似乎不再存在。190@Scott您需要安装此插件,如果您没有将
在其他项目上触发参数化生成作为生成后操作,那么您可能需要安装此插件。在本例中,您使用email_属性作为属性文件名。然后在您调用的参数化Jenkins构建或项目中,通过选择
此项目已参数化并填写名称,确保属性文件的键定义为字符串参数。在这种情况下
字符串参数的名称为EMAIL\u CONTENT和EMAIL\u REC伊彭斯