Моя компания использует 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 со слишком большим количеством этапов, багги Кандидаты на освобождение были оставлены, а новые были приняты.
Вы можете использовать [FogBugzPy] (https://developers.fogbugz.com/?W199) для получения данных из API FogBugz в Python. Он использует BeautifulSoup, который упрощает анализ XML. – Daniel