From 09dc088144932cab7890d6e8791085f5e89f3614 Mon Sep 17 00:00:00 2001 From: Dominik Meyer Date: Thu, 13 Sep 2018 21:30:11 +0200 Subject: [PATCH] ADD: command to start an issue --- lib/App/Git/IssueManager/Start.pm | 38 +++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 lib/App/Git/IssueManager/Start.pm diff --git a/lib/App/Git/IssueManager/Start.pm b/lib/App/Git/IssueManager/Start.pm new file mode 100644 index 0000000..c8ef0a4 --- /dev/null +++ b/lib/App/Git/IssueManager/Start.pm @@ -0,0 +1,38 @@ +package App::Git::IssueManager::Start; +#ABSTRACT: class implementing the start issue command of the GIT IssueManager +use strict; +use warnings; +use MooseX::App::Command; +extends qw(App::Git::IssueManager); +use Git::LowLevel; +use Git::IssueManager; +use Git::IssueManager::Issue; + +use Term::ANSIColor; +use Try::Tiny; + + +command_short_description 'start an issue from a repository identified by the given id'; +command_usage 'git issue start -i TST-a34df432'; + +option 'id' => ( + is => 'ro', + isa => 'Str', + required => 1, + documentation => q[the id of the issue], + cmd_aliases => [qw(i)] +); + +sub run +{ + my $self = shift; + my $manager = Git::IssueManager->new(repository=>Git::LowLevel->new(git_dir=> ".")); + if (!$manager->ready) + { + print("IssueManager not initialized yet. Please call \"init\" command to do so."); + exit(-1); + } + + my $issue=$manager->start($self->id); +} +1;