l.b.e.b.BugzillaAPI(Bugzilla) : class documentation

Part of lp.bugs.externalbugtracker.bugzilla View In Hierarchy

Known subclasses: lp.bugs.externalbugtracker.bugzilla.BugzillaLPPlugin, lp.bugs.scripts.checkwatches.tests.test_core.BugzillaAPIWithoutProducts, lp.bugs.scripts.checkwatches.tests.test_core.NonConnectingBugzillaAPI

An ExternalBugTracker to handle Bugzillas that offer an API.
Method __init__ Undocumented
Method getExternalBugTrackerToUse The Bugzilla API has been chosen, so return self.
Method xmlrpc_proxy Return an xmlrpclib.ServerProxy to self.xmlrpc_endpoint.
Method credentials Undocumented
Method getCurrentDBTime See IExternalBugTracker.
Method initializeRemoteBugDB See IExternalBugTracker.
Method getRemoteStatus See IExternalBugTracker.
Method getRemoteImportance See IExternalBugTracker.
Method getModifiedRemoteBugs See IExternalBugTracker.
Method getRemoteProduct See IExternalBugTracker.
Method getProductsForRemoteBugs Return the products to which a set of remote bugs belong.
Method getCommentIds See ISupportsCommentImport.
Method fetchComments See ISupportsCommentImport.
Method getPosterForComment See ISupportsCommentImport.
Method getMessageForComment See ISupportsCommentImport.
Method addRemoteComment Add a comment to the remote bugtracker.
Method getLaunchpadBugId Return the Launchpad bug ID for the remote bug.
Method setLaunchpadBugId Set the Launchpad bug for a given remote bug.
Method _authenticate Authenticate with the remote Bugzilla instance.
Method _storeBugs Store remote bugs in the local bugs dict.
Method _getActualBugId Return the actual bug id for an alias or id.
Method _getBugIdsToRetrieve For a set of bug IDs, return those for which we have no data.

Inherited from Bugzilla:

Method convertRemoteImportance See ExternalBugTracker.
Method convertRemoteStatus See IExternalBugTracker.
Method getRemoteBug See ExternalBugTracker.
Method getRemoteBugBatch See ExternalBugTracker.
Method _remoteSystemHasBugzillaAPI Return True if the remote host offers the Bugzilla API.
Method _remoteSystemHasPluginAPI Return True if the remote host has the Launchpad plugin installed.
Method _parseDOMString Return a minidom instance representing the XML contents supplied
Method _probe_version Retrieve and return a remote bugzilla version.
Method _parseVersion Return a Bugzilla version parsed into a tuple.
Method _checkBugSearchResult Does document appear to be a bug search result page?
def __init__(self, baseurl, xmlrpc_transport=None, internal_xmlrpc_transport=None):
Undocumented
def getExternalBugTrackerToUse(self):
The Bugzilla API has been chosen, so return self.
@property
def xmlrpc_proxy(self):
Return an xmlrpclib.ServerProxy to self.xmlrpc_endpoint.
@property
def credentials(self):
Undocumented
@ensure_no_transaction
def _authenticate(self):
Authenticate with the remote Bugzilla instance.

The native Bugzilla API uses a standard (username, password) paradigm for authentication. If the username and password are correct, Bugzilla will send back a login cookie which we can use to re-authenticate with each subsequent method call.

def _storeBugs(self, remote_bugs):
Store remote bugs in the local bugs dict.
@ensure_no_transaction
def getCurrentDBTime(self):
See IExternalBugTracker.
def _getActualBugId(self, bug_id):
Return the actual bug id for an alias or id.
def _getBugIdsToRetrieve(self, bug_ids):
For a set of bug IDs, return those for which we have no data.
@ensure_no_transaction
def initializeRemoteBugDB(self, bug_ids):
See IExternalBugTracker.
def getRemoteStatus(self, bug_id):
See IExternalBugTracker.
def getRemoteImportance(self, bug_id):
See IExternalBugTracker.
@ensure_no_transaction
def getModifiedRemoteBugs(self, bug_ids, last_checked):
See IExternalBugTracker.
def getRemoteProduct(self, remote_bug):
See IExternalBugTracker.
def getProductsForRemoteBugs(self, bug_ids):
Return the products to which a set of remote bugs belong.
Parametersbug_idsA list of bug IDs or aliases.
ReturnsA dict of (bug_id_or_alias, product) mappings. If a bug ID specified in bug_ids is invalid, it will be ignored.
def getCommentIds(self, remote_bug_id):
See ISupportsCommentImport.
@ensure_no_transaction
def fetchComments(self, remote_bug_id, comment_ids):
See ISupportsCommentImport.
def getPosterForComment(self, remote_bug_id, comment_id):
See ISupportsCommentImport.
def getMessageForComment(self, remote_bug_id, comment_id, poster):
See ISupportsCommentImport.
@ensure_no_transaction
@needs_authentication
def addRemoteComment(self, remote_bug, comment_body, rfc822msgid):
Add a comment to the remote bugtracker.

See ISupportsCommentPushing.

def getLaunchpadBugId(self, remote_bug):
Return the Launchpad bug ID for the remote bug.

See ISupportsBackLinking.

@ensure_no_transaction
@needs_authentication
def setLaunchpadBugId(self, remote_bug, launchpad_bug_id, launchpad_bug_url):
Set the Launchpad bug for a given remote bug.

See ISupportsBackLinking.

API Documentation for Launchpad, generated by pydoctor at 2022-06-16 00:00:12.