diff options
author | mozilla%colinogilvie.co.uk <> | 2008-05-20 01:38:23 +0200 |
---|---|---|
committer | mozilla%colinogilvie.co.uk <> | 2008-05-20 01:38:23 +0200 |
commit | fbb30d2c53cbbd71c80d58b30d2ec77f3c14d403 (patch) | |
tree | f67aae4192aaa70bad3e0820aace08b79c11b752 /contrib | |
parent | 6d44fe8ec23aa8136347f6510606ac2a1eb12d6f (diff) | |
download | bugzilla-fbb30d2c53cbbd71c80d58b30d2ec77f3c14d403.tar.gz bugzilla-fbb30d2c53cbbd71c80d58b30d2ec77f3c14d403.tar.xz |
Bug 415278: Make the WebService's plugin discovery method more extendable
Patch by: Colin Ogilvie <colin.ogilvie@gmail.com>; r=mkanat; a=LpSolit
Diffstat (limited to 'contrib')
-rwxr-xr-x | contrib/bz_webservice_demo.pl | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/contrib/bz_webservice_demo.pl b/contrib/bz_webservice_demo.pl index a5e6af9f9..32c8561a0 100755 --- a/contrib/bz_webservice_demo.pl +++ b/contrib/bz_webservice_demo.pl @@ -54,6 +54,7 @@ my $legal_field_values; my $add_comment; my $private; my $work_time; +my $fetch_extension_info = 0; GetOptions('help|h|?' => \$help, 'uri=s' => \$Bugzilla_uri, @@ -66,7 +67,8 @@ GetOptions('help|h|?' => \$help, 'field:s' => \$legal_field_values, 'comment:s' => \$add_comment, 'private:i' => \$private, - 'worktime:f' => \$work_time + 'worktime:f' => \$work_time, + 'extension_info' => \$fetch_extension_info ) or pod2usage({'-verbose' => 0, '-exitval' => 1}); =head1 OPTIONS @@ -133,6 +135,10 @@ An optional non-zero value to specify B<--comment> as private. An optional double precision number specifying the work time for B<--comment>. +=item --extension_info + +If specified on the command line, the script returns the information about the +extensions that are installed. =back @@ -193,6 +199,25 @@ $soapresult = $proxy->call('Bugzilla.timezone'); _die_on_fault($soapresult); print 'Bugzilla\'s timezone is ' . $soapresult->result()->{timezone} . ".\n"; +=head2 Getting Extension Information + +Returns all the information any extensions have decided to provide to the webservice. + +=cut + +if ($fetch_extension_info) { + $soapresult = $proxy->call('Bugzilla.extensions'); + _die_on_fault($soapresult); + my $extensions = $soapresult->result()->{extensions}; + foreach my $extensionname (keys(%$extensions)) { + print "Extensionn '$extensionname' information\n"; + my $extension = $extensions->{$extensionname}; + foreach my $data (keys(%$extension)) { + print ' ' . $data . ' => ' . $extension->{$data} . "\n"; + } + } +} + =head2 Logging In and Out =head3 Using Bugzilla's Environment Authentication |