Merge pull request #3069 from duckduckgo/mintsoft/jira-template

JIRA: Switching to info template
master
Zaahir Moolla 2016-06-08 15:32:10 -04:00
commit 9ebb903f3e
2 changed files with 37 additions and 66 deletions

33
lib/DDG/Goodie/Jira.pm Normal file → Executable file
View File

@ -29,30 +29,29 @@ handle query => sub {
my $ticket_number = $+{ticket_number};
my $ticket_id = $ticket_key . '-' . $ticket_number;
my $html_return = '';
my $return_value = {};
foreach my $project_key (@all_project_keys) {
my $this_project = $projects->{$project_key};
if (my $ticket_project = $this_project->{ticket_keys}{$ticket_key}) {
$html_return .= '<br>' if ($html_return); # We're not first, add a line.
$html_return .=
$ticket_project . ' ('
. $this_project->{description}
. '): see ticket <a href="'
. $this_project->{browse_url}
. $ticket_id . '">'
. $ticket_id . '</a>.';
$return_value->{description} = $this_project->{description};
$return_value->{url} = $this_project->{browse_url};
$return_value->{id} = $ticket_id;
$return_value->{project} = $ticket_project;
}
}
return unless $html_return;
return unless $return_value;
return undef,
structured_answer => {
input => [$ticket_id],
operation => "JIRA ticket lookup",
result => $html_return
};
return undef, structured_answer => {
data => {
title => "$return_value->{project} ($return_value->{description})",
subtitle => "JIRA Ticket Lookup: $return_value->{id}",
url => "$return_value->{url}$return_value->{id}",
},
templates => {
group => 'info'
}
};
};
1;

70
t/Jira.t Normal file → Executable file
View File

@ -9,57 +9,29 @@ use DDG::Test::Goodie;
zci answer_type => 'jira';
zci is_cached => 1;
ddg_goodie_test(
sub build_test
{
my ($title, $subtitle, $url) = @_;
return test_zci(undef, structured_answer => {
data => {
title => $title,
subtitle => "JIRA Ticket Lookup: $subtitle",
url => $url
},
templates => {
group => 'info',
}
});
}
ddg_goodie_test(
[qw( DDG::Goodie::Jira)],
'ACE-230' => test_zci(
undef,
structured_answer => {
input => ['ACE-230'],
operation => 'JIRA ticket lookup',
result => qq(ACE (Apache JIRA Bugtracker): see ticket <a href="https://issues.apache.org/jira/browse/ACE-230">ACE-230</a>.)
},
),
'ace-230' => test_zci(
undef,
structured_answer => {
input => ['ACE-230'],
operation => 'JIRA ticket lookup',
result => qq(ACE (Apache JIRA Bugtracker): see ticket <a href="https://issues.apache.org/jira/browse/ACE-230">ACE-230</a>.)
},
),
'jira random AJLIB-230 bug random' => test_zci(
undef,
structured_answer => {
input => ['AJLIB-230'],
operation => 'JIRA ticket lookup',
result => qq(ajlib incubator (Codehaus JIRA Bugtracker): see ticket <a href="https://jira.codehaus.org/browse/AJLIB-230">AJLIB-230</a>.)
},
),
'jira random ajlib-230 bug random' => test_zci(
undef,
structured_answer => {
input => ['AJLIB-230'],
operation => 'JIRA ticket lookup',
result => qq(ajlib incubator (Codehaus JIRA Bugtracker): see ticket <a href="https://jira.codehaus.org/browse/AJLIB-230">AJLIB-230</a>.)
},
),
'SOLR-4530' => test_zci(
undef,
structured_answer => {
input => ['SOLR-4530'],
operation => 'JIRA ticket lookup',
result => 'Solr (Apache JIRA Bugtracker): see ticket <a href="https://issues.apache.org/jira/browse/SOLR-4530">SOLR-4530</a>.'
},
),
'IdentityHtmlMapper solr-4530' => test_zci(
undef,
structured_answer => {
input => ['SOLR-4530'],
operation => 'JIRA ticket lookup',
result => 'Solr (Apache JIRA Bugtracker): see ticket <a href="https://issues.apache.org/jira/browse/SOLR-4530">SOLR-4530</a>.'
},
),
'ACE-230' => build_test("ACE (Apache JIRA Bugtracker)", 'ACE-230', "https://issues.apache.org/jira/browse/ACE-230"),
'ace-230' => build_test("ACE (Apache JIRA Bugtracker)", 'ACE-230', "https://issues.apache.org/jira/browse/ACE-230"),
'jira random AJLIB-230 bug random' => build_test("ajlib incubator (Codehaus JIRA Bugtracker)", 'AJLIB-230', "https://jira.codehaus.org/browse/AJLIB-230"),
'jira random ajlib-230 bug random' => build_test("ajlib incubator (Codehaus JIRA Bugtracker)", 'AJLIB-230', "https://jira.codehaus.org/browse/AJLIB-230"),
'SOLR-4530' => build_test("Solr (Apache JIRA Bugtracker)", 'SOLR-4530', "https://issues.apache.org/jira/browse/SOLR-4530"),
'IdentityHtmlMapper solr-4530' => build_test('Solr (Apache JIRA Bugtracker)', 'SOLR-4530', "https://issues.apache.org/jira/browse/SOLR-4530"),
);
done_testing;