summaryrefslogtreecommitdiffstats
path: root/Bugzilla/WebService/Bug.pm
diff options
context:
space:
mode:
Diffstat (limited to 'Bugzilla/WebService/Bug.pm')
-rw-r--r--Bugzilla/WebService/Bug.pm27
1 files changed, 21 insertions, 6 deletions
diff --git a/Bugzilla/WebService/Bug.pm b/Bugzilla/WebService/Bug.pm
index 4e00d3230..c6d620976 100644
--- a/Bugzilla/WebService/Bug.pm
+++ b/Bugzilla/WebService/Bug.pm
@@ -196,14 +196,16 @@ sub history {
defined $ids || ThrowCodeError('param_required', { param => 'ids' });
my @return;
+
foreach my $bug_id (@$ids) {
my %item;
my $bug = Bugzilla::Bug->check($bug_id);
$bug_id = $bug->id;
+ $item{id} = $self->type('int', $bug_id);
my ($activity) = Bugzilla::Bug::GetBugActivity($bug_id);
- $item{$bug_id} = [];
+ my @history;
foreach my $changeset (@$activity) {
my %bug_history;
$bug_history{when} = $self->type('dateTime', $changeset->{when});
@@ -224,8 +226,10 @@ sub history {
push (@{$bug_history{changes}}, $change);
}
- push (@{$item{$bug_id}}, \%bug_history);
- }
+ push (@history, \%bug_history);
+ }
+
+ $item{history} = \@history;
# alias is returned in case users passes a mixture of ids and aliases
# then they get to know which bug activity relates to which value
@@ -1079,17 +1083,26 @@ try to specify an alias. (It will be error 100.)
=item B<Returns>
-A hash containing a single element, C<bugs>. This is a hash of hashes.
-Each hash has the numeric bug id as a key, and contains the following
-items:
+A hash containing a single element, C<bugs>. This is an array of hashes,
+containing the following keys:
=over
+=item id
+
+C<int> The numeric id of the bug.
+
=item alias
C<string> The alias of this bug. If there is no alias or aliases are
disabled in this Bugzilla, this will be undef.
+=item history
+
+C<array> An array of hashes, each hash having the following keys:
+
+=over
+
=item when
C<dateTime> The date the bug activity/change happened.
@@ -1129,6 +1142,8 @@ present in this hash.
=back
+=back
+
=item B<Errors>
The same as L</get>.