Есть ли у кого-нибудь хук git commit, который я могу использовать, чтобы гарантировать, что номер проблемы JIRA появится в сообщении о регистрации? У меня нет опыта управления JIRA из хука фиксации git, поэтому любая помощь будет оценена - рабочий источник тем более!
Хук фиксации проверки кода JIRA для «git»
Ответы (3)
Сначала сделайте хук исполняемым:
chmod a+x .git/hooks/commit-msg
Добавьте следующие строки, заменив PROJECT кодом вашего проекта.
test "" != "$(grep 'PROJECT-' "$1")" || {
echo >&2 "ERROR: Commit message is missing Jira issue number."
exit 1
}
Упс, я до сих пор никогда не использовал git, но друг сделал SVN-Hooks, фреймворк для создания хуков Subversion. Он был написан на Perl. Может быть, это поможет в любом случае. Взгляните на это там:
http://code.google.com/p/svn-hooks/source/browse/trunk/t/02-jiraacceptance.t
И если вам нужно позвонить нам, как можно скорее мы будем рады помочь.
Я бы написал хук фиксации, который гарантирует, что что-то, что выглядит как номер задачи JIRA, появляется где-то в сообщении фиксации. Для этого достаточно простого сопоставления с регулярным выражением:
/[A-Z0-9]+-\d+/
Если вы хотите, для дополнительной защиты от опечаток вы можете убедиться, что первая часть совпадает с некоторым идентификатором проекта, который вы установили в JIRA:
/(ABC|XYZ|PONIES)-\d+/
Я считаю, что нет смысла пытаться убедиться, что часть номер относится к действительному номеру выпуска. На самом деле нет никакого способа определить, ввел ли пользователь правильный номер проблемы (даже если вам удастся ограничить его открытыми проблемами, пользователь все равно может ввести несвязанный номер открытой проблемы). Ожидается, что пользователи будут проявлять должную осторожность при фиксации кода.