Как я могу интегрировать репозиторий Bitbucket с размещенной по требованию версией FogBugz?

StackOverflow https://stackoverflow.com/questions/121521

Вопрос

Я использую размещенную по требованию версию FogBugz.Я хотел бы начать использовать Mercurial для контроля версий.Я хотел бы интегрировать FogBugz и репозиторий BitBucket.Я немного попробовал, но дела шли не очень хорошо.

FogBugz требует, чтобы вы подключили свой клиент Mercurial к скрипту Python Fogbugz.py.Похоже, что у TortoiseHg нет каталога hgext, на который они ссылаются в инструкциях.

Так кто-нибудь успешно сделал что-то подобное?

Это было полезно?

Решение

Судя по всему, вы хотите запустить перехватчик на своей локальной машине.Крючок и направления предназначены для использования на центральном сервере.

Если вы единственный, кто работает в своем репозитории, или не возражаете против того, чтобы фиксация не отображалась в FB до тех пор, пока вы не сделаете извлечение, вы можете добавить перехватчик локально в свой основной клон. Если вы используете свой основной клон, вам нужно сделать что-то немного отличное от того, что они говорят здесь:http://bugs.movabletype.org/help/topics/sourcecontrol/setup/Mercurial.html

Вы можете поместить Fogbugz.py куда угодно, просто добавьте строку пути в раздел [fogbugz] файла hgrc этого репозитория:

[fogbugz]
path=C:\Program Files\TortoiseHg\scripts\fogbugz.py

Просто убедитесь, что у вас установлен Python.вы также можете добавить хук фиксации, чтобы локальные коммиты из репозитория также попадали в FB.

[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-адрес репозитория, он указан в настройках baseurl в разделе [web].Вы хотите, чтобы этот URL-адрес был URL-адресом вашего репозитория Bitbucket.Это будет использоваться для замены ^РЕПО из шаблонов URL выше.Сценарий перехвата также передает идентификатор версии и имя файла в FB.Они заменят ^R2 и ^FILE.Итак, вот что вы хотите добавить в файл hgrc в вашем каталоге .hg:

[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>/

Следует помнить, что FB может получить уведомление о проверке до того, как вы действительно отправите эти изменения в битбакет.Если причина в этом, сделайте толчок, и все заработает.

РЕДАКТИРОВАТЬ:добавлен раздел про ФБ сервер и аннотацию.

Другие советы

Посмертное:

Bitbucket теперь имеет встроенную поддержку Fogbugz, а также другие сервисы обратной передачи.

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

Просто предупредил:Фог Крик выпустил печь который предоставляет хостинг Mercurial, тесно интегрированный с FogBugz и не требующий какой-либо настройки.

Обычно я бы не «рекламировал» Stack Overflow (отказ от ответственности:Я один из разработчиков Kiln), но мне кажется, что это прямо отвечает на исходный вопрос.

Вы можете интегрировать свой репозиторий GIT BitBucket с системой отслеживания ошибок FogBugz, но, к сожалению, это не документировано должным образом.

Вам необходимо выполнить действия, описанные в https://confluence.atlassian.com/display/BITBUCKET/FogBugz+Service+Management, но остерегайтесь этого

  1. В URL-адресе CVSSubmit вам необходимо указать URL-адрес БЕЗ параметров "?ixBug=bugID&sFile=file&sPrev=x&sNew=y&ixRepository=".

    Это должно быть просто «https://your_repo.fogbugz.com/cvsSubmit.asp».

  2. Вам нужно будет упомянуть свой идентификатор дела Fogbugz в сообщении GIT Commit, разместив «Bugzid:ID "Строка в нем (это нигде не задокументировано :-() аналогично этим:

    git commit -m "Это превосходный коммит, который решает проблему BugzID:42 дюйма

Конечно, информация о фиксации будет отправлена ​​в FogBugz после того, как вы отправите фиксацию на сервер BitBucket, а не после того, как вы выполните локальную фиксацию.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top