К вашему сведению: это был мой первый пост в блоге, который я написал в своей жизни.

Bitbucket и его средство отслеживания проблем:

Bitbucket — широко используемый разработчиками инструмент для управления версиями исходного кода и управления проектами. Это облачный хостинг, который предлагает как бесплатные учетные записи, так и платные планы.

Bitbucket имеет целый ряд возможностей. Однако в этом посте основное внимание будет уделено функции отслеживания проблем. Это пространство под каждым репозиторием проекта, где запросы функций проекта и отчеты об ошибках поднимаются пользователями репозитория.

Идея — Bitbucket выпускает расширение для Chrome:

Bitbucket — часть нашего ежедневного рабочего процесса; мы размещаем все наши проекты на нем. Основная проблема, с которой мы столкнулись, заключалась в том, что мы открывали веб-сайт Bitbucket и снова и снова переходили на страницу проблем только для просмотра обновлений. Нам нужно было небольшое собственное приложение, которое позволит быстро получить доступ к задаче на Bitbucket и сообщит нам об основных обновлениях (разрешенных / созданных / и т. д.), не заходя в сам Bitbucket. Мы также хотели, чтобы он работал в автономном режиме, чтобы он не зависел от подключения к Интернету при просмотре старых выпусков/обновлений.

Отправной точкой был анализ требований и базовая диаграмма классов того, как наше приложение будет выглядеть с точки зрения дизайна и кода.

Создание каркасов:

Создание диаграммы классов:

Внедрение, Настройка кодовой базы | Выбор фреймворков/библиотек:

Мы использовали Bootstrap для стилизации всех компонентов этого приложения и использовали тему B ootswatch Paper, чтобы завершить все это.

Для JS-фреймворка мы использовали Angular (MustacheJS) для динамического рендеринга представления и плагин jQuery DynaTable для добавления интерактивности нашим представлениям.

Мы также использовали GruntJS для автоматизации нашего процесса разработки. Для тестирования мы использовали подход TDD (Test Driven Development). Библиотеки, которые мы использовали для тестирования: Protractor для функционального тестирования и MochaJS и ChaiJS для модульного тестирования.

Мы начали с создания шаблона приложения с помощью генератора Yeoman и добавления необходимых библиотек с помощью Bower и npm. Затем мы настроили и изолировали вызовы из консоли веб-API Bitbucket, чтобы получить список репозиториев и связанных с ними проблем.

Кодовая база приложения — MVC (контроллер представления модели)

У нас были еженедельные спринты для создания приложения — постепенно добавлялись функции одна за другой (это был наш побочный проект). Каждую неделю мы выпускали новую версию приложения для всех наших коллег в Recurship, которые затем использовали его и присылали отзывы. Этот цикл был очень важен, так как помог нам понять, что важно и нужно для этого приложения.

После нескольких итераций приложение было готово к публикации. Основные функции включают настройку репозиториев и их выпусков, а также фильтрацию по названию, статусу и дате. Вы также можете создать новую задачу из расширения. Двумя любимыми функциями для меня были переключение сочетания клавиш (command + shift + 9), которое мгновенно показывает или скрывает приложение, и автоматическое обновление (в фоновом режиме), которое проверяет изменения с интервалом в 5 минут и выдает уведомления на рабочий стол.

Доступные функции

В текущей версии (v2.0) доступны следующие функции:

  • Доступ к расширению на панели инструментов браузера
  • Аутентификация пользователя с использованием учетной записи Bitbucket (имя пользователя, пароль)
  • Отображение репозиториев учетной записи пользователя Bitbucket, а также совместное использование (личное и общедоступное) с
  • Отображение репозиториев в виде таблицы с их названием, владельцем и временем последнего обновления.
  • Нажав на репозиторий, чтобы просмотреть все его проблемы (если в репо нет проблем, он не будет доступен для кликов)
  • Отображение задач в таблице с их заголовком, статусом, создателем и временем последнего обновления.
  • Фильтрация по текстовому запросу в поиске
  • Фильтрация путем отображения только тех репозиториев, в которых есть проблемы
  • Фильтрация задач и репозиториев по их доступным полям (название, статус, отчет и последнее обновление, правопреемник и т. д.)
  • Отображение выбранных выпусков репо в автономном режиме (кэшировать локально — только для выбранных репозиториев)
  • Ручная синхронизация с помощью кнопки обновления и автоматическая синхронизация в фоновом режиме через каждые 5 минут.
  • Предоставление пользователям возможности создавать/добавлять новые задачи напрямую через приложение,
  • Включить/отключить уведомления
  • …. еще несколько

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

Мы внедрили Просмотр проблем Bitbucket в наш повседневный рабочий процесс. Мы также стремимся улучшить его для более широкой аудитории.

Загрузите и установите приложение здесь и дайте нам знать, что вы о нем думаете!

Мы хотели бы услышать ваши отзывы. Спасибо.

Ваше здоровье,

Первоначально опубликовано на странице recurship.com/blog/bitbucket-issues-viewer-js