This script can be used as a Git Hook to automatically prefix commit messages with the branches associated Jira issue.
Branch Name | Commit Message | Result | Description |
---|---|---|---|
feature/ABC-123-branchname | Message | ABC-123: Message | Prefix the commit message with the Jira issue key based on the branch name |
feature/ABC-123/branchname | ABC-234: Message | ABC-234: Message | Commit message will not be prefixed if a issue key is found |
@1c50bb7f rebase-i 2/3 | Message | Message | No action will be taken when not on a valid branch (i.e. while rebasing) |
branchname | Message | Message | No action will be taken when no Jira issue key is found |
- Python 3.x: Make sure Python 3 is installed on your machine.
- Git: You need Git installed and configured.
-
Download the Script: Place the
commit-msg
script into the.git/hooks/
directory of your local repository.- Alternatively, if you want to automatically apply this hook to all newly cloned repositories, you can set up a Git template directory and place the
commit-msg
script in thehooks
folder of your template. This will ensure the hook is included in all new repositories initialized withgit init
.
- Alternatively, if you want to automatically apply this hook to all newly cloned repositories, you can set up a Git template directory and place the
-
Make the Script Executable:
chmod +x .git/hooks/commit-msg
-
Ensure Correct Python Path: Verify that the first line of the
commit-msg
script points to a valid Python 3 installation. The base version of the script assumes the usage of a venv for its Python installation.
Alternatively, you could change it to use a different Python environment. For example:#!/usr/bin/env python3
Once installed, the hook will automatically run each time you create a commit. The script scans the branch name for a Jira issue key (e.g., ABC-123) and prefixes it to the commit message, if not already present.
To uninstall the commit hook:
rm .git/hooks/commit-msg
This project is licensed under the MIT License.