即使在下游项目中,如何让Jenkins Job中的已启动用户获得?

时间:2013-01-15 09:58:18

标签: jenkins jenkins-plugins

在jenkins作业shell中,我希望得到在shell中启动构建的用户,我该怎么做?

如果这个作业是由用户启动的话Build User Vars Plugin运行良好,而上游作业等其他人触发它,它就不起作用。像$BUILD_USER这样的值是空的。

在该页面中查看作者“Gavriil”的评论

  

这不是错误。仅在以下情况下才能识别构建用户   build由用户启动。如果构建是由其他原因触发的,f.e。   通过计时器或上游工作结束

虽然在作业控制台中,实际上我可以看到用户信息

Started by upstream project "arctifact2slave" build number 16
originally caused by: 
Started by upstream project "create-vm" build number 5
originally caused by: 
Started by user larrycai

任何建议

2 个答案:

答案 0 :(得分:6)

我不确定你究竟想要实现什么,但我理解它的方式,你可以做到以下几点。

  • 将String参数添加到根作业。影响它的BUILD_USER变量值。即:${BUILD_USER}

  • 然后只需在'构建后操作 - >中传递当前构建参数;在其他项目的部分触发参数化构建。

后续作业将能够读取变量。

答案 1 :(得分:1)

在大多数情况下,这个问题似乎已得到解答,但我想为那些拥有Jenkins多个副本以及其他产品的人提供一些有用的东西:

我有一些与SVN链接的Jenkins服务器做了类似于你想做的事情。我有脚本保存在向主Jenkins触发帖子提交挂钩时初始化提交的人的用户名。这样,无论您使用哪个Job,Jenkins或其他服务器,您都可以访问该信息。