A Node.js git hook script to prefix commits automatically with the JIRA ticket, based on a branch name.
- Install Husky in your project to configure Git hooks easily.
npm install --save-dev husky
- Install this package in your project:
npm install --save-dev jira-smart-commit
- Configure scripts in
package.json
. The script expects his first argument to be the JIRA tag of the project.
"husky": {
"hooks": {
"commit-msg": "jira-smart-commit YOUR_JIRA_ISSUE_KEY",
"pre-commit": "lint-staged"
}
},
Alternatively: use a regex to detect the Jira ISSUE_KEY
in your branch.
TAG_MATCHER
- regular expressionTAG_MATCH_INDEX
- match index
Example: if your branch names looke like feature/JRA-1234/some-description
template
"commit-msg": "TAG_MATCHER=\"^[^/]+/(JRA-[0-9]+)\" TAG_MATCH_INDEX=1 jira-smart-commit"
- Do your git commits like usual. If the branch was prefixed with a JIRA tag, your commit message will get prefixed with the same tag.
Branch: JRA-411-husky-git-hooks
Commit message: "Add git hooks to project" → "JRA-411 Add git hooks to project"