Содержание:
Общие принципы работы Настройка плагина в TeamCity
Общее назначение. Плагин устанавливается на TeamCity и отдельно настраивается для каждой сборки. Позволяет создавать отчёты по сущностям Jira, вошедшим в сборку.
После создания отчета, вошедшие в сборку по условию фильтров сущности могут быть переведены на соответствующий статус, в соответствии с настройками плагина. Так же, к ним может быть добавлен комментарий.
Отчёт с сущностями Jira, вошедшими в сборку, может быть отправлен письмом группе рассылок, а так же закомичен в SVN в виде html файла, составленного на основе шаблона Velosity, и/или в виде обычного текстового файла, содержащего краткий свод вошедших изменений.
Пошаговое описание работы плагина с сущностями Jira.
Плагин определяет, какие комиты вошли в текущую сборку, на основе содержимого Changes для данной сборки в Teamcity.
Далее, среди коммитов отбираются те, в которых встречены строки, которые начинаются со слов, введенных как значение параметра "Jira project keys" в настройках плагина. Для проекта ЭБ это значение EB. То есть, по сути это префикс в наименовании ключей к сущностям Jira - так можно различать, является ли коммит относящимся к такой сущности, или это какая-то независимая правка, которую вносить в отчёт не нужно. Один комит может относиться к нескольким сущностям. В таком случае, сообщение комита должно содержать несколько строк, в начале каждой из которых будет указан префикс с ключом проекта.
Для всех комитов, в комментариях которых был найден такой префикс в начале хотя бы одной из строк, берётся первое слово комментария (например, EB-12345) каждой такой строки, и совершается попытка найти сущности с таким ключом в Jira.
Если была найдена такая сущность, проверяется её статус и резолюция, если они входят во множество значений, указанных в настройках плагина в параметрах Issue status id's и Issue resolution id's на вкладке Jira common, информация о данной сущности включается в отчёт.
Если в настройках отмечен флаг Transition issue, сущность, согласно указанному значению параметра Transition format (FROM:TO,FROM:TO...), переводится со статуса, указанного в левой части выражения до многоточия, на статус, указанный в правой части выражения после многоточия (например, Решен:В сборку).
Если в настройках отмечен флаг Add comment, тогда к данной сущности добавляется комментарий, указанный в параметре Comment format. В комментарий можно передавать значение параметров сборки, заданных для этой сборки в TeamCity, чтобы корректно передать такое значение, нужно заключить его в специальные символы #{} (например, В составе 8.#{PATCH_VERSION}.0 RC#{env.RC_VERSION})
Итого, для успешного включения в отчет по сборке изменений по некоторой сущности, нужно выполнять следующие правила:
Правило оформления комитов: Комит по сущности в Jira должен содержать информацию обо всех сущностях Jira, с которыми он связан. Для каждой сущности в сообщение комита должна быть включена новая строка, которая обязательно начинается с номера сущности, за которым следует пробел. Например, сообщение комита: "EB-12345 И здесь описание задачи EB-54321 Ещё одна задача а вот этот номер EB-32432 в отчёт включен не будет".
Правило работы с сущностями Jira:
Чтобы информация о закомиченых изменениях по сущности Jira вошла в отчёт, до начала запуска сборки (сразу после окончания работ над задачей) необходимо перевести сущность на статус, свидетельствующий о том, что задача закончена (такие статусы будут указаны как параметры фильтра сущностей в настройках плагина). В данный момент для сущности Задача это статус Закрыто, для сущности Ошибка/Доработка это статус Решен.
Работа с Jira
Пользователь Jira от имени которого забирается информация о сущностях Jira, должен иметь настроенные права доступа к тем проектам, информация о сущностях которых должна войти в отчёт.