]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 450209: Clean up WebService POD and add a History section for all functions that...
authormkanat%bugzilla.org <>
Wed, 26 Nov 2008 01:20:41 +0000 (01:20 +0000)
committermkanat%bugzilla.org <>
Wed, 26 Nov 2008 01:20:41 +0000 (01:20 +0000)
Patch By Max Kanat-Alexander <mkanat@bugzilla.org> r=LpSolit, a=LpSolit

Bugzilla/WebService.pm
Bugzilla/WebService/Bug.pm
Bugzilla/WebService/Bugzilla.pm
Bugzilla/WebService/Product.pm
Bugzilla/WebService/User.pm
Bugzilla/WebService/Util.pm

index d1502468d879cb0335873107d08d84854139e048..438a6671040637999edafa260e6784a2682247f1 100755 (executable)
@@ -159,6 +159,87 @@ Bugzilla::WebService - The Web Service interface to Bugzilla
 This is the standard API for external programs that want to interact
 with Bugzilla. It provides various methods in various modules.
 
+Currently the only method of accessing the API is via XML-RPC. The XML-RPC
+standard is described here: L<http://www.xmlrpc.com/spec>
+
+The endpoint for Bugzilla WebServices is the C<xmlrpc.cgi> script in
+your Bugzilla installation. For example, if your Bugzilla is at
+C<bugzilla.yourdomain.com>, then your XML-RPC client would access the
+API via: C<http://bugzilla.yourdomain.com/xmlrpc.cgi>
+
+=head1 CALLING METHODS
+
+Methods are called in the normal XML-RPC fashion. Bugzilla does not currently
+implement any extensions to the standard method of XML-RPC method calling.
+
+Methods are grouped into "packages", like C<Bug> for 
+L<Bugzilla::WebService::Bug>. So, for example,
+L<Bugzilla::WebService::Bug/get>, is called as C<Bug.get> in XML-RPC.
+
+=head1 PARAMETERS
+
+In addition to the standard parameter types like C<int>, C<string>, etc.,
+XML-RPC has two data structures, a C<< <struct> >> and an C<< <array> >>.
+
+=head2 Structs
+
+In Perl, we call a C<< <struct> >> a "hash" or a "hashref". You may see
+us refer to it that way in the API documentation.
+
+In example code, you will see the characters C<{> and C<}> used to represent
+the beginning and end of structs.
+
+For example, here's a struct in XML-RPC:
+
+ <struct>
+   <member>
+     <name>fruit</name>
+     <value><string>oranges</string></value>
+   </member>
+   <member>
+     <name>vegetable</name>
+     <value><string>lettuce</string></value>
+   </member>
+ </struct>
+
+In our example code in these API docs, that would look like:
+
+ { fruit => 'oranges', vegetable => 'lettuce' }
+
+=head2 Arrays
+
+In example code, you will see the characters C<[> and C<]> used to
+represent the beginning and end of arrays.
+
+For example, here's an array in XML-RPC:
+
+ <array>
+   <data>
+     <value><i4>1</i4></value>
+     <value><i4>2</i4></value>
+     <value><i4>3</i4></value>
+   </data>
+ </array>
+
+In our example code in these API docs, that would look like:
+
+ [1, 2, 3]
+
+=head2 How Bugzilla WebService Methods Take Parameters
+
+B<All> Bugzilla WebServices functions take their parameters in
+a C<< <struct> >>. Another way of saying this would be: All functions
+take a single argument, a C<< <struct> >> that contains all parameters.
+The names of the parameters listed in the API docs for each function are
+the C<name> element for the struct C<member>s.
+
+=head1 LOGGING IN
+
+You can use L<Bugzilla::WebService::User/login> to log in as a Bugzilla 
+user. This issues standard HTTP cookies that you must then use in future
+calls, so your XML-RPC client must be capable of receiving and transmitting
+cookies.
+
 =head1 STABLE, EXPERIMENTAL, and UNSTABLE
 
 Methods are marked B<STABLE> if you can expect their parameters and
index d60f5015bff632f5f41ca4d787ab6ab4008b250b..aaaf753a3788a8d5faad76df647d0baafe228f93 100755 (executable)
@@ -268,14 +268,16 @@ or get information about bugs that have already been filed.
 
 =head1 METHODS
 
-See L<Bugzilla::WebService> for a description of B<STABLE>, B<UNSTABLE>,
-and B<EXPERIMENTAL>.
+See L<Bugzilla::WebService> for a description of how parameters are passed,
+and what B<STABLE>, B<UNSTABLE>, and B<EXPERIMENTAL> mean.
 
 =head2 Utility Functions
 
 =over
 
-=item C<legal_values> B<EXPERIMENTAL>
+=item C<legal_values> 
+
+B<EXPERIMENTAL>
 
 =over
 
@@ -320,11 +322,13 @@ You specified a field that doesn't exist or isn't a drop-down field.
 
 =back
 
-=head2 Bug Creation and Modification
+=head2 Bug Information
 
 =over
 
-=item C<get> B<EXPERIMENTAL>
+=item C<get> 
+
+B<EXPERIMENTAL>
 
 =over
 
@@ -410,7 +414,9 @@ You do not have access to the bug_id you specified.
 
 =back
 
-=item C<get_history> B<UNSTABLE>
+=item C<get_history> 
+
+B<UNSTABLE>
 
 =over
 
@@ -497,9 +503,25 @@ present in this hash.
 
 The same as L</get>.
 
+=item B<History>
+
+=over
+
+=item Added in Bugzilla B<3.4>.
+
+=back
+
+=back
+
 =back
 
-=item C<create> B<EXPERIMENTAL>
+=head2 Bug Creation and Modification
+
+=over
+
+=item C<create> 
+
+B<EXPERIMENTAL>
 
 =over
 
@@ -640,7 +662,9 @@ B<Required>, due to a bug in Bugzilla.
 
 =back
 
-=item C<add_comment> B<EXPERIMENTAL>
+=item C<add_comment> 
+
+B<EXPERIMENTAL>
 
 =over
 
@@ -688,6 +712,14 @@ You did not have the necessary rights to edit the bug.
 
 =back
 
+=item B<History>
+
+=over
+
+=item Added in Bugzilla B<3.2>.
+
+=back
+
 =back
 
 
index 5196834dfb1a618aba793154f0cf244725be7ce7..2f35bbe595a01002fbcf36167841526a4b2996e6 100755 (executable)
@@ -71,12 +71,14 @@ This provides functions that tell you about Bugzilla in general.
 
 =head1 METHODS
 
-See L<Bugzilla::WebService> for a description of what B<STABLE>, B<UNSTABLE>,
-and B<EXPERIMENTAL> mean.
+See L<Bugzilla::WebService> for a description of how parameters are passed,
+and what B<STABLE>, B<UNSTABLE>, and B<EXPERIMENTAL> mean.
 
 =over
 
-=item C<version> B<EXPERIMENTAL>
+=item C<version>
+
+B<STABLE>
 
 =over
 
@@ -95,7 +97,9 @@ string.
 
 =back
 
-=item C<extensions> B<EXPERIMENTAL>
+=item C<extensions>
+
+B<EXPERIMENTAL>
 
 =over
 
@@ -113,9 +117,19 @@ contains the names of extensions as keys, and information about the extension
 as values. One of the values that must be returned is the 'version' of the
 extension
 
+=item B<History>
+
+=over
+
+=item Added in Bugzilla B<3.2>.
+
+=back
+
 =back
 
-=item C<timezone> B<EXPERIMENTAL>
+=item C<timezone>
+
+B<STABLE>
 
 =over
 
@@ -129,7 +143,7 @@ returns will be in this timezone.
 
 =item B<Returns>
 
-A hash with a single item, C<timezone>, that is the timezone as a
+A hash with a single item, C<timezone>, that is the timezone offset as a
 string in (+/-)XXXX (RFC 2822) format.
 
 =back
index 0f15a7e30fe1474911204135fd517a825eeab2ee..4dd8944539138c4f8c454917aa7b82c0d1bc2fd8 100755 (executable)
@@ -86,14 +86,16 @@ get information about them.
 
 =head1 METHODS
 
-See L<Bugzilla::WebService> for a description of what B<STABLE>, B<UNSTABLE>,
-and B<EXPERIMENTAL> mean, and for more information about error codes.
+See L<Bugzilla::WebService> for a description of how parameters are passed,
+and what B<STABLE>, B<UNSTABLE>, and B<EXPERIMENTAL> mean.
 
 =head2 List Products
 
 =over
 
-=item C<get_selectable_products> B<UNSTABLE>
+=item C<get_selectable_products> 
+
+B<EXPERIMENTAL>
 
 =over
 
@@ -112,7 +114,9 @@ ids.
 
 =back
 
-=item C<get_enterable_products> B<UNSTABLE>
+=item C<get_enterable_products> 
+
+B<EXPERIMENTAL>
 
 =over
 
@@ -132,7 +136,9 @@ ids.
 
 =back
 
-=item C<get_accessible_products> B<UNSTABLE>
+=item C<get_accessible_products> 
+
+B<UNSTABLE>
 
 =over
 
@@ -152,7 +158,9 @@ ids.
 
 =back
 
-=item C<get> B<UNSTABLE>
+=item C<get> 
+
+B<EXPERIMENTAL>
 
 =over
 
index 10537138c87efd678c842aa99b3085c9eb466e2f..24b9be70932f9a334712a5bfc3497f9adb51cdec 100755 (executable)
@@ -238,14 +238,16 @@ log in/out using an existing account.
 
 =head1 METHODS
 
-See L<Bugzilla::WebService> for a description of what B<STABLE>, B<UNSTABLE>,
-and B<EXPERIMENTAL> mean, and for more information about error codes.
+See L<Bugzilla::WebService> for a description of how parameters are passed,
+and what B<STABLE>, B<UNSTABLE>, and B<EXPERIMENTAL> mean.
 
 =head2 Logging In and Out
 
 =over
 
-=item C<login> B<EXPERIMENTAL>
+=item C<login> 
+
+B<STABLE>
 
 =over
 
@@ -301,7 +303,9 @@ A login or password parameter was not provided.
 
 =back
 
-=item C<logout> B<EXPERIMENTAL>
+=item C<logout> 
+
+B<STABLE>
 
 =over
 
@@ -323,7 +327,9 @@ Log out the user. Does nothing if there is no user logged in.
 
 =over
 
-=item C<offer_account_by_email> B<EXPERIMENTAL>
+=item C<offer_account_by_email> 
+
+B<STABLE>
 
 =over
 
@@ -362,7 +368,9 @@ An account with that email address already exists in Bugzilla.
 
 =back
 
-=item C<create> B<EXPERIMENTAL>
+=item C<create> 
+
+B<EXPERIMENTAL>
 
 =over
 
@@ -373,6 +381,9 @@ Instead of this, you should use L</offer_account_by_email> when
 possible, because that makes sure that the email address specified can
 actually receive an email. This function does not check that.
 
+You must be logged in and have the C<editusers> privilege in order to
+call this function.
+
 =item B<Params>
 
 =over
@@ -423,7 +434,9 @@ password is over ten characters.)
 
 =over
 
-=item C<get> B<UNSTABLE>
+=item C<get> 
+
+B<UNSTABLE>
 
 =over
 
@@ -465,7 +478,9 @@ each string, which defaults to 1000 but can be changed by the Bugzilla
 administrator.
 
 Logged-out users cannot use this argument, and an error will be thrown
-if they try.
+if they try. (This is to make it harder for spammers to harvest email
+addresses from Bugzilla, and also to enforce the user visibility
+restrictions that are implemented on some Bugzillas.)
 
 =item C<include_fields> (array)
 
@@ -564,6 +579,14 @@ function.
 
 =back
 
+=item B<History>
+
+=over
+
+=item Added in Bugzilla B<3.4>.
+
+=back
+
 =back
 
 =back
index 16fea8c15757bb6bfd3f2527994d8f79eea20603..cd75bee8cd83f4348d0a689787ca51fa2da9605a 100644 (file)
 #
 # The Original Code is the Bugzilla Bug Tracking System.
 #
-# The Initial Developer of the Original Code is Everything Solved.
-# Portions created by Everything Solved are Copyright (C) 2008
-# Everything Solved. All Rights Reserved.
+# The Initial Developer of the Original Code is Everything Solved, Inc.
+# Portions created by the Initial Developer are Copyright (C) 2008
+# the Initial Developer. All Rights Reserved.
 #
-# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
+# Contributor(s): 
+#   Max Kanat-Alexander <mkanat@bugzilla.org>
 
 package Bugzilla::WebService::Util;
 use strict;
@@ -48,7 +49,7 @@ __END__
 =head1 NAME
 
 Bugzilla::WebService::Util - Utility functions used inside of the WebService
-code.
+code. These are B<not> functions that can be called via the WebService.
 
 =head1 DESCRIPTION