Skip to content

Commit

Permalink
Add a plugin to prefix an issue number with a user-defined string.
Browse files Browse the repository at this point in the history
  • Loading branch information
phargogh committed Jan 29, 2020
1 parent 02c54a5 commit 1841ba4
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 0 deletions.
19 changes: 19 additions & 0 deletions plugins/issue_prefix/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
## Issue Prefix

When migrating to other source code hosting sites, there are cases where a
project maintainer might want to reset their issue tracker and not have old
issue numbers in commit messages referring to the wrong issue. One way around
this is to prefix issue numbers with some other string.

If migrating to GitHub, this issue prefixing can be paired with GitHub's
autolinking capabilitiy to link back to a different issue tracker:
https://help.github.com/en/github/administering-a-repository/configuring-autolinks-to-reference-external-resources

To use this plugin, add:
`--plugin=issue_prefix=<some_prefix>`

Example:
`--plugin=issue_prefix=BB-`

This will prefix issue numbers with the string `BB-`. Example: `#123` will
change to `#BB-123`.
15 changes: 15 additions & 0 deletions plugins/issue_prefix/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# encoding=UTF-8
"""__init__.py"""
import re

def build_filter(args):
return Filter(args)

class Filter:
def __init__(self, args):
self.prefix = args

def commit_message_filter(self, commit_data):
for match in re.findall('#[1-9][0-9]+', commit_data['desc']):
commit_data['desc'] = commit_data['desc'].replace(
match, '#%s%s' % (self.prefix, match[1:]))

0 comments on commit 1841ba4

Please sign in to comment.