Как стать автором
Обновить

Комментарии 9

Спасибо, с интересом прочитал!

Проголосовал в голосовалке, но ради статистики - changelog.md формирую вручную, использую SemVer (то есть, соответственно, https://keepachangelog.com/ru/1.0.0/ и https://semver.org/spec/v2.0.0.html)

Меня лично не парит, наоборот нравится, потому что лишний раз подумать, что сделал и зачем - это всегда полезно. Но в большой команде, конечно, это здорово.

Но в последнее время я чешу репу и раздумываю, не перейти ли на ComVer? (https://gitlab.com/staltz/comver) . Что-то три числа иногда начинают меня парить :-)

Супер статья, решение огонь!

A на сколько большая по вашему команда должна быть чтобы было целесообразно наворачивать такую систему?

И на сколько быстро мы можем запилить это решение в среднем?(дни, недели, годы?) :)

Спасибо!

С технической точки зрения задача не очень сложная. Правда, на мой взгляд, сложность внедрения решения обратно пропорционально размеру команды. Если у вас на проекте не много программистов, довольно легко будет объяснить им, почему следует добавлять ID задач Jira в сообщения коммитов. С другой стороны, если команда большая, то будут люди, которые начнут нарушать поставленные правила (либо по невнимательности, либо из желания протестовать). В этом случае, следует внедрить еще и git hooks.

Я бы оценил внедрение решения в срок от недели до пары месяцев, в зависимости от количества разработчиков, наличия других практик по коммитированию и полноты описания задач в таск-трекере.

Первый я бы назвал technical oriented, тогда как второй — business oriented стратегией.

Кажется тут последовательность шагов неверно соотносится с предложение ранее. Technical — это про коммиты, а business — про задачи.

То есть не позволяла бы написать некорректное сообщение коммита.

Следующий шаг автоматизации — брать номер задачи из названия ветки и так же через хук подставлять в commit message. Потому что добавлять руками номер задачи в каждый коммит — это довольно нудное занятие, удобнее сделать это единожды для ветки и больше не вспоминать до следующей задачи.

А в целом спасибо за статью, рано или поздно любой растущий проект сталкивается с этой рутиной, которую хочется максимально упростить.

Ошибку поправили, спасибо.

Согласен на счет того, что можно парсить ID задачи еще и из ветки.

НЛО прилетело и опубликовало эту надпись здесь
  1. Такое действительно может произойти. Обычно проблема не в том, что задачи описаны двусмысленно. Это следствие. Проблема в коммуникации. Люди решают, что нужно сделать голосом, а потом заводят задачу для соблюдения формальности. Здесь нужно сместить фокус таким образом, чтобы проблемы и вопросы по задаче решались в рамках заведенного тикета. Проще говоря, если задача описана не понятно, я оставляю комментарий к ней до выяснения обстоятельств. Как все вопросы разрешатся, можно поправить описание и только после приступать к выполнению.

  2. Вообще, если честно, у нас такой проблемы не возникало. Для срочного решения можно ставить к таким задачам какой-нибудь лейбл wrong_task. На CI/CD проверять его наличие или отсутствие, чтобы решить, нужно ли ее добавлять в Release Notes.

  3. Если было 4 merge request'а, привязанных к 4 разным задачам, то в Release Notes так же попадет 4 задачи, все верно. Не вижу здесь проблемы.

  4. В таких ситуациях можно добавлять не все задачи, а только story. Обычно именно в них описываются бизнес-кейсы. Если story прилинкована к техническим задачам, то с помощью API Jira можно так же получить по ней информацию.

Расскажите, как этот процесс реализован у вас в проекте и спасибо за чтение!

В одной пластилиновой местности сделано было похоже - в Bitbucket хуки, чтобы pull request-ы не проходили без указания задачи, в Jenkins при сборке формируется Release Notes. И ещё отдельный дашбоард, собирающий, хорошо ли эти RN собираются, и все ли пишут комменты, как надо.

Но один нюанс - Release Notes никто не видел, т.к. прав на их чтение почти ни у кого не было.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий