我使用标准SVN-JIRA预提交挂钩强制用户在使用this JIRA plugin时提交时输入JIRA问题ID作为注释。它调用python script,使用硬编码的用户名和密码登录JIRA。这带来了两个问题:
所以我想使用提交者的凭据登录JIRA。
现在你认为最好的方法是什么?我不太确定访问控制机制。我们对SVN(AIX服务器上的svn-acl),Windows,JIRA使用相同的用户名,但密码不同,所以我假设是一些LDAP / AD组合。
我能想到的两种即兴创作,虽然两者都是那样 - 不是很干净/优雅:
没有其他身份验证信息传递给SVN,所以可能有一个VBscript弹出窗口(我正在使用TortoiseSVN客户端+ Subclipse),当提交发生时会询问JIRA密码(你可以自动填充'作者'从Python脚本。或以某种方式启动JIRA登录窗口。
虚拟SSO - 强制用户为登录保留相同的密码。使用Win / SVN中的信用卡登录JIRA。 Makeshift,因为它取决于人类行为和不同的密码策略。由于这一点不允许提交,你不干净
我对第三方解决方案(Fisheye ??)持开放态度,但首选的是黑客/脚本。
答案 0 :(得分:2)
我认为你所寻找的东西不可能,因为:
没有将身份验证信息传递给SVN钩子脚本,因此您无法使用用户+密码登录JIRA
即使您可以在SVN中获取用户+密码,因为您似乎使用不同的SVN身份验证机制,SVN中的密码不适用于JIRA(使用LDAP)
< / LI> 醇>老实说,我只是没有看到使用一个特殊帐户连接到JIRA是一个问题。你的第二点实际上是应该发生的事情。只要SVN中发生了与JIRA问题相关的事情,我们就应该更新JIRA中的状态,无论谁做出提交。
如果您同意,剩下的就是脚本中的普通密码。我认为有很多方法可以解决。我相信有一些神秘的Python库,你可以使用它。
答案 1 :(得分:1)
最简单的解决方案是使用Crowd对Jira和Subversion进行身份验证。如果用户在其SVN提交注释中引用了Jira问题,则该注释将添加到相关的Jira问题中。至于限制具有SVN访问但没有Jira访问权限的用户,您可以添加一个提交后挂钩来检查Crowd以验证用户是否具有Jira访问权限。我不确定为什么有人会被允许提交源代码而不是评论错误,但这取决于你。