App-TimeTracker-Command-Jira
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
lib/App/TimeTracker/Command/Jira.pm view on Meta::CPAN
sub _safe_ticket_subject {
my ( $self, $subject ) = @_;
$subject = Unicode::Normalize::NFKD($subject);
$subject =~ s/\p{NonspacingMark}//g;
$subject =~ s/\W/_/g;
$subject =~ s/_+/_/g;
$subject =~ s/^_//;
$subject =~ s/_$//;
return $subject;
}
no Moose::Role;
1;
__END__
=pod
=encoding UTF-8
=head1 NAME
App::TimeTracker::Command::Jira - App::TimeTracker Jira plugin
=head1 VERSION
version 0.8
=head1 DESCRIPTION
This plugin integrates into Atlassian Jira
L<https://www.atlassian.com/software/jira>.
It can set the description and tags of the current task based on data
coming from Jira, set the owner of the ticket and update the
worklog. If you also use the C<Git> plugin, this plugin will
generate branch names based on Jira ticket information.
=head1 CONFIGURATION
=head2 plugins
Add C<Jira> to the list of plugins.
=head2 jira
add a hash named C<jira>, containing the following keys:
=head3 server [REQUIRED]
The URL of the Jira instance (without a trailing slash).
=head3 username [OPTIONAL]
Username to connect with.
=head3 password [OPTIONAL]
Password to connect with. Beware: This is stored in clear text! Better use authentication via C<Config::Identity> via C<JIRA::REST> where the credentials can be stored GPG encrypted.
=head3 log_time_spent
If set, an entry will be created in the ticket's work log
=head1 NEW COMMANDS ADDED TO THE DEFAULT ONES
none
=head1 CHANGES TO DEFAULT COMMANDS
=head2 start, continue
=head3 --jira
~/perl/Your-Project$ tracker start --jira ABC-1
If C<--jira> is set to a valid ticket identifier:
=over
=item * set or append the ticket subject in the task description ("Adding more cruft")
=item * add the ticket number to the tasks tags ("ABC-1")
=item * if C<Git> is also used, determine a save branch name from the ticket identifier and subject, and change into this branch ("ABC-1_adding_more_cruft")
=item * updates the status of the ticket in Jira (given C<set_status/start/transition> is set in config)
=back
=head2 stop
If C<log_time_spent> is set in config, adds and entry to the worklog of the Jira ticket.
If C<set_status/stop/transition> is set in config and the current Jira ticket state is C<set_status/start/target_state>, updates the status of the ticket
=head1 EXAMPLE CONFIG
{
"plugins" : [
"Git",
"Jira"
],
"jira" : {
"username" : "dingo",
"password" : "secret",
"log_time_spent" : "1",
"server_url" : "http://localhost:8080",
"set_status": {
"start": { "transition": ["Start Progress", "Restart progress", "Reopen and start progress"], "target_state": "In Progress" },
"stop": { "transition": "Stop Progress" }
}
}
}
=head1 AUTHOR
Michael Kröll <pepl@cpan.org>
=head1 COPYRIGHT AND LICENSE
view all matches for this distributionview release on metacpan - search on metacpan
( run in 0.922 second using v1.00-cache-2.02-grep-82fe00e-cpan-2c419f77a38b )