API-ReviewBoard

 view release on metacpan or  search on metacpan

ReviewBoard.pm  view on Meta::CPAN

See the C<SYNOPSIS> for examples.

=head1 METHODS

=head2 my $rb = API::ReviewBoard->new(  hostedurl => 'http://reviewboard.company.com', 
                username => 'user', 
                password => 'passwd' );
Creates a new API::ReviewBoard object. 
=cut

sub new {
	my $class = shift;
	my %args = @_;
	my $self;
	%args  = validate(
        @_,
          {  
		hostedurl  => { type => SCALAR, optional => 0 },
		username  => { type => SCALAR, optional => 0 },
		password  => { type => SCALAR, optional => 0 },
	  }

ReviewBoard.pm  view on Meta::CPAN


        bless $self,$class;
        return $self;

}

=head2 $rb->getReviewBoardLink(changenum  => '112345');
Gets the review board link for a ACTIVE change request number.
=cut

sub getReviewBoardLink {
	my $self = shift;
	my %args  = validate(
		@_,
		{  changenum  => { type => SCALAR, optional => 0 },
		}
	);
	$self->{_changenum} = $args{changenum};
        
	# get request to get review number based on change number
	my $changenumlink =  $self->{_hostedurl}.'/api/review-requests/?changenum='.$self->{_changenum};

ReviewBoard.pm  view on Meta::CPAN

        my $reviewlink =  $self->{_hostedurl}.'/r/'.$reviewnum;

        return $reviewlink;
}


=head2 $rb->getReviewDescription(changenum  => '112345');
The new review request description from ACTIVE change request.
=cut

sub getReviewDescription {
        my $self = shift;
        my %args  = validate(
                @_,
                {  changenum  => { type => SCALAR, optional => 0 },
                }
        );
        $self->{_changenum} = $args{changenum};


        # get request to get review number based on change number

ReviewBoard.pm  view on Meta::CPAN

        $description =~ s/(\\n)+/\n/g;

	return ($description);        
}

=head2 $rb->getReviewDateAdded(changenum  => '112345');

Gets the date on which ACTIVE change request was added.
=cut

sub getReviewDateAdded {
        my $self = shift;
        my %args  = validate(
                @_,
                {  changenum  => { type => SCALAR, optional => 0 },
                }
        );
        $self->{_changenum} = $args{changenum};

        my $changenumlink =  $self->{_hostedurl}.'/api/review-requests/?changenum='.$self->{_changenum};
        my $request = new HTTP::Request('GET', $changenumlink);

ReviewBoard.pm  view on Meta::CPAN


	return ($dateadded);
}



=head2 $rb->getReviewLastUpdated(changenum  => '112345');
Gets the date on which change request was last updated.
=cut

sub getReviewLastUpdated {
        my $self = shift;
        my %args  = validate(
                @_,
                {  changenum  => { type => SCALAR, optional => 0 },
                }
        );
        $self->{_changenum} = $args{changenum};
        
	my $changenumlink =  $self->{_hostedurl}.'/api/review-requests/?changenum='.$self->{_changenum};
        my $request = new HTTP::Request('GET', $changenumlink);

ReviewBoard.pm  view on Meta::CPAN

}


=head2 $rb->getReviewers(changenum  => '112345');

Gets the name of the reviewers assigned for ACTIVE change request number.
The function returns an ARRAYREF to the user.

=cut

sub getReviewers {
        my $self = shift;
        my %args  = validate(
                @_,
                {  changenum  => { type => SCALAR, optional => 0 },
                }
        );
        $self->{_changenum} = $args{changenum};

        my $userlink = $self->{_hostedurl}.'/api/review-requests/?changenum='.$self->{_changenum};
        my $request = new HTTP::Request('GET', $userlink);

ReviewBoard.pm  view on Meta::CPAN


}


=head2 $rb->getSubmitter(changenum  => '112345');

Gets the name of the submitter who submitted the ACTIVE change request.

=cut

sub getSubmitter {
        my $self = shift;
        my %args  = validate(
                @_,
                {  changenum  => { type => SCALAR, optional => 0 },
                }
        );
        $self->{_changenum} = $args{changenum};

        my $userlink = $self->{_hostedurl}.'/api/review-requests/?changenum='.$self->{_changenum};
        my $request = new HTTP::Request('GET', $userlink);

ReviewBoard.pm  view on Meta::CPAN


}


=head2 $rb->getSummary(changenum  => '112345');

The review request's brief summary of ACTIVE change request.

=cut

sub getSummary {
        my $self = shift;
        my %args  = validate(
                @_,
                {  changenum  => { type => SCALAR, optional => 0 },
                }
        );
        $self->{_changenum} = $args{changenum};

        my $userlink = $self->{_hostedurl}.'/api/review-requests/?changenum='.$self->{_changenum};
        my $request = new HTTP::Request('GET', $userlink);

ReviewBoard.pm  view on Meta::CPAN

        return ($summary);
}


=head2 $rb->getSummary(changenum  => '112345');

Get the list of bugs closed or referenced by the ACTIVE change request.

=cut

sub getBugIds {
        my $self = shift;
        my %args  = validate(
                @_,
                {  changenum  => { type => SCALAR, optional => 0 },
                }
        );
        $self->{_changenum} = $args{changenum};

        my $userlink = $self->{_hostedurl}.'/api/review-requests/?changenum='.$self->{_changenum};
        my $request = new HTTP::Request('GET', $userlink);

ReviewBoard.pm  view on Meta::CPAN

        my $bugids = $1;
        return ($bugids);
}


=head2 $rb->getReviewCommentsCount(reviewnum  => '41080');
Gets the count of comments received for an ACTIVE change request.
=cut


sub getReviewCommentsCount {
        my $self = shift;
        my %args  = validate(
                @_,
                {  reviewnum  => { type => SCALAR, optional => 0 },
                }
        );
        $self->{_reviewnum} = $args{reviewnum};

	my $userlink = $self->{_hostedurl}.'/api/review-requests/'.$self->{_reviewnum}.'/reviews/?counts-only=1';
	my $request = new HTTP::Request('GET', $userlink);

ReviewBoard.pm  view on Meta::CPAN

	my $count = $1;
	return $count;
	
}


=head2 $rb->getOutgoingReviewsCount(user  => 'abdcde');
Gets the count of review requests made by a user.
=cut

sub getOutgoingReviewsCount {
        my $self = shift;
        my %args  = validate(
                @_,
                {  user  => { type => SCALAR, optional => 0 },
                }
        );
        $self->{_user} = $args{user};

        my $userlink = $self->{_hostedurl}.'/api/review-requests/?from-user='.$self->{_user}.'&status=all&counts-only=1';
        my $request = new HTTP::Request('GET', $userlink);

ReviewBoard.pm  view on Meta::CPAN

}


=head2 $rb->getOutgoingReviewsCountByDate(user  => 'abdcde', startdate => '2011-03-01',
                   enddate => '2011-03-30');

Gets the count of review requests made by a user during time interval.

=cut

sub getOutgoingReviewsCountByDate {
        my $self = shift;
        my %args  = validate(
                @_,
                {  user  => { type => SCALAR, optional => 0 },
		   startdate => { type => SCALAR, optional => 0 },
		   enddate => { type => SCALAR, optional => 0 },
                }
        );

        $self->{_user} = $args{user};

ReviewBoard.pm  view on Meta::CPAN

}



=head2 $rb->getOutgoingReviewsCountByStatus(user  => 'abdcde', status => 'all | pending |submitted | discarded' );

Gets the count of review requests made by a user with status in [all | pending |submitted | discarded].

=cut

sub getOutgoingReviewsCountByStatus {
        my $self = shift;
        my %args  = validate(
                @_,
                {  user  => { type => SCALAR, optional => 0 },
                   status => { type => SCALAR, optional => 0 },
                }
        );

    $self->{_user} = $args{user};
    $self->{_status} = $args{status};

ReviewBoard.pm  view on Meta::CPAN

        return $count;

}

=head2 $rb->getIncomingReviewsCount(user  => 'abdcde');

Gets the count of review requests made to a user.

=cut

sub getIncomingReviewsCount {
        my $self = shift;
        my %args  = validate(
                @_,
                {  user  => { type => SCALAR, optional => 0 },
                }
        );
        $self->{_user} = $args{user};

        my $userlink = $self->{_hostedurl}.'/api/review-requests/?to-users='.$self->{_user}.'&counts-only=1';
        my $request = new HTTP::Request('GET', $userlink);



( run in 0.495 second using v1.01-cache-2.11-cpan-a5abf4f5562 )