Skip to content

Instantly share code, notes, and snippets.

@dragon3
Created November 14, 2013 09:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dragon3/7464083 to your computer and use it in GitHub Desktop.
Save dragon3/7464083 to your computer and use it in GitHub Desktop.
#!/usr/bin/env perl
use strict;
use warnings;
use utf8;
use Encode qw(encode_utf8);
use RPC::XML::Client;
$RPC::XML::ENCODING = 'utf8';
my $api_url = 'https://demo.backlog.jp/XML-RPC';
my $user = 'demo';
my $pass = 'demo';
my $client = RPC::XML::Client->new($api_url);
$client->credentials( 'Backlog Basic Authenticate', $user, $pass );
$client->useragent->parse_head(0);
$client->useragent->env_proxy;
# get projects
my $res = $client->send_request("backlog.getProjects");
if ( $res->is_fault ) {
die( "Error backlog.getProjects : %s", $res->value->{faultString} );
}
my @projects = ();
for my $project ( @{ $res->value } ) {
push( @projects, $project );
}
# get & print milestones
for my $project (@projects) {
my $req = RPC::XML::request->new( 'backlog.getVersions', $project->{id} );
my $res = $client->send_request($req);
if ( $res->is_fault ) {
die( "Error backlog.getVersions : %s", $res->value->{faultString} );
}
print "--------------------------------------------------\n";
print encode_utf8( $project->{name} ), "\n";
print "--------------------------------------------------\n";
for my $milestone ( @{ $res->value } ) {
print encode_utf8( $milestone->{name} ), "\n";
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment