如何将bitbucket存储库与托管的按需版本的FogBugz集成?

时间:2008-09-23 14:51:09

标签: mercurial dvcs fogbugz tortoisehg bitbucket

我使用FogBugz的按需(托管)版本。我想开始使用Mercurial进行源代码控制。我想整合FogBugz和BitBucket存储库。 我试了一下,但事情进展不顺利。

FogBugz要求您将Mercurial客户端连接到fogbugz.py python脚本。 TortoiseHg似乎没有他们在说明中引用的hgext目录。

有没有人成功地做过类似的事情?

4 个答案:

答案 0 :(得分:15)

验尸:

Bitbucket现在拥有原生的fogbugz支持,以及其他后期服务。

http://www.bitbucket.org/help/service-integration/

答案 1 :(得分:6)

从它的声音中你想要在本地机器上运行钩子。钩子和方向适用于中央服务器。

如果您是唯一一个在您的存储库中工作的人,或者不介意在您执行拉取之前提交不在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。您可能还希望添加一个提交钩子,以便存储库的本地提交也进入FB。

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

在Fogbugz安装中,您需要更改将以下内容添加到您的日志网址中:

^REPO/log/^R2/^FILE

以及您的差异网址的以下内容:

^REPO/diff/^R2/^FILE

当钩子脚本运行时,它会连接到你的FB安装并向它发送一些参数。这些参数存储在DB中,用于生成差异和日志信息的URL。脚本发送repo的url,这是在[web]部分的baseurl设置中。您希望此网址成为您的bitbucket存储库的网址。这将用于替换上面的网址模板中的 ^ 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服务器和摘要的部分。

答案 2 :(得分:1)

只是单挑:Fog Creek发布了Kiln,它提供了与FogBugz紧密集成的Mercurial托管,并且不需要任何配置。

我通常不会在Stack Overflow上做广告(免责声明:我是Kiln开发者之一),但我觉得这直接回答了原来的问题。

答案 3 :(得分:1)

可以将您的GIT BitBucket存储库与FogBugz问题跟踪器集成,但遗憾的是它没有正确记录。

您必须遵循https://confluence.atlassian.com/display/BITBUCKET/FogBugz+Service+Management中描述的步骤,但要注意

  1. 在CVSSubmit网址中,您需要将网址设置为“?ixBug = bugID&amp; sFile = file&amp; sPrev = x&amp; sNew = y&amp; ixRepository =”参数。

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

  2. 您需要在git commit消息中提及您的FogBugz案例ID 通过在其中添加“BugzID:ID”字符串(这没有记录 任何地方:-()类似于:

    git commit -m“这是一个很好的提交,解决了BugzID案例:42”

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