diff options
-rwxr-xr-x | Bugzilla/WebService/Bug.pm | 2 | ||||
-rwxr-xr-x | contrib/bz_webservice_demo.pl | 19 |
2 files changed, 20 insertions, 1 deletions
diff --git a/Bugzilla/WebService/Bug.pm b/Bugzilla/WebService/Bug.pm index a632ffaf0..a2710c482 100755 --- a/Bugzilla/WebService/Bug.pm +++ b/Bugzilla/WebService/Bug.pm @@ -130,6 +130,8 @@ sub legal_values { my @custom_select = Bugzilla->get_fields({ type => FIELD_TYPE_SINGLE_SELECT }); + # We only want field names. + @custom_select = map {$_->name} @custom_select; my $values; if (grep($_ eq $field, GLOBAL_SELECT_FIELDS, @custom_select)) { diff --git a/contrib/bz_webservice_demo.pl b/contrib/bz_webservice_demo.pl index aa92d1dd9..d21405d4a 100755 --- a/contrib/bz_webservice_demo.pl +++ b/contrib/bz_webservice_demo.pl @@ -49,6 +49,7 @@ my $Bugzilla_remember; my $bug_id; my $product_name; my $create_file_name; +my $legal_field_values; GetOptions('help|h|?' => \$help, 'uri=s' => \$Bugzilla_uri, @@ -57,7 +58,8 @@ GetOptions('help|h|?' => \$help, 'rememberlogin!' => \$Bugzilla_remember, 'bug_id:s' => \$bug_id, 'product_name:s' => \$product_name, - 'create:s' => \$create_file_name + 'create:s' => \$create_file_name, + 'field:s' => \$legal_field_values ) or pod2usage({'-verbose' => 0, '-exitval' => 1}); =head1 OPTIONS @@ -269,6 +271,21 @@ if ($create_file_name) { } +=head2 Getting Legal Field Values + +Call C<Bug.legal_values> with the name of the field (including custom +select fields). The call will return a reference to an array with the +list of legal values for this field. + +=cut + +if ($legal_field_values) { + $soapresult = $proxy->call('Bug.legal_values', {field => $legal_field_values} ); + _die_on_fault($soapresult); + $result = $soapresult->result; + + print join("\n", @{$result->{values}}) . "\n"; +} =head1 NOTES |