2014-02-07 13 views
1

Моя компания использует Jenkins для автоматической ежедневной сборки и FogBugz для отслеживания и документирования наших исправлений ошибок. Все это хорошо работает.Есть ли способ автоматизировать создание отчета «Заметки о выпуске FogBugz»?

Когда мы закончили тестирование кандидата на выпуск и готовы опубликовать его в мире, мы используем функцию FogBugz 'Release Notes Report, чтобы автоматически генерировать текстовый файл, содержащий описания того, что изменилось со времени опубликованной публикации.

Это в основном работает, но проблема в том, что тестирование наших кандидатов может пройти месяц или дольше, поэтому к тому времени, когда Кандидат на выпуск прошел тестовый процесс, и мы готовы его опубликовать, дополнительные исправления ошибок были переданы в SVN и задокументированы в FogBugz. Поэтому, если мы создадим отчет Notes Notes от FogBugz, отчет будет содержать описания изменений, которые фактически не присутствуют в кандидате на выпуск, который мы готовы опубликовать. (*)

Простым решением этой проблемы является создание документа выпуска Notes в тот же день, когда сам кандидат-кандидат скомпилирован; таким образом документ Release Notes будет соответствовать состоянию протестированных исполняемых файлов Release Candidate. Но это немного утомительно и подвержено ошибкам делать это вручную для каждого кандидата на выпуск, поэтому мне бы хотелось, чтобы Jenkins делал «Daily Build» документа Release Notes, так же, как и Daily Сборка исполняемых программ. Документ Notes Notes будет храниться вместе с исполняемыми файлами в каталоге Artifacts, для использования, если мы решили опубликовать кандидат на выпуск, основанный на ежедневной сборке этого дня.

Я думаю, что это будет работать очень хорошо, но я не уверен, как заставить FogBugz генерировать отчет из сценария. Есть ли способ сделать это?

(*) Другим подходом к этой проблеме было бы создание нового веха каждый раз, когда мы начинаем тестировать кандидат на выпуск, но я не хочу этого делать, потому что это загромождает нашу базу данных FogBugz со слишком большим количеством этапов, багги Кандидаты на освобождение были оставлены, а новые были приняты.

ответ

1

Я сделал некоторый прогресс в этом вопросе ... для получения заметок XML Release можно использовать XML API FogBugz. Сначала вы должны получить токен, как описано here.

Затем сценарий оболочки может выполнить команду, как это:

wget -OReleaseNotes.xml 'https://fogbugz.mycompany.com/api.asp?token=the_token_value_from_above_goes_here&cmd=search&q=fixfor:MyMilestone&cols=ixBug,sCategory,sTitle,sReleaseNotes' 

Я подозреваю, что есть более элегантный способ сделать это, и было бы неплохо, если бы я мог получить данные в HTML или ASCII формат, а не XML, но это лучше, чем ничего.

+0

Вы можете использовать [FogBugzPy] (https://developers.fogbugz.com/?W199) для получения данных из API FogBugz в Python. Он использует BeautifulSoup, который упрощает анализ XML. – Daniel