[Высокая производительность, IT-инфраструктура] Синхронизируем время по задачам с Jira заказчика

Автор Сообщение
news_bot ®

Стаж: 6 лет 3 месяца
Сообщений: 27286

Создавать темы news_bot ® написал(а)
17-Июн-2021 14:32

Одним из наших приоритетных направлений является работа с серьезными проектами, состоящими из потока крупных задач.Чтобы совершенно не утонуть в скоплении работ разного приоритета в серьезных проектах всегда используют системы управления задачами. Это нужно как для самого процесса разработки, так и для дальнейшего анализа проблем.Рынок инструментов управления проектами и задачами предлагает обширный функционал и поддержку популярных методологий разработки. У каждой компании свой способ считать время сотрудников.Некоторым по душе Trello, а другие хотят «швейцарский нож» в управлении проектами по типу Jira. Последняя — самая популярная система управления проектами, которую используют более 65 тысяч компаний. Однако такое решение сильно «кусается» в цене - в среднем 25 тыс. рублей в месяц за 50 пользователей. Для сравнения облачная версия YouTrack для того же количества пользователей будет обходиться в 15 тыс. рублей в месяц, а Планфикс в 9 тыс. рублей. Вести учет времени и управлять проектами можно и бесплатно в Битрикс24 (до 12-ти пользователей), или в Google-таблицах.Обычно у заказчика и подрядчика разные системы и разный способ считать время. Каждый из них желает видеть потраченное время на выполнение задач у себя.Как правило, над проектом работают от одного до пяти исполнителей (аналитиков, дизайнеров, верстальщиков, разработчиков, тестировщиков) одновременно, выполняющих по несколько задач в день. Это сотни человеко-часов. Можно, связать системы управления задачами заказчика и подрядчика посредством ручного переноса данных из одной в другую, но это очень долго и больно.А если над проектом работает не один подрядчик? И каждый из них пользуется разными инструментами учета времени?
YouTrack и JiraПодобную проблему решает интеграция системы заказчика с системой подрядчика. Про такую интеграцию подробно расскажем в статье на конкретном примере взаимодействия.Особенности используемых системДля одного из наших проектов стояла задача разработать сервис, синхронизирующий потраченное время по задачам между нами и заказчиком.Для управления проектами и учета времени мы используем баг-трекер YouTrack компании JetBrains. Процесс учета времени у нас в компании подробно описан в статье «Интеграция Битрикс24 с системой учета времени в Google Spreadsheet» .У каждой траты времени есть автор, дата, потраченное время и комментарий. Комментарий к каждой такой записи состоит из описания проделанной работы, XML_ID (уникальный номер записи о трате времени в нашей внутренней системе «Потрачено») и версия этой записи для последующей оптимизации изменений.
Пример записей о трате времени в YouTrackСо стороны заказчика используется система управления задачами и проектами Jira компании Atlassian. Аналогично с YouTrack создаются задачи, относящиеся к конкретному проекту, к которым относится потраченное время.Вести учет времени в Jira можно с помощью стандартных средств, а также и с помощью приложений, расположенных в Atlassian Marketplace. Лидер среди приложений для учета времени — Tempo Timesheets. Умеет считать потраченное и оставшееся время с помощью внесения отдельных записей о трате времени к задаче.
Пример записей о трате времени в TempoПри любой интеграции актуален вопрос наличия API. Желательно документированного. Хотя бы рабочего… У YouTrack и Tempo есть REST API для решения текущей задачи. API Jira не использовалось, т.к. учет и работа с потраченным временем организована с помощью Tempo.Получить нужную нам информацию из двух систем мы можем. Но как теперь все это связать?Возможные схемы реализации обмена данными о тратах времениДля учета времени не нужно переносить данные из системы заказчика подрядчику. Записи о трате времени должны браться из YouTrack и передаваться в Jira через систему синхронизации.Дальше стоит определиться с частотой актуализации данных. Если важен обмен в режиме реального времени, то сначала стоит проверить, поддерживает ли такую возможность сервис из которого эти данные берутся. Например, в Trello такое можно реализуется помощью вебхуков. Для текущей задачи моментальное обновление данных не сильно важно, поэтому время синхронизируется один раз в сутки ночью.Связь между задачами в двух системах реализована на стороне YouTrack с помощью кастомного поля для проекта, где вручную проставлялся id задачи из Jira.
Информация о задачеВо время синхронизации сначала выбираются доступные к синхронизации задачи из Youtrack, а потом для каждой из них записи о тратах времени за последний месяц. Для полученных задач ищутся аналоги в Jira. Затем записи о трате времени для каждой из задач сопоставляются с теми, которые есть в Jira.Данные поддерживаются в актуальном состоянии за счет использования версионирования записей с помощью Потрачено. Если данные расходятся, то сравниваются версии записей и добавляются новые, либо удаляются лишние из Jira.
Диаграмма взаимодействия нашего сервера, YouTrack и JiraКак это работает сейчас?Обмен выполняется каждую ночь по расписанию. Также была разработана отдельная страница с ограниченным доступом, на которой можно запустить процесс обмена и посмотреть отчет о его результатах.
Интерфейс страницы с результатами синхронизацииВ процессе каждого обмена логируются все операции изменения данных в системе заказчика и возникающие ошибки. Логи хранятся структурировано с привязкой к дате и времени, что дает легко отследить историю изменений.В отдельные настройки вынесены проекты и задачи, доступные для обмена и те, которые исключены из него.В результате время синхронизируется для двух наших проектов, обрабатывая потраченное время для сотни задач каждый день. Заказчик получает информацию по потраченном времени в автоматическом режиме, а менеджер проекта избавлен от ручного переноса этой информации из одной системы в другую.Подобная система поможет облегчить и работу с подрядчиками над крупными проектами и процесс анализа потраченного времени для заказчика.Разработчики будут продолжать вести учет времени в своей системе, а заказчик видеть результаты в другой, что поможет сосредоточиться на проекте и эффективнее решать задачи.Мы как опытный веб-интегратор поможет связать используемые вами инструменты управления проектами в единое целое. Если есть вопросы либо возникнут проблемы при настройке, то задавайте вопросы в комментариях.У нас большой опыт работы с нагруженными, масштабными, проблемными и просто растянутыми по времени проектами, и мы готовы поделиться им с вами!Соавтор статьи: Егор Борисовский.
===========
Источник:
habr.com
===========

Похожие новости: Теги для поиска: #_vysokaja_proizvoditelnost (Высокая производительность), #_itinfrastruktura (IT-инфраструктура), #_jira, #_youtrack, #_bagtreker (багтрекер), #_jetbrains, #_vysokaja_proizvoditelnost (
Высокая производительность
)
, #_itinfrastruktura (
IT-инфраструктура
)
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 19-Май 03:18
Часовой пояс: UTC + 5