如何将Bitbucket代码仓库与托管的FogBugz on-demand版本集成?

9
我使用的是FogBugz的按需(托管)版本。我想开始使用Mercurial进行源代码控制。我想将FogBugz和BitBucket存储库集成起来。我尝试过一些方法,但情况并不太好。
FogBugz要求您将Mercurial客户端连接到fogbugz.py Python脚本。TortoiseHg似乎没有他们在说明中提到的hgext目录。
那么有人成功做过类似的事情吗?

抱歉,我无法提供任何帮助,但我建议您重新表达您的问题。实际上,您正在询问一个是/否问题,而您想知道的是*某人是如何做到的。我建议您这样问:“如何将Bitbucket存储库与托管的FogBugz On-Demand集成?” - phloopy
所有那些关于FogBug的问题都在StackOverflow上做什么?为什么你不能发邮件给支持团队并询问呢?毕竟你是付费使用他们的软件(至少我是这样认为的),所以应该得到一些帮助。 - Till
@Till - 对于其他人来说,为了不必打电话给支持并浪费时间。这让我节省了一些时间,两年多后 :) - kostja
当然这很有帮助,但是我只是想说既然你花了钱购买了他们的产品,也应该使用他们的支持服务。;-) - Till
4个回答

15

酷,感谢信息...现在我只需要想办法让它起作用就行了。 - carrier
这是否意味着我们仍然按照http://fogbugz.stackexchange.com/questions/4433/mercurial-integration中的步骤进行操作? - Seth

6
根据您的描述,您想在本地计算机上运行钩子。该钩子和说明旨在用于中央服务器。
如果您是仓库中唯一的工作人员或者不介意提交内容在您执行pull操作之前不会显示在FB上,则可以在主克隆中本地添加钩子。如果您正在使用主克隆,则需要执行与此处所述略有不同的操作:http://bugs.movabletype.org/help/topics/sourcecontrol/setup/Mercurial.html 您可以将fogbugz.py放在任何位置,只需在该存储库的hgrc文件的[fogbugz]部分中添加路径行即可。
[fogbugz]
path=C:\Program Files\TortoiseHg\scripts\fogbugz.py

请确保您已安装Python。您可能还希望添加提交挂钩,以便将本地提交到存储库中。

[hooks]
commit=python:hgext.fogbugz.hook
incoming=python:hgext.fogbugz.hook

在安装Fogbugz时,您需要将以下内容放入日志URL中:
^REPO/log/^R2/^FILE

以下是您的差异化URL:

^REPO/diff/^R2/^FILE

当钩子脚本运行时,它会连接到您的FB安装并发送一些参数。这些参数存储在数据库中,并用于生成差异和日志信息的URL。脚本会发送仓库的URL,这是在[web]部分的baseurl设置中。您希望此URL成为指向您的Bitbucket存储库的URL。这将用于替换上面的URL模板中的^REPO。钩子脚本还将传递修订ID和文件名给FB。这些将替换^R2和^FILE。因此,总结一下,这是您要添加到.hg目录中hgrc文件中的内容:
[extensions]
hgext.fogbugz=

[fogbugz]
path=C:\Program Files\TortoiseHg\scripts\fogbugz.py
host=https://<YOURACCOUNT>.fogbugz.com/
script=cvsSubmit.asp

[hooks]
commit=python:hgext.fogbugz.hook
incoming=python:hgext.fogbugz.hook

[web]
baseurl=http://www.bitbucket.org/<YOURBITBUCKETACCOUNT>/<YOURPROJECT>/

需要记住的一件事是,在您将更改推送到Bitbucket之前,FB可能会收到签入的通知。如果这是原因,请进行推送,然后问题就会解决。

编辑:添加了关于FB服务器和摘要的部分。


谢谢你的回答...你能告诉我一些关于应该放在[fogbugz]部分的脚本参数的信息吗?由于我没有托管fogbugz,这是如何工作的? - carrier

1
提醒一下:Fog Creek 发布了一个名为 Kiln 的软件,它可以提供与 FogBugz 紧密集成且无需任何配置的 Mercurial 托管服务。
通常情况下我不会在 Stack Overflow 上“打广告”(声明一下:我是 Kiln 开发人员之一),但我认为这直接回答了原问题。

1

您可以将GIT BitBucket存储库与FogBugz问题跟踪器集成,但不幸的是它没有得到适当的文档支持。

您需要按照https://confluence.atlassian.com/display/BITBUCKET/FogBugz+Service+Management中描述的步骤进行操作,但请注意:

  1. 在CVSSubmit URL中,您需要放置不带“?ixBug=bugID&sFile=file&sPrev=x&sNew=y&ixRepository=”参数的URL。

    应该只是“https://your_repo.fogbugz.com/cvsSubmit.asp”

  2. 您需要在git提交消息中提及您的FogBugz案例ID,方法是在其中放置“BugzID:ID”字符串(这个方法没有被记录在任何地方 :-( ),类似于:

    git commit -m "This is a superb commit which solves case BugzID: 42"

当然,在您将提交推送到BitBucket服务器后,提交信息将被发送到FogBugz,而不是在本地提交之后。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接