Хук фиксации проверки кода JIRA для «git»

Есть ли у кого-нибудь хук git commit, который я могу использовать, чтобы гарантировать, что номер проблемы JIRA появится в сообщении о регистрации? У меня нет опыта управления JIRA из хука фиксации git, поэтому любая помощь будет оценена - рабочий источник тем более!


person Andrew    schedule 01.10.2009    source источник


Ответы (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
}
person Nicolas    schedule 11.12.2009
comment
Чтобы проверить наличие нескольких проектов и убедиться в наличии идентификатора задачи, используйте: grep -E '(PRJA|PRJB)-[[:digit:]]+' - person Martin; 21.02.2013
comment
Можно ли сделать эту проверку на стороне Atlassian? Чтобы не объяснять каждому из нетехнических парней в команде, как это сделать. - person John Magistr; 30.11.2015

Упс, я до сих пор никогда не использовал git, но друг сделал SVN-Hooks, фреймворк для создания хуков Subversion. Он был написан на Perl. Может быть, это поможет в любом случае. Взгляните на это там:

http://code.google.com/p/svn-hooks/source/browse/trunk/t/02-jiraacceptance.t

И если вам нужно позвонить нам, как можно скорее мы будем рады помочь.

person Community    schedule 01.10.2009

Я бы написал хук фиксации, который гарантирует, что что-то, что выглядит как номер задачи JIRA, появляется где-то в сообщении фиксации. Для этого достаточно простого сопоставления с регулярным выражением:

/[A-Z0-9]+-\d+/

Если вы хотите, для дополнительной защиты от опечаток вы можете убедиться, что первая часть совпадает с некоторым идентификатором проекта, который вы установили в JIRA:

/(ABC|XYZ|PONIES)-\d+/

Я считаю, что нет смысла пытаться убедиться, что часть номер относится к действительному номеру выпуска. На самом деле нет никакого способа определить, ввел ли пользователь правильный номер проблемы (даже если вам удастся ограничить его открытыми проблемами, пользователь все равно может ввести несвязанный номер открытой проблемы). Ожидается, что пользователи будут проявлять должную осторожность при фиксации кода.

person Greg Hewgill    schedule 09.10.2009