构建完成后,我使用mail-ext-plugin(Jenkins Email Extension Plugin)向某些用户发送电子邮件。 我想包括在该邮件中启动(请求)构建的用户。 - 我找不到任何与默认Jenkins vars一起工作的东西。 - 我在mail-ext vars中找不到任何东西。 - 我尝试使用Build User Vars插件获取$ BUILD_USER
但我无法让它发挥作用。
如何到达$ BUILD_USER,BUILD_REQUESTER,USERNAME或类似的东西
现在我有
$DEFAULT_CONTENT
--
{$BUILD_USER}
导致
zzz test GreenHat - Build # 27 - Still Failing:
Check console output....
--
{$BUILD_USER}
也试过没有{}
答案 0 :(得分:10)
我终于找到了我想要的东西, 中加入:
$CAUSE
或
${CAUSE}
给出
Started by user Jan Jansen
答案 1 :(得分:2)
我知道我在这里回答了一个有4年之久的问题,但谷歌把我带到了这里,所以其他人可能会发现这些信息很有用......
过去几年中,有很多changes来自Email-ext Jenkins插件,这会影响这个问题 - 例如,在v2.38(2014年5月24日)中:
为收件人提供商(RecipientProvider)实施新的扩展点,这会更改添加收件人类型的方式
“请求者”“收件人”等不再有复选框,每个复选框都由RecipientProvider的实现提供
使用最新版本的插件,如果您希望向触发构建的用户发送电子邮件,您只需从“发送至”触发器选项中选择“请求者”:
“收件人列表”是一个硬编码列表,您也可以为该作业定义。
答案 2 :(得分:1)
在您的示例中,{$BUILD_USER}
应为${BUILD_USER}
,
但即使这样,除非你安装这个插件,否则它将无法工作:
它为您提供以下变量:
(有关详细信息,请参阅插件页面)
答案 3 :(得分:0)
简单的解决方案(没有任何插件/没有插件)!
方法1:通过外壳
BUILD_TRIGGER_BY=$(curl --silent ${BUILD_URL}/api/xml | tr '<' '\n' | egrep '^userId>|^userName>' | sed 's/.*>//g' | sed -e '1s/$/ \//g' | tr '\n' ' ')
echo "BUILD_TRIGGER_BY: ${BUILD_TRIGGER_BY}"
方法2:通过Groovy
node('master') {
BUILD_TRIGGER_BY = sh ( script: "curl --silent ${BUILD_URL}/api/xml | tr '<' '\n' | egrep '^userId>|^userName>' | sed 's/.*>//g' | sed -e '1s/\$/ \\/ /g'", returnStdout: true ).trim()
echo "BUILD_TRIGGER_BY: ${BUILD_TRIGGER_BY}"
}
方法3:通过Groovy
BUILD_TRIGGER_BY = "${currentBuild.getBuildCauses()[0].shortDescription} / ${currentBuild.getBuildCauses()[0].userId}"
echo "BUILD_TRIGGER_BY: ${BUILD_TRIGGER_BY}"
输出:
Started by user Admin / user@example.com
注意:输出将同时是用户ID和用户名