Вступление
Большую часть времени разработчики проводят в двух местах - в IDE и в багтрекере/системе управления задачами (ну и, естественно, за гуглением/чтением всяких блогов, литературы etc). При этом, как правило, работая над конкретной задачей, разработчик использует весьма небольшое количество файлов проекта и возможностей IDE. Таким образом, все остальное окружение, не затронутое данной конкретной задачей, только отвлекает и сбивает с толку. Помочь решить эту проблему призванзамечательный плагин для не менее замечательной IDE Eclipse под названием mylyn.
Суть работы плагина следующая: вы создаете какое-либо задание (точь в точь как в багтрекере), например "Пофиксить баг XXX", помечаете его как активное и начинаете как обычно над ним работать. При этом mylyn будет внимательно следить какие файлы вы открывали, сколько времени вы проводили над их правкой, какими функциями Eclipse пользовались. И затем на основе накопленной статистики начинает просто напросто часто используемые в данной задаче файлы подсвечивать более ярким и жирным цветом в списке файлов, затемняя неиспользуемые. Вроде даже некоторые элементы интерфейса также скрывает/выделяет, не замечал. Это и есть основная фича. Кажется очень просто, но на самом деле крайне эффективна т.к. позволяет сконцентрироваться непосредственно над текущей задачей.
Вторая фича - то что задания можно создавать не только непосредственно в Eclipse, можно загружать тикеты напрямую используя вашу систему управления задачами. Мало того, Mylyn позволяет оперировать тикетами в системе управления задачами непосредственно из Eclipse: создавать тикеты, редактировать опции (%выполнения, оцененное время, статус), добавлять комментарии. К тому же он умеет считать затраченное на выполнение задачи время! Для этого используются специальные адаптеры (коннекторы) mylyn для различных систем управления задачами, т.н. "Task Repository Connectors", которые взаимодействуют с системой через REST или какое то другое API либо вообще парся веб-страничку тикета. Существуют множество коннекторов для распространенных систем, таких как Bugzilla, Jira, Mantiss, Trac и многих других. Причем некоторые из них можно установить непосредственно из интерфейса Eclipse, для чего нужно открыть Window > Show view > Task list , в появившемся блоке списков задач кликнуть по иконке New task > add repository... > Install more connectors. К сожалению, в этом списке отсутствует коннектор для Redmine, поэтому придется повозиться дополнительно.
Подключение Eclipse mylyn к redmine
Для редмайн так же существует mylyn конектор, его проект расположен на SourceForge . Помимо установки самого коннектора необходимо установить плагин для редмайн. На сайте проектаесть подробная инструкция по установке, я могу далее просто описать свой опыт.
Установка плагина redmine
Довольно простая. Для этого на серверепереходим в директорию с установленным redmine и выполняем
ruby script/plugin install -x http://redmin-mylyncon.svn.sourceforge.net/svnroot/redmin-mylyncon/redmine_mylyn_connector/tags/CURRENT/redmine_mylyn_connector
В общем то все, переходим по адресу /admin/plugins вашего редмайна и видим "Mylyn Connector plugin" - значит все прошло хорошо. Если нет - попробуйте перезапустить Redmine.
UPD 2011.06.03: Помимо установки плагина, нужно включить Redmine REST API. Для этого нужно перейти в Administration -> Settings -> Authentication и поставить галку на Enable REST API.
Для обновления плагина можно воспользоваться командой
ruby script/plugin update
Установка Eclipse mylyn конектора Redmine
Для начала нужно подключить Update site для плагина. Адрес http://redmin-mylyncon.sourceforge.net/update-site/N/ о том как устанавливать дополнения в Eclipse я уже писал в этой статье. Если вкратце - открываем Help > Install New Software > Add в окошке в поле Name вводим что то вроде "Redmine mylyn connector", в поле Location " http://redmin-mylyncon.sourceforge.net/update-site/N/" и жмем ok. Далее после загрузка списка плагинов отмечаем галочкой "Mylyn Connector: Redmine", щелкаем Next-ы, рестартуем eclipse... Мы уже у финишной черты!
Подключение redmine проектов к mylyn
Теперь мы можем загрузить тикеты из существующего redmine проекта в mylyn и затем обновлять/редактировать их прямо из eclipse. Для этого в табе "Task list" (Window > Show view > Task list если уже забыли) щелкаем по иконке New task > add repository...
В этом окошке выбираем появившийся теперь "Redmine", жмем Next. В следующем окне вводим параметры подключения к веб-серверу Redmine ("репозиторий тикетов" в терминах mylyn).
Здесь в поле Server вводим адрес, на котором у вас живет redmine, например "http://redmine.example.com/"; поле Label - понятное для вас название этого репозитория (будет показываться в списке доступных репозиториев); User id и Password соответственно ваши логин и пароль от учетки в redmine. Остальные опции можно оставить по умолчаню.
Жмем Finish и попадаем на страницу создания запроса на получение тикетов. По сути эта страница соответствует таковой по адресу "http://redmine.example.com/projects" с фильтрами со страницы "http://redmine.example.com/projects/myproject/issues" - какие задачи загружать с сервера а какие нет.
Выбираем в выпадающем списке "Select a project or create a Cross-Project-Query" какой-либо из проектов вашего redmine (либо оставляем как есть - тогда подгрузятся тикеты для всех проектов). В поле Query title вводим что-то осмысленное, например название проекта. Проверяем фильтры (например можно попросить загружать только тикеты назначенные мне или только открытые тикеты) и жмем Finish
Тадам! Думаю не стоит уточнять, что таким образом можно делать несколько запросов к одному репозиторию тикетов.
Теперь щелкаем по любому тикету в списке и попадаем на такую страничку
Как видите, здесь мы можем редактировать любые свойства тикета так же, как если бы мы делали это напрямую через веб-интерфейс редмайна. Дизайн может показаться странным, но со временем привыкаешь.Чтобы сделать задание активным, нужно кликнуть по черному кружочку (на скриншоте обвел красным) и сразу начнется сбор статистики. Все просто!
Удачных экспериментов!
Почитать
Сайт mylyn
Статья в wikipedia
Преимущества mylyn в статье на хабре
Сайт redmine - mylyn коннектора (есть
wiki)
[…] PS пишет: Суть работы плагина следующая: вы создаете какое-либо задание (точь в точь как в багтрекере), например «Пофиксить баг XXX», помечаете его как активное и начинаете как обычно над ним работать. При этом mylyn будет внимательно следить … […]
Изменился URL коннектора для Eclipse 3.6 на
Update site: http://redmin-mylyncon.sourceforge.net/update-site/N/
подробнее: http://info.sectorit.net/index.php/component/content/article/10-it/91—ide-eclipse-pdt-
О.. Спасибо огромное. Смотрю у меня обновлялка ругается а разбираться лень было. В статье попозже поправлю
Подключил все по инструкции, в редмайне включил REST, но при попытке добавить новый репозиторий выдает:
«Redmine REST web service not enabled or invalid CGI-Server configuration»
а в редмайне по урлу /admin/plugins есть «Mylyn Connector plugin»?
У меня там выдает
Вот у меня.
Mylyn Connector plugin
This plugin provides a webservice API for Eclipse Mylyn (RESTful) Sven Krzyzak 2.6.3.stable.423
В догонку:
Redmine 1.0.3.devel.4408 (MySQL)
Mylyn Connector: Redmine 0.1.0.201010112030 net.sf.redmine_mylyn.feature.feature.group
Наверное потому что у меня майлин не 2.7. поставлю 2.7 и отпишусь.
Так и не понял к чему написано
Depends on Redmine 1.0.0 with Mylyn-Plugin(WS-API) 2.7.0.
Где этот Mylyn-Plugin(WS-API) 2.7.0. ставить…
Ой, я инструкцию писал для redmine 0.9. У 1.0 могло что то поменяться — на 1.0 я не пробовал
>Depends on Redmine 1.0.0 with Mylyn-Plugin(WS-API) 2.7.0.
>Где этот Mylyn-Plugin(WS-API) 2.7.0. ставить…
Mylyn-Plugin(WS-API) 2.7.0 ставить в самом редмайне.
Можете вот почитать http://sourceforge.net/apps/wordpress/redmin-mylyncon/
[…] (но, походу, только для локальных хранилищ).Информация: Как добавить репозиторий тикетов Redmine, Официальна инструкция по установке Redmine, тоже стоит […]
на Eclipse Juno 4.2 и redmine 2.2.3 плагин не рабочий, постоянно ошибки вылетают
Добрый день всем! Мы разработали таймер для учета времени в системе Redmine, он доступен для скачивания после короткой регистрации )
rmclient.org будем очень признательны за использование нашего таймера и помощь в тестировании.