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