Mercurial > p > roundup > code
annotate doc/xmlrpc.txt @ 5876:716d50585c8d
Fix Link/Multilink searching
.. for the case that a key property may contain numeric values.
This already was correct for menu (in an item template) but was doing
the wrong thing for index templates.
| author | Ralf Schlatterbeck <rsc@runtux.com> |
|---|---|
| date | Mon, 02 Sep 2019 16:11:17 +0200 |
| parents | d0689aaa83db |
| children | 94a7669677ae |
| rev | line source |
|---|---|
|
3950
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
1 ========================= |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
2 XML-RPC access to Roundup |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
3 ========================= |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
4 |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
5 .. contents:: |
|
4890
609edf9de0a5
docs: Remove one nesting level from ToC on subpages
anatoly techtonik <techtonik@gmail.com>
parents:
4732
diff
changeset
|
6 :local: |
|
3950
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
7 |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
8 Introduction |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
9 ------------ |
|
4936
eeb9572b0508
doc: Update XML-RPC documentation with example that points to demo
anatoly techtonik <techtonik@gmail.com>
parents:
4930
diff
changeset
|
10 Version 1.4 of Roundup includes an XML-RPC frontend for remote access. The |
|
eeb9572b0508
doc: Update XML-RPC documentation with example that points to demo
anatoly techtonik <techtonik@gmail.com>
parents:
4930
diff
changeset
|
11 XML-RPC interface allows a limited subset of commands similar to those found in |
|
eeb9572b0508
doc: Update XML-RPC documentation with example that points to demo
anatoly techtonik <techtonik@gmail.com>
parents:
4930
diff
changeset
|
12 local `roundup-admin` tool. |
|
eeb9572b0508
doc: Update XML-RPC documentation with example that points to demo
anatoly techtonik <techtonik@gmail.com>
parents:
4930
diff
changeset
|
13 |
|
eeb9572b0508
doc: Update XML-RPC documentation with example that points to demo
anatoly techtonik <techtonik@gmail.com>
parents:
4930
diff
changeset
|
14 By default XML-RPC is accessible from ``/xmlrpc`` endpoint: |
|
3950
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
15 |
|
4936
eeb9572b0508
doc: Update XML-RPC documentation with example that points to demo
anatoly techtonik <techtonik@gmail.com>
parents:
4930
diff
changeset
|
16 http://username:password@localhost:8000/xmlrpc |
|
eeb9572b0508
doc: Update XML-RPC documentation with example that points to demo
anatoly techtonik <techtonik@gmail.com>
parents:
4930
diff
changeset
|
17 |
|
eeb9572b0508
doc: Update XML-RPC documentation with example that points to demo
anatoly techtonik <techtonik@gmail.com>
parents:
4930
diff
changeset
|
18 For demo tracker the URL would be: |
|
eeb9572b0508
doc: Update XML-RPC documentation with example that points to demo
anatoly techtonik <techtonik@gmail.com>
parents:
4930
diff
changeset
|
19 |
|
eeb9572b0508
doc: Update XML-RPC documentation with example that points to demo
anatoly techtonik <techtonik@gmail.com>
parents:
4930
diff
changeset
|
20 http://localhost:8917/demo/xmlrpc |
|
eeb9572b0508
doc: Update XML-RPC documentation with example that points to demo
anatoly techtonik <techtonik@gmail.com>
parents:
4930
diff
changeset
|
21 |
|
4939
47cc50617e19
doc/xmlrpc: Fix headers
anatoly techtonik <techtonik@gmail.com>
parents:
4936
diff
changeset
|
22 Enabling XML-RPC server |
|
47cc50617e19
doc/xmlrpc: Fix headers
anatoly techtonik <techtonik@gmail.com>
parents:
4936
diff
changeset
|
23 ----------------------- |
|
4936
eeb9572b0508
doc: Update XML-RPC documentation with example that points to demo
anatoly techtonik <techtonik@gmail.com>
parents:
4930
diff
changeset
|
24 There are two ways to run the XML-RPC interface: |
|
4678
23de24f57566
issue2550749 - the xmlrpc interface is invoked on content type
rouilj
parents:
4449
diff
changeset
|
25 |
|
23de24f57566
issue2550749 - the xmlrpc interface is invoked on content type
rouilj
parents:
4449
diff
changeset
|
26 stand alone roundup-xmlrpc-server |
|
23de24f57566
issue2550749 - the xmlrpc interface is invoked on content type
rouilj
parents:
4449
diff
changeset
|
27 |
|
4939
47cc50617e19
doc/xmlrpc: Fix headers
anatoly techtonik <techtonik@gmail.com>
parents:
4936
diff
changeset
|
28 through roundup itself |
|
47cc50617e19
doc/xmlrpc: Fix headers
anatoly techtonik <techtonik@gmail.com>
parents:
4936
diff
changeset
|
29 |
|
4678
23de24f57566
issue2550749 - the xmlrpc interface is invoked on content type
rouilj
parents:
4449
diff
changeset
|
30 stand alone roundup-xmlrpc-server |
|
4732
8ee41c7372e7
doc: Fix some Sphinx warnings.
anatoly techtonik <techtonik@gmail.com>
parents:
4678
diff
changeset
|
31 --------------------------------- |
|
4678
23de24f57566
issue2550749 - the xmlrpc interface is invoked on content type
rouilj
parents:
4449
diff
changeset
|
32 The Roundup XML-RPC standalone server must be started before remote clients can access the |
|
3950
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
33 tracker via XML-RPC. ``roundup-xmlrpc-server`` is installed in the scripts |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
34 directory alongside ``roundup-server`` and roundup-admin``. When invoked, the |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
35 location of the tracker instance must be specified. |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
36 |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
37 roundup-xmlrpc-server -i ``/path/to/tracker`` |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
38 |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
39 The default port is ``8000``. An alternative port can be specified with the |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
40 ``--port`` switch. |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
41 |
|
4939
47cc50617e19
doc/xmlrpc: Fix headers
anatoly techtonik <techtonik@gmail.com>
parents:
4936
diff
changeset
|
42 through roundup |
|
47cc50617e19
doc/xmlrpc: Fix headers
anatoly techtonik <techtonik@gmail.com>
parents:
4936
diff
changeset
|
43 --------------- |
|
4678
23de24f57566
issue2550749 - the xmlrpc interface is invoked on content type
rouilj
parents:
4449
diff
changeset
|
44 In addition to running a stand alone server described above, the |
|
4936
eeb9572b0508
doc: Update XML-RPC documentation with example that points to demo
anatoly techtonik <techtonik@gmail.com>
parents:
4930
diff
changeset
|
45 XML-RPC service is available from the roundup HTTP server. |
|
4678
23de24f57566
issue2550749 - the xmlrpc interface is invoked on content type
rouilj
parents:
4449
diff
changeset
|
46 |
|
3950
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
47 security consideration |
|
4939
47cc50617e19
doc/xmlrpc: Fix headers
anatoly techtonik <techtonik@gmail.com>
parents:
4936
diff
changeset
|
48 ---------------------- |
|
3950
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
49 Note that the current ``roundup-xmlrpc-server`` implementation does not |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
50 support SSL. This means that usernames and passwords will be passed in |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
51 cleartext unless the server is being proxied behind another server (such as |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
52 Apache or lighttpd) that provide SSL. |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
53 |
|
4939
47cc50617e19
doc/xmlrpc: Fix headers
anatoly techtonik <techtonik@gmail.com>
parents:
4936
diff
changeset
|
54 |
|
47cc50617e19
doc/xmlrpc: Fix headers
anatoly techtonik <techtonik@gmail.com>
parents:
4936
diff
changeset
|
55 Client API |
|
3950
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
56 ---------- |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
57 The server currently implements four methods. Each method requires that the |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
58 user provide a username and password in the HTTP authorization header in order |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
59 to authenticate the request against the tracker. |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
60 |
|
3969
905faf52a51f
fix mysql breakage in 1.4.2
Richard Jones <richard@users.sourceforge.net>
parents:
3951
diff
changeset
|
61 ======= ==================================================================== |
|
905faf52a51f
fix mysql breakage in 1.4.2
Richard Jones <richard@users.sourceforge.net>
parents:
3951
diff
changeset
|
62 Command Description |
|
905faf52a51f
fix mysql breakage in 1.4.2
Richard Jones <richard@users.sourceforge.net>
parents:
3951
diff
changeset
|
63 ======= ==================================================================== |
|
4930
f47c35727b3e
Add missing doc for xmlrpc schema (fixes issue2550735)
Cédric Krier <ced@b2ck.com>
parents:
4929
diff
changeset
|
64 schema |
|
f47c35727b3e
Add missing doc for xmlrpc schema (fixes issue2550735)
Cédric Krier <ced@b2ck.com>
parents:
4929
diff
changeset
|
65 |
|
f47c35727b3e
Add missing doc for xmlrpc schema (fixes issue2550735)
Cédric Krier <ced@b2ck.com>
parents:
4929
diff
changeset
|
66 Fetch tracker schema. |
|
f47c35727b3e
Add missing doc for xmlrpc schema (fixes issue2550735)
Cédric Krier <ced@b2ck.com>
parents:
4929
diff
changeset
|
67 |
|
3969
905faf52a51f
fix mysql breakage in 1.4.2
Richard Jones <richard@users.sourceforge.net>
parents:
3951
diff
changeset
|
68 list arguments: *classname, [property_name]* |
|
3950
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
69 |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
70 List all elements of a given ``classname``. If ``property_name`` is |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
71 specified, that is the property that will be displayed for each |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
72 element. If ``property_name`` is not specified the default label |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
73 property will be used. |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
74 |
|
3969
905faf52a51f
fix mysql breakage in 1.4.2
Richard Jones <richard@users.sourceforge.net>
parents:
3951
diff
changeset
|
75 display arguments: *designator, [property_1, ..., property_N]* |
|
3950
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
76 |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
77 Display a single item in the tracker as specified by ``designator`` |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
78 (e.g. issue20 or user5). The default is to display all properties |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
79 for the item. Alternatively, a list of properties to display can be |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
80 specified. |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
81 |
|
3969
905faf52a51f
fix mysql breakage in 1.4.2
Richard Jones <richard@users.sourceforge.net>
parents:
3951
diff
changeset
|
82 create arguments: *classname, arg_1 ... arg_N* |
|
3950
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
83 |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
84 Create a new instance of ``classname`` with ``arg_1`` through |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
85 ``arg_N`` as the values of the new instance. The arguments are |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
86 name=value pairs (e.g. ``status='3'``). |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
87 |
|
3969
905faf52a51f
fix mysql breakage in 1.4.2
Richard Jones <richard@users.sourceforge.net>
parents:
3951
diff
changeset
|
88 set arguments: *designator, arg_1 ... arg_N* |
|
3950
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
89 |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
90 Set the values of an existing item in the tracker as specified by |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
91 ``designator``. The new values are specified in ``arg_1`` through |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
92 ``arg_N``. The arguments are name=value pairs (e.g. ``status='3'``). |
|
4257
a70dbbc7f967
Document filter method of xmlrpc interface
Ralf Schlatterbeck <schlatterbeck@users.sourceforge.net>
parents:
3969
diff
changeset
|
93 |
|
4449
3f251efd5f48
Add "lookup" method to xmlrpc interface (Ralf Schlatterbeck)
Ralf Schlatterbeck <schlatterbeck@users.sourceforge.net>
parents:
4257
diff
changeset
|
94 lookup arguments: *classname, key_value* |
|
3f251efd5f48
Add "lookup" method to xmlrpc interface (Ralf Schlatterbeck)
Ralf Schlatterbeck <schlatterbeck@users.sourceforge.net>
parents:
4257
diff
changeset
|
95 |
|
3f251efd5f48
Add "lookup" method to xmlrpc interface (Ralf Schlatterbeck)
Ralf Schlatterbeck <schlatterbeck@users.sourceforge.net>
parents:
4257
diff
changeset
|
96 looks up the key_value for the given class. The class needs to |
|
3f251efd5f48
Add "lookup" method to xmlrpc interface (Ralf Schlatterbeck)
Ralf Schlatterbeck <schlatterbeck@users.sourceforge.net>
parents:
4257
diff
changeset
|
97 have a key and the user needs search permission on the key |
|
3f251efd5f48
Add "lookup" method to xmlrpc interface (Ralf Schlatterbeck)
Ralf Schlatterbeck <schlatterbeck@users.sourceforge.net>
parents:
4257
diff
changeset
|
98 attribute and id for the given classname. |
|
3f251efd5f48
Add "lookup" method to xmlrpc interface (Ralf Schlatterbeck)
Ralf Schlatterbeck <schlatterbeck@users.sourceforge.net>
parents:
4257
diff
changeset
|
99 |
|
4257
a70dbbc7f967
Document filter method of xmlrpc interface
Ralf Schlatterbeck <schlatterbeck@users.sourceforge.net>
parents:
3969
diff
changeset
|
100 filter arguments: *classname, list or None, attributes* |
|
a70dbbc7f967
Document filter method of xmlrpc interface
Ralf Schlatterbeck <schlatterbeck@users.sourceforge.net>
parents:
3969
diff
changeset
|
101 |
|
4929
57a482110a24
doc: Link XMLRPC `filter` doc to User Guide chapter about querying
anatoly techtonik <techtonik@gmail.com>
parents:
4916
diff
changeset
|
102 ``list`` is a list of ids to filter. It can be set to None to run |
|
57a482110a24
doc: Link XMLRPC `filter` doc to User Guide chapter about querying
anatoly techtonik <techtonik@gmail.com>
parents:
4916
diff
changeset
|
103 filter over all values (requires ``allow_none=True`` when |
|
57a482110a24
doc: Link XMLRPC `filter` doc to User Guide chapter about querying
anatoly techtonik <techtonik@gmail.com>
parents:
4916
diff
changeset
|
104 instantiating the ServerProxy). The ``attributes`` are given as a |
|
57a482110a24
doc: Link XMLRPC `filter` doc to User Guide chapter about querying
anatoly techtonik <techtonik@gmail.com>
parents:
4916
diff
changeset
|
105 dictionary of name value pairs to search for. See also :ref:`query-tracker`. |
|
3969
905faf52a51f
fix mysql breakage in 1.4.2
Richard Jones <richard@users.sourceforge.net>
parents:
3951
diff
changeset
|
106 ======= ==================================================================== |
|
3950
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
107 |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
108 sample python client |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
109 ==================== |
|
5219
ade4bbc2716d
Update the xmlrpc documentation for use with the CSRF defenses.
John Rouillard <rouilj@ieee.org>
parents:
4939
diff
changeset
|
110 |
|
ade4bbc2716d
Update the xmlrpc documentation for use with the CSRF defenses.
John Rouillard <rouilj@ieee.org>
parents:
4939
diff
changeset
|
111 This client will work if you turn off the x-requested-with header and |
|
ade4bbc2716d
Update the xmlrpc documentation for use with the CSRF defenses.
John Rouillard <rouilj@ieee.org>
parents:
4939
diff
changeset
|
112 the only CSRF header check you require is the HTTP host header:: |
|
3950
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
113 |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
114 >>> import xmlrpclib |
|
4936
eeb9572b0508
doc: Update XML-RPC documentation with example that points to demo
anatoly techtonik <techtonik@gmail.com>
parents:
4930
diff
changeset
|
115 >>> roundup_server = xmlrpclib.ServerProxy('http://admin:admin@localhost:8917/demo/xmlrpc', allow_none=True) |
|
4930
f47c35727b3e
Add missing doc for xmlrpc schema (fixes issue2550735)
Cédric Krier <ced@b2ck.com>
parents:
4929
diff
changeset
|
116 >>> roundup_server.schema() |
|
f47c35727b3e
Add missing doc for xmlrpc schema (fixes issue2550735)
Cédric Krier <ced@b2ck.com>
parents:
4929
diff
changeset
|
117 {'user': [['username', '<roundup.hyperdb.String>'], ...], 'issue': [...]} |
|
3950
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
118 >>> roundup_server.list('user') |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
119 ['admin', 'anonymous', 'demo'] |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
120 >>> roundup_server.list('issue', 'id') |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
121 ['1'] |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
122 >>> roundup_server.display('issue1') |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
123 {'assignedto' : None, 'files' : [], 'title' = 'yes, ..... } |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
124 >>> roundup_server.display('issue1', 'priority', 'status') |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
125 {'priority' : '1', 'status' : '2'} |
|
3951
53b922e0d2b7
typo in docs for xmlrpc
Justus Pendleton <jpend@users.sourceforge.net>
parents:
3950
diff
changeset
|
126 >>> roundup_server.set('issue1', 'status=3') |
|
3950
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
127 >>> roundup_server.display('issue1', 'status') |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
128 {'status' : '3' } |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
129 >>> roundup_server.create('issue', "title='another bug'", "status=2") |
|
257b4eab3bb2
Documentation for the XML-RPC interface
Justus Pendleton <jpend@users.sourceforge.net>
parents:
diff
changeset
|
130 '2' |
|
4257
a70dbbc7f967
Document filter method of xmlrpc interface
Ralf Schlatterbeck <schlatterbeck@users.sourceforge.net>
parents:
3969
diff
changeset
|
131 >>> roundup_server.filter('user',None,{'username':'adm'}) |
|
a70dbbc7f967
Document filter method of xmlrpc interface
Ralf Schlatterbeck <schlatterbeck@users.sourceforge.net>
parents:
3969
diff
changeset
|
132 ['1'] |
|
a70dbbc7f967
Document filter method of xmlrpc interface
Ralf Schlatterbeck <schlatterbeck@users.sourceforge.net>
parents:
3969
diff
changeset
|
133 >>> roundup_server.filter('user',['1','2'],{'username':'adm'}) |
|
a70dbbc7f967
Document filter method of xmlrpc interface
Ralf Schlatterbeck <schlatterbeck@users.sourceforge.net>
parents:
3969
diff
changeset
|
134 ['1'] |
|
a70dbbc7f967
Document filter method of xmlrpc interface
Ralf Schlatterbeck <schlatterbeck@users.sourceforge.net>
parents:
3969
diff
changeset
|
135 >>> roundup_server.filter('user',['2'],{'username':'adm'}) |
|
a70dbbc7f967
Document filter method of xmlrpc interface
Ralf Schlatterbeck <schlatterbeck@users.sourceforge.net>
parents:
3969
diff
changeset
|
136 [] |
|
a70dbbc7f967
Document filter method of xmlrpc interface
Ralf Schlatterbeck <schlatterbeck@users.sourceforge.net>
parents:
3969
diff
changeset
|
137 >>> roundup_server.filter('user',[],{'username':'adm'}) |
|
a70dbbc7f967
Document filter method of xmlrpc interface
Ralf Schlatterbeck <schlatterbeck@users.sourceforge.net>
parents:
3969
diff
changeset
|
138 [] |
|
4449
3f251efd5f48
Add "lookup" method to xmlrpc interface (Ralf Schlatterbeck)
Ralf Schlatterbeck <schlatterbeck@users.sourceforge.net>
parents:
4257
diff
changeset
|
139 >>> roundup_server.lookup('user','admin') |
|
3f251efd5f48
Add "lookup" method to xmlrpc interface (Ralf Schlatterbeck)
Ralf Schlatterbeck <schlatterbeck@users.sourceforge.net>
parents:
4257
diff
changeset
|
140 '1' |
|
5219
ade4bbc2716d
Update the xmlrpc documentation for use with the CSRF defenses.
John Rouillard <rouilj@ieee.org>
parents:
4939
diff
changeset
|
141 |
|
5298
6efa6d44c27a
Add doc for xmlrpc changes and errors related to anti-csrf protections.
John Rouillard <rouilj@ieee.org>
parents:
5248
diff
changeset
|
142 advanced python client adding anti-csrf headers |
|
6efa6d44c27a
Add doc for xmlrpc changes and errors related to anti-csrf protections.
John Rouillard <rouilj@ieee.org>
parents:
5248
diff
changeset
|
143 =============================================== |
|
6efa6d44c27a
Add doc for xmlrpc changes and errors related to anti-csrf protections.
John Rouillard <rouilj@ieee.org>
parents:
5248
diff
changeset
|
144 |
|
5219
ade4bbc2716d
Update the xmlrpc documentation for use with the CSRF defenses.
John Rouillard <rouilj@ieee.org>
parents:
4939
diff
changeset
|
145 The one below adds Referer and X-Requested-With headers so it can pass |
|
5220
14d8f61e6ef2
Reimplemented anti-csrf measures by raising exceptions rather than
John Rouillard <rouilj@ieee.org>
parents:
5219
diff
changeset
|
146 stronger CSRF detection methods. It also generates a fault message |
|
14d8f61e6ef2
Reimplemented anti-csrf measures by raising exceptions rather than
John Rouillard <rouilj@ieee.org>
parents:
5219
diff
changeset
|
147 from the server and reports it. Note if you are using http rather than |
|
14d8f61e6ef2
Reimplemented anti-csrf measures by raising exceptions rather than
John Rouillard <rouilj@ieee.org>
parents:
5219
diff
changeset
|
148 https, replace xmlrpclib.SafeTransport with xmlrpclib.Transport:: |
|
5219
ade4bbc2716d
Update the xmlrpc documentation for use with the CSRF defenses.
John Rouillard <rouilj@ieee.org>
parents:
4939
diff
changeset
|
149 |
|
ade4bbc2716d
Update the xmlrpc documentation for use with the CSRF defenses.
John Rouillard <rouilj@ieee.org>
parents:
4939
diff
changeset
|
150 import xmlrpclib |
|
ade4bbc2716d
Update the xmlrpc documentation for use with the CSRF defenses.
John Rouillard <rouilj@ieee.org>
parents:
4939
diff
changeset
|
151 |
|
ade4bbc2716d
Update the xmlrpc documentation for use with the CSRF defenses.
John Rouillard <rouilj@ieee.org>
parents:
4939
diff
changeset
|
152 class SpecialTransport(xmlrpclib.SafeTransport): |
|
ade4bbc2716d
Update the xmlrpc documentation for use with the CSRF defenses.
John Rouillard <rouilj@ieee.org>
parents:
4939
diff
changeset
|
153 |
|
ade4bbc2716d
Update the xmlrpc documentation for use with the CSRF defenses.
John Rouillard <rouilj@ieee.org>
parents:
4939
diff
changeset
|
154 def send_content(self, connection, request_body): |
|
ade4bbc2716d
Update the xmlrpc documentation for use with the CSRF defenses.
John Rouillard <rouilj@ieee.org>
parents:
4939
diff
changeset
|
155 |
|
ade4bbc2716d
Update the xmlrpc documentation for use with the CSRF defenses.
John Rouillard <rouilj@ieee.org>
parents:
4939
diff
changeset
|
156 connection.putheader("Referer", "https://localhost/demo/") |
|
ade4bbc2716d
Update the xmlrpc documentation for use with the CSRF defenses.
John Rouillard <rouilj@ieee.org>
parents:
4939
diff
changeset
|
157 connection.putheader("Origin", "https://localhost") |
|
ade4bbc2716d
Update the xmlrpc documentation for use with the CSRF defenses.
John Rouillard <rouilj@ieee.org>
parents:
4939
diff
changeset
|
158 connection.putheader("X-Requested-With", "XMLHttpRequest") |
|
ade4bbc2716d
Update the xmlrpc documentation for use with the CSRF defenses.
John Rouillard <rouilj@ieee.org>
parents:
4939
diff
changeset
|
159 |
|
ade4bbc2716d
Update the xmlrpc documentation for use with the CSRF defenses.
John Rouillard <rouilj@ieee.org>
parents:
4939
diff
changeset
|
160 connection.putheader("Content-Type", "text/xml") |
|
ade4bbc2716d
Update the xmlrpc documentation for use with the CSRF defenses.
John Rouillard <rouilj@ieee.org>
parents:
4939
diff
changeset
|
161 connection.putheader("Content-Length", str(len(request_body))) |
|
ade4bbc2716d
Update the xmlrpc documentation for use with the CSRF defenses.
John Rouillard <rouilj@ieee.org>
parents:
4939
diff
changeset
|
162 connection.endheaders() |
|
ade4bbc2716d
Update the xmlrpc documentation for use with the CSRF defenses.
John Rouillard <rouilj@ieee.org>
parents:
4939
diff
changeset
|
163 if request_body: |
|
ade4bbc2716d
Update the xmlrpc documentation for use with the CSRF defenses.
John Rouillard <rouilj@ieee.org>
parents:
4939
diff
changeset
|
164 connection.send(request_body) |
|
ade4bbc2716d
Update the xmlrpc documentation for use with the CSRF defenses.
John Rouillard <rouilj@ieee.org>
parents:
4939
diff
changeset
|
165 |
|
ade4bbc2716d
Update the xmlrpc documentation for use with the CSRF defenses.
John Rouillard <rouilj@ieee.org>
parents:
4939
diff
changeset
|
166 roundup_server = xmlrpclib.ServerProxy( |
|
ade4bbc2716d
Update the xmlrpc documentation for use with the CSRF defenses.
John Rouillard <rouilj@ieee.org>
parents:
4939
diff
changeset
|
167 'https://admin:admin@localhost/demo/xmlrpc', |
|
ade4bbc2716d
Update the xmlrpc documentation for use with the CSRF defenses.
John Rouillard <rouilj@ieee.org>
parents:
4939
diff
changeset
|
168 transport=SpecialTransport(), |
|
ade4bbc2716d
Update the xmlrpc documentation for use with the CSRF defenses.
John Rouillard <rouilj@ieee.org>
parents:
4939
diff
changeset
|
169 verbose=False, |
|
ade4bbc2716d
Update the xmlrpc documentation for use with the CSRF defenses.
John Rouillard <rouilj@ieee.org>
parents:
4939
diff
changeset
|
170 allow_none=True) |
|
ade4bbc2716d
Update the xmlrpc documentation for use with the CSRF defenses.
John Rouillard <rouilj@ieee.org>
parents:
4939
diff
changeset
|
171 |
|
5332
d0689aaa83db
Applied patch 0038 from issue2550960 to upgrade code examples in
John Rouillard <rouilj@ieee.org>
parents:
5298
diff
changeset
|
172 print(roundup_server.schema()) |
|
d0689aaa83db
Applied patch 0038 from issue2550960 to upgrade code examples in
John Rouillard <rouilj@ieee.org>
parents:
5298
diff
changeset
|
173 print(roundup_server.display('user2', 'username')) |
|
d0689aaa83db
Applied patch 0038 from issue2550960 to upgrade code examples in
John Rouillard <rouilj@ieee.org>
parents:
5298
diff
changeset
|
174 print(roundup_server.display('issue1', 'status')) |
|
d0689aaa83db
Applied patch 0038 from issue2550960 to upgrade code examples in
John Rouillard <rouilj@ieee.org>
parents:
5298
diff
changeset
|
175 print(roundup_server.filter('user',['1','2','3'],{'username':'demo'})) |
|
5220
14d8f61e6ef2
Reimplemented anti-csrf measures by raising exceptions rather than
John Rouillard <rouilj@ieee.org>
parents:
5219
diff
changeset
|
176 |
|
14d8f61e6ef2
Reimplemented anti-csrf measures by raising exceptions rather than
John Rouillard <rouilj@ieee.org>
parents:
5219
diff
changeset
|
177 # this will fail with a fault |
|
14d8f61e6ef2
Reimplemented anti-csrf measures by raising exceptions rather than
John Rouillard <rouilj@ieee.org>
parents:
5219
diff
changeset
|
178 try: |
|
5332
d0689aaa83db
Applied patch 0038 from issue2550960 to upgrade code examples in
John Rouillard <rouilj@ieee.org>
parents:
5298
diff
changeset
|
179 print(roundup_server.filter('usr',['0','2','3'],{'username':'demo'})) |
|
5248
198b6e810c67
Use Python-3-compatible 'as' syntax for except statements
Eric S. Raymond <esr@thyrsus.com>
parents:
5220
diff
changeset
|
180 except Exception as msg: |
|
5332
d0689aaa83db
Applied patch 0038 from issue2550960 to upgrade code examples in
John Rouillard <rouilj@ieee.org>
parents:
5298
diff
changeset
|
181 print(msg) |
