2010-11-11 162 views
5

我想将当前登录用户的teamcity用户名传递给从teamcity调用的构建脚本,是否有一个属性具有此属性?当我看时,我没有看到一个。它不能是一个用户指定的属性,因为我希望它与他们的实际登录绑定,因此他们是谁的某种身份验证。当前登录用户的Teamcity属性

回答

1

答案取决于你在“当前登录用户”下的含义。登录在哪里以及为什么? 一般来说,TeamCity不需要登录就可以开始构建。例如,您可以将TeamCity配置为在对指定VCS根进行的每次提交时开始构建。在这种情况下,您只能传递用户的名称,该用户的帐户用于访问VCS根目录(%vcsroot.user%)。

另一种情况是,如果你需要windows用户的名字,在哪个帐号下TeamCity 构建代理正在运行?如果是这样,你不能使用TeamCity。您需要在构建脚本中检索它。

+1

我的意思是团队城市登录,这些构建不会自动启动,它们都是由用户手动运行,因为他们在这种情况下执行部署。 – jtruelove 2010-11-11 21:55:39

+1

清除。我在每个手动生成运行的Windows通告程序中看到了这个值。引发构建的TeamCity用户的名称。我在通知程序模板文件中找到了一个名为$ {build.triggeredBy.user.descriptiveName}的属性。但不幸的是,当我尝试在构建配置中使用此属性(如%build.triggeredBy.user.descriptiveName%)时,它使我的构建配置无效,TeamCity甚至无法启动构建。 – 2010-11-12 15:56:46

+0

似乎这个参数不被构建运行器支持,它只存在于TeamCity的通知子系统中。我的TeamCity版本是5.1.3(版本13506)。无论如何,我会建议你在TeamCity论坛上提问这个问题。相信,你会在那里得到更合格的答案。 – 2010-11-12 15:57:44

2

我使用了属性%teamcity.build.triggeredBy%和%teamcity.build.triggeredBy.username%。这些属性返回“John Doe”和“[email protected]”。 使用这个值我可以允许运行一个构建与否。

我读过应该先安装groovy插件才能使用这些属性。但我无法检查是否安装了它。我只是无法访问TeamCity管理设置。