summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPaul Buetow (lxpbuetowlap.united.domain) <paul.buetow@1und1.de>2014-03-16 10:53:38 +0100
committerPaul Buetow (lxpbuetowlap.united.domain) <paul.buetow@1und1.de>2014-03-16 10:53:38 +0100
commit037a139f5daa834806ef0fd6f1d1709c0e49e404 (patch)
tree1e54ab53a1478eb2a2814112621b231e10a0f501 /src
parentd6d066d5445afb5d688aca508a34abc0bbe2b1f2 (diff)
initial search works
Diffstat (limited to 'src')
-rwxr-xr-xsrc/japi53
1 files changed, 51 insertions, 2 deletions
diff --git a/src/japi b/src/japi
index eabe0de..1c41afd 100755
--- a/src/japi
+++ b/src/japi
@@ -1,3 +1,52 @@
-#!/bin/bash
+#!/usr/bin/env perl
-echo "Hello World, I am a fake project"
+use strict;
+use warnings;
+
+use v5.14;
+
+use Data::Dumper;
+
+use JIRA::REST; # From CPAN
+
+my $jira_uri = 'https://po-jira.1and1.com/rest/api/2';
+my $jira_user = 'pbuetow';
+my $jira_pass = $ENV{JIRA_PASS};
+my $query = "search?jql=project=MT and status not in (Resolved,Closed)";
+my $web_base = 'https://po-jira.1and1.com/browse/';
+
+say "==> Querying $query";
+my $jira = JIRA::REST->new($jira_uri, $jira_user, $jira_pass);
+
+my $result = $jira->GET($query);
+my $issues = $result->{issues};
+
+sub created {
+ my $created = shift;
+
+ # Parse 2014-02-19T11:56:47.000+0100
+ my ($y, $m, $d, $t) = $created =~ /^(\d{4})-(\d\d)-(\d\d)T(\d\d:\d\d:\d\d)/;
+
+ return "$d.$m.$y $t";
+}
+
+map {
+ my $f = $_->{fields};
+ my $r = $f->{reporter};
+
+ say "Summary: $f->{summary}";
+ say 'Created: ' . created($f->{created})." Reporter: $r->{displayName} ($r->{name})";
+ say "URL: $web_base$_->{key}";
+ say '-' x 80;
+
+} sort {
+ $a->{fields}{created} cmp $b->{fields}{created};
+
+} grep {
+ not defined $_->{fields}{assignee};
+
+} @$issues;
+
+say '==> Found ' . scalar(@$issues) . ' issues';
+
+#say Dumper $issues->[0];