App-Git-IssueManager

 view release on metacpan or  search on metacpan

lib/App/Git/IssueManager/Assign.pm  view on Meta::CPAN

package App::Git::IssueManager::Assign;
#ABSTRACT: class implementing the assign 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 'assign an issue from a repository identified by the given id to a user';
command_usage 'git issue assign -i TST-a34df432 -w "Dominik Meyer <dmeyer@federationhq.de>"';

option 'id' => (
          is                => 'ro',
          isa               => 'Str',
          required          => 1,
          documentation     => q[the id of the issue],
          cmd_aliases       => [qw(i)]
);

option 'worker' => (
          is                => 'ro',
          isa               => 'Str',
          required          => 1,
          documentation     => q[the user to assign the issue to],
          cmd_aliases       => [qw(w)]
);

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);
  }

  $self->worker() =~ /^(.*)<(.*)>$/;
  my $issue=$manager->assign($self->id, $1, $2);
}
1;

__END__

=pod

=encoding UTF-8

=head1 NAME

App::Git::IssueManager::Assign - class implementing the assign issue command of the GIT IssueManager

=head1 VERSION

version 0.2

=head1 AUTHOR

Dominik Meyer <dmeyer@federationhq.de>

=head1 COPYRIGHT AND LICENSE

This software is Copyright (c) 2018 by Dominik Meyer.

This is free software, licensed under:



( run in 2.467 seconds using v1.01-cache-2.11-cpan-5837b0d9d2c )