- CONFIGURATION OPTIONS
- COPYRIGHT & LICENSE
App::GitHooks::Plugin::PrependTicketID - Derive a ticket ID from the branch name and prepend it to the commit-message.
If you are using the
App::GitHooks::Plugin::RequireTicketID to force entering a ticket ID with each commit, it can become tedious if you need to do a lot of commits with the same ticket ID on a feature branch.
To help with this, this plugin derives a ticket ID from the branch name and prepends it to the commit message.
This plugin supports the following options in the main section of your
project_prefixes = DEV extract_ticket_id_from_branch = /^($project_prefixes\d+)/ normalize_branch_ticket_id = s/^(.*?)(\d+)$/\U$1-$2/
Additionally, the plugin supports the following option in the
[PrependTicketID] section of your
[PrependTicketID] commit_prefix_format = /$ticket_id: /
The list of valid ticket prefixes.
[_] project_prefixes = OPS, DEV, TEST
A regular expression with one capturing group that will extract the ticket ID from a branch name.
[_] extract_ticket_id_from_branch = /^($project_prefixes\d+)/
In the example above, if a branch is named
dev1293_my_new_feature, the regular expression will identify
dev1293 as the ticket ID corresponding to that branch.
Prefixes used for private branches are recognized properly and ignored accordingly. In other words, both
ga/dev1293_my_new_featurewill be identified as tied to
dev1293with the regex above.
$project_prefixes is replaced at run time by the prefixes listed in the
project_prefixesconfiguration option, to avoid duplication of information.
A replacement expression to normalize the ticket ID extracted with
[_] normalize_branch_ticket_id = s/^(.*?)(\d+)$/\U$1-$2/
In the example above,
dev1293, which is then normalized as
A regular expression that will be used to format the prefix of the commit message.
By default, this plugin uses
$ticket_id: , but the following example would turn it into
[PrependTicketID] commit_prefix_format = /($ticket_id) /
Code to execute as part of the prepare-commit-msg hook.
my $success = App::GitHooks::Plugin::PrependTicketID->run_prepare_commit_msg();
Please report any bugs or feature requests through the web interface at https://github.com/guillaumeaubert/App-GitHooks-Plugin-PrependTicketID/issues/new. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
You can find documentation for this module with the perldoc command.
You can also look for information at:
GitHub's request tracker
AnnoCPAN: Annotated CPAN documentation
<aubertg at cpan.org>.
Copyright 2013-2017 Guillaume Aubert.
This code is free software; you can redistribute it and/or modify it under the same terms as Perl 5 itself.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the LICENSE file for more details.