Интеграция системы управления требованиями Cradle с баг-треккером JIRA

Linking Cradle to JIRA

JIRA – это популярный инструмент для отслеживания ошибок и задач от Atlassian. Некоторые заказчики Cradle выражали заинтересованность в том, чтобы любая задача из JIRA могла бы связана с любым элементом в базе данных Cradle (требованием, риском, тестом). И затем, чтобы из Cradle можно было получить доступ к JIRA для отображения этой задачи.

Это легко сделать за счет:

  • настройки нового типа фрейма, поименованного JIRA или любым другим образом;
  • добавления атрибута типа JIRA для тех типов элементов Cradle, где это необходимо;
  • хранение идентификатора задачи JIRA в этом атрибуте элементов Cradle;
  • получения доступа к JIRA через Cradle.

Как это настроить описано ниже.

Аналогично настраивается интеграция с TFS, Redmine и другими баг-треккерами, которые имеют веб-интерфейс.

Определение типа фрейма  JIRA

Запустите WorkBench и войдите в ваш проект Cradle как пользователь, который имеет привилегию PROJECT. Эта привилегия необходима для модификации схемы проекта.

Выберите Администрирование->Установки проекта -> Определение элементов -> Типы фреймов

admin

Типы фреймовэто типы данных (а именно, типы атрибутов) в Cradle. Атрибуты называются фреймами в Cradle, поэтому типы атрибутов называются типы фреймов.

Мы можем сохранять ссылку на задачу JIRA внутри любого атрибута любого типа элементов в Cradle, но в данном случае мы настраиваем отдельный тип атрибута, поскольку нам необходимо специальное поведение (запуск JIRA), ассоциированное с этим атрибутом.

Введите имя для нового типа атрибута, в данном случае JIRA и нажмите Новый. Это добавит новый тип фрейма в список и инициализирует его установками по умолчанию (как текстовый атрибут).new_frame

Выберите созданный тип JIRA и нажмите Редактировать:

Linking_Cradle_to_clip_image005

Атрибуты этого нового типа должны быть URL, чтобы получать доступ к JIRA, поэтому мы изменим тип Base type на  URL, который также установит Storage (Хранение) в значение As Reference (Как связь).

Linking_Cradle_to_clip_image006

Мы должны определить команду для просмотра атрибутов этого типа JIRA. Используем этого директивы  $BROWSER и $IDENTITY. В ходе исполнения $BROWSER будет заменена путем к браузеру по умолчанию (например, Firefox или Internet Explorer) и $IDENTITY будет заменена на URL, сохраненный в атрибуте и отражающий путь к задаче JIRA. Чтобы убедиться, что у нас не будет проблем в случае, если эти строки содержат пробелы, возьмем все в кавычки. Мы также можем добавить Описание для последующего правильного использования этого типа фрейма в проекте.

Выберите OK,  чтобы закрыть диалог Frame Type Details .

Настроить атрибут типа JIRA

Теперь, когда у нас есть тип фрейма JIRA, мы можем определить атрибут этого типа. В Установках проекта теперь выберите вкладку Типы элементов и выберите тот тип элемента, к которому вы хотите добавить атрибут типа JIRA. В этом примере мы будет использовать предустановленный тип Requirement:

Linking_Cradle_to_clip_image008

Выберите Frames… , чтобы отобразить текущий список фреймов для данного типа (Requirement) и введите имя нового атрибута – JIRA ISSUE и нажмите Добавить:

Linking_Cradle_to_clip_image009

Это создаст новый атрибут, который будет по умолчанию текстовым. Выберите тип JIRA для этого атрибута:

Linking_Cradle_to_clip_image010

Затем нажмите OK, чтобы закрыть диалог Настройки фрейма и OK, чтобы закрыть установки проекта.

Так мы расширили схему и разрешили использование атрибутов  JIRA ISSUE для типа элементов Requirement.

Добавить задачи JIRA в элементы Cradle

Теперь каждый элемент типа Requirement может иметь атрибут JIRA ISSUE, который будет содержать URL задачи в базе данных JIRA.

Этип URLs имеют форму:

  • http://jjira-hostname-and-port/browse/issue-ID

например:

  • http://jira:8080/browse/TEA-1

где в данном примере, jira – это имя сервера, 8080 – порт, а TEA-1 идентификатор отслеживаемой задачи.

Чтобы сослаться на задачу JIRA из Cradle нам необходимо сохранить идентификатор задачи в конкретном элементе:

Например, запущенный запрос в Cradle может вывести список требований:

Linking_Cradle_to_clip_image012

Если мы изменим это представление, чтобы показывать атрибут  JIRA ISSUE  (или используйте Automatic , который отобразит все доступные атрибуты) мы увидим, что атрибут JIRA ISSUE пока пустой для всех элементов:

Linking_Cradle_to_clip_image014

Выберите строчку и атрибут  JIRA ISSUE, нажмите Edit Reference в выпадающем списке:

Linking_Cradle_to_clip_image015

В открывшемся окне введите адрес задачи JIRA:

Linking_Cradle_to_clip_image016

И нажмите OK.

Это сохранит URL задачи JIRA в атрибуте JIRA ISSUE, что будет отображено как <DATA>:

Просмотреть  задачи JIRA

Как только URL для задач JIRA сохранены в соответствующих элементах в базе данных Cradle, к ним можно получить доступ, щелкнув на соответствующий атрибут элемента.

Например, выберите в таблице или форме поле JIRA ISSUE и выберите Просмотреть из выпадающего списка:

Linking_Cradle_to_clip_image018

 

Cradle откроет браузер по умолчанию, откроет JIRA и отобразит ту проблему, на которую ссылается элемент в Cradle, в данном случае TEA-1:

Linking_Cradle_to_clip_image020

Важно: можно настроить тип фрейма JIRA таким образом, чтобы вводить только идентификатор задачи JIRA, а не полную ссылку. В этом случая мы должны определить команду Просмотреть в виде:

«$BROWSER» http://jjira-hostname-and-port/browse/$IDENTITY

В этом случае мы сохраняем расположение базы данных JIRA и саму команду доступа к конкретной задачи внутри типа фрейма. Так, например, если некоторый элемент Cradle связан с задачей в JIRA с номером 1234, тогда вы просто будете указывать в Cradle этот номер, в атрибуте типа JIRA ISSUE.

Когда вы захотите получить доступ к этому элементу запуститься следующая команда:

«C:\Program Files\Mozilla Firefox\firefox.exe» http://jjira-hostname-and-port/browse/1234

Этот подход позволяет не дублировать расположение JIRA при каждой ссылке на задачу и позволяет пользователям Cradle сразу видеть номер задачи JIRA во всех представлениях, который гораздо легче понять и быстрее изменить, чем полную ссылку.

 

Добавить комментарий