NAME

Redmine::Stat - Perl extension for dealing with Redmine Rest api.

SYNOPSIS

use Redmine::Stat;
my $redmine = new Redmine::Stat;

$redmine->auth_key('your_secret_key_to_api');
$redmine->url('https://your.redmine.url');
$redmine->query_id(100500) #id of redmine query, which stats your are gathering


use Redmine::Stat;
my $redmine = new Redmine::Stat->new(
	auth_key	=> 'your_secret_key_to_api',
	url		=> 'https://your.redmine.url');
	query_id	=> 100500,
);



$redmine->query(); #this does all the work

$issues_count	= $redmine->total_issues;
$projects_count	= $redmine->total_projects;
$trackers_count	= $redmine->total_trackers;

foreach ($redmine->projects)
{
	print "Project: ". $_->{name} . " ";
	print "Path: ". $_->{redmine_path} ." ";
	print "Descripttion: ". $_->{description} ." ";
	print "Issues count: ". $_->{issues_count} ." ";
	print "\r\n";
}

foreach ($redmine->trackers)
{
	print "Tracker: ". $_->{name}  ." ";
	print "Issues count: ". $_->{issues_count} ." ";
	print "\r\n";
}

$trackers{bug} = $redmine->tracker('BUG'); #you can search trackers by name
$trackers{feature} = $remdine->tracker(4); #or by redmine id

$projects{test.com} = $redmine->project('test.com'); #projects by name
$projects{test.org} = $redmine->project(15); #by id
$projects{test.net} = $redmine->project('test_net') #by redmine project path

DESCRIPTION

This module is designed for statistic purposes only, it does not apply CRUD or any other operations. I have wrote this module because i wanted to combine RRDtool with my Redmine.

Redmine::Stat works with Redmine REST api (http://www.redmine.org/projects/redmine/wiki/Rest_api). By default redmine forces clients to use pagination, and does not allow unlimited queries, what is a bad idea imho. You need some modifications in Redmine core for this module to work correctly. Otherwise, if you don't need by-project or by-tracker issue statistics, you may not modify Redmine - this module will deal with "meta" fields, such as total_count. Maximum limit (100) is located as a Magick number in app/controllers/application_controller.rb:415 as of my version 1.4.2.

You may get almost any statistics by creating your own queries in redmine, and parsing them through this module.

SEE ALSO

Redmine REST api http://www.redmine.org/projects/redmine/wiki/Rest_api
Net::Redmine

AUTHOR

Fedor A Borshev, <fedor@shogo.ru>

COPYRIGHT AND LICENSE

Copyright (C) 2012 by Fedor A Borshev

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.10.1 or, at your option, any later version of Perl 5 you may have available.