Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- import subprocess
- import sys
- import re
- project = 'CUR' # set to your project name in JIRA
- issue_pattern = '{}-[\d]+'.format(project)
- issue_output_format = '{}'
- def read_current_message():
- with open(sys.argv[1], 'r') as f:
- return f.read()
- def write_message(message):
- with open(sys.argv[1], 'w') as f:
- f.write(message)
- def contains_message(message):
- return message and not message.lstrip().startswith("# Please enter the commit message for your changes.")
- try:
- current_ref = subprocess.check_output('git symbolic-ref HEAD', shell=True)
- except subprocess.CalledProcessError:
- print("add-issue-id-hook: Adding issue id failed. Are you in detached HEAD state?")
- sys.exit()
- current_branch = current_ref[len('refs/heads/'):]
- issue_match = re.search(issue_pattern, current_branch)
- if issue_match:
- issue_output = issue_output_format.format(issue_match.group())
- original_message = read_current_message()
- if contains_message(original_message) and not original_message.startswith(issue_output):
- write_message('{0} {1}'.format(issue_output, original_message))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement