@@ -8,7 +8,8 @@ readonly HEADER_PATTERN="^([^\(]+)\(([^\)]+)\): (.+)$"
8
8
readonly TYPE_PATTERN=" ^(feat|fix|docs|gen|lint|refactor|test|chore)$"
9
9
readonly SCOPE_PATTERN=" ^([a-z][a-z0-9]*)(-[a-z0-9]+)*$"
10
10
readonly SUBJECT_PATTERN=" ^([a-z0-9].*[^ ^\.])$"
11
- readonly JIRA_PATTERN=" ^([A-Z]{2,4}-[0-9]{1,6} ?)+$"
11
+ readonly JIRA_PATTERN=" ^([A-Z]{3,4}-[0-9]{1,6} ?)+$"
12
+ readonly JIRA_HEADER_PATTERN=" ^.*([A-Z]{3,4}-[0-9]{1,6}).*$"
12
13
readonly BROKE_PATTERN=" ^BROKEN:$"
13
14
readonly TRAILING_SPACE_PATTERN=" +$"
14
15
readonly REVERT_HEADER_PATTERN=" ^[R|r]evert[: ].*$"
@@ -29,9 +30,12 @@ readonly ERROR_REVERT=10
29
30
GLOBAL_HEADER=" "
30
31
GLOBAL_BODY=" "
31
32
GLOBAL_JIRA=" "
33
+ GLOBAL_FOOTER=" "
34
+
35
+ # Overridable variables
32
36
GLOBAL_JIRA_TYPES=" ${GLOBAL_JIRA_TYPES:- feat fix} "
33
37
GLOBAL_MAX_LENGTH=" ${GLOBAL_MAX_LENGTH:- 70} "
34
- GLOBAL_FOOTER= " "
38
+ GLOBAL_JIRA_IN_HEADER= " ${GLOBAL_JIRA_IN_HEADER :- } "
35
39
36
40
GLOBAL_TYPE=" "
37
41
GLOBAL_SCOPE=" "
@@ -54,6 +58,9 @@ validate_overall_structure() {
54
58
if [[ $STATE -eq $WAITING_HEADER ]]; then
55
59
GLOBAL_HEADER=" $LINE "
56
60
STATE=" $WAITING_EMPTY "
61
+ if [[ -n " ${GLOBAL_JIRA_IN_HEADER:- } " ]] && [[ $LINE =~ $JIRA_HEADER_PATTERN ]]; then
62
+ GLOBAL_JIRA=${BASH_REMATCH[1]}
63
+ fi
57
64
58
65
elif [[ $STATE -eq $WAITING_EMPTY ]]; then
59
66
if [[ $LINE != " " ]]; then
0 commit comments