TeamCity: интеграция с Jira

Автор: | 04/06/2015
 

teamcity_logoИнтеграция TeamCity с JIRA позволяет легко отслеживать состояние билдов по конкретным таскам.

Выполняется с помощью плагина (платного) TeamCity Integration for JIRA.

На удивление – не нашёл ни одного подробного HowTo, хотя задача наверняка была бы интересна многим.

Важно: если TeamCity находится за каким-то сервером, например NGINX – ему потребуются дополнительные настройки для WebSocket.

Начнём с TeamCity.

Переходим в Administration > Autorization и устанавливаем галочку Per-project permissions:

teamcity_jira_16

Переходим в Administration > Users, и добавляем пользователя:

teamcity_jira_3

Переходим в Roles и добавляем две роли:

teamcity_jira_17

Project viewer:

teamcity_jira_18

и Agent manager:

teamcity_jira_19

Переходим в проект – Edit settings > Issue Trackers > Issue trackers connections (в TeamCity до 9 версии – он был в общих настройках, потом – в настройках проекта):

teamcity_jira_4

Заполняем поля:

teamcity_jira_5

  • Server URL – адрес JIRA:
  • Username: пользователь из группы jira-administrators;
  • Project Keys – нажмите Get all;

Сохраняем:

teamcity_jira_6

Переходим к настройке JIRA.

Переходим в Administration > Add-ons и находим TeamCity:

teamcity_jira_9

Ждём окончания установки:

teamcity_jira_10

Логинимся в Atlassian:

teamcity_jira_11

teamcity_jira_12

Готово.

Переходим в Administration > Add-ons > Application Links и создаём новую ссылку (порт указывать не надо):

teamcity_jira_7

В случае ошибки вида:

teamcity_jira_8

No response was received from the URL you entered – it may not be valid. Please fix the URL below, if needed, and click Continue.

Не обращаем внимания и жмём Continue.

Заполняем поля:

teamcity_jira_13

Жмём Edit:

teamcity_jira_14

Переходим в Outgoing Authentification и заполняем данные доступа пользователя, которого мы создали в TeamCtiy в самом начале:

teamcity_jira_15

Коммитим какие-то изменения в VCS, указав в комментарии номер созданной в JIRA таски (TT-1 в данном примере):

C:Userssetevoybamboo_testing>git commit -m "TT-1 Test pom"
[master 631043f] TT-1 Test pom
1 file changed, 2 insertions(+)
C:Userssetevoybamboo_testing>git push
...
Total 3 (delta 1), reused 0 (delta 0)
To https://bitbucket.org/user/bamboo_testing.git
631043f..88ad71f master -> master

В TeamCity запускаем билд, в результатах билда – видим ссылку на JIRA-таску, которая связана с изменениями в этом билде:

teamcity_jira_20

И в самой таске, во вкладке TeamCity – видим результаты билдов по этой таске:

teamcity_jira_24

Дополнительно – можно установить виджет, который будет отображать состояние агентов TeamCity.

В JIRA переходим в Dashboad и добавляем его:

teamcity_jira_21

teamcity_jira_22

teamcity_jira_23

 

На этом всё.