RedmineのREST APIを叩いてチケットの情報を見るPerlスクリプト
そこでPerlスクリプトにしてみました。
#!/usr/bin/perl
#
# refs : redmineのチケットのタイトルを調べるコマンド
#
# RedmineのREST APIを叩いて情報を得る。
#
# Usage:
# refs NUMBER
# NUMBER - チケット番号
#
# Output:
# stdout: チケット件名 - ステータス
#
#######################################################
use strict;
use warnings;
use LWP::UserAgent;
use JSON;
use Encode;
my $API_KEY="hitmitsu";
my $id = shift;
if (! $id =~ /^\d+/ ) {
die "invalid id:" . $id;
}
my $ua = LWP::UserAgent->new;
my $url = "https://redmine.example.com/issues/$id.json";
my $req = HTTP::Request->new(GET => $url);
$req->header("Content-Type" => "application/json");
$req->header("X-Redmine-API-Key" => $API_KEY);
my $res = $ua->request($req);
if ($res->is_success) {
my $json = JSON->new->decode($res->content);
# use Data::Dumper; print Dumper $json;
my $output = $json->{issue}->{subject} . " - " . $json->{issue}->{status}->{name};
print encode('utf8', $output),"\n";
}
else {
print $res->status_line, "\n";
}