Differences between revisions 5 and 6
Revision 5 as of 2007-06-24 16:24:25
Size: 1685
Editor: ?BastianVenthur
Comment:
Revision 6 as of 2007-06-24 16:34:59
Size: 1672
Editor: ?BastianVenthur
Comment:
Deletions are marked like this. Additions are marked like this.
Line 55: Line 55:
s = getBugs("package", "gtk-qt-engine")
getStatus(list(s
))
getStatus(getBugs("package", "gtk-qt-engine"))

Debbugs' SOAP Interface Documentation

Please help to keep this documentation up to date!

URL and Namespace

http://bugs.debian.org/cgi-bin/soap.cgi is the official SOAP interface for Debian's BTS.

http://bugs.donarmstrong.com/cgi-bin/soap.cgi is the development version.

The namespace is Debbugs/SOAP

Available methods for bugs.debian.org

get_status(bugnumber [, bugnumber]*)
returns the status if the given bugs
get_bugs
returns bar

Available methods for bugs.donarmstrong.com

Examples

Python

   1 #!/usr/bin/env python
   2 
   3 
   4 import SOAPpy
   5 
   6 #url = 'http://bugs.donarmstrong.com/cgi-bin/soap.cgi'
   7 url = 'http://bugs.debian.org/cgi-bin/soap.cgi'
   8 namespace = 'Debbugs/SOAP'
   9 server = SOAPpy.SOAPProxy(url, namespace)
  10 
  11 #server.config.dumpSOAPOut = 1
  12 #server.config.dumpSOAPIn = 1
  13 
  14 
  15 def getStatus(*args):
  16 #        server.soapaction = '%s#get_status' % namespace
  17         result = server.get_status(*args)
  18         return result
  19 
  20 
  21 def getBugs(*args):
  22 #        server.soapaction = '%s#get_bugs' % namespace
  23         result = server.get_bugs(*args)
  24         return result
  25 
  26 # One bug
  27 print getStatus(419306)
  28 # > 1 bug
  29 print getStatus(409909, 419920, 421581, 417044, 397993, 419411, 419306)
  30 
  31 # All bugs from gtk-qt-engine + the status of 'em
  32 getStatus(getBugs("package", "gtk-qt-engine"))

FAQ

Why do I have to set the namespace in the server AND before every soapaction in python?
Looks like you don't need the SOAPProxy.soapaction-thingy at all, just set the namespace in the C'tor of the SOAPProxy and call the remote methods as usual.