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

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

An ExternalBugTracker to handle Bugzillas using the LP Plugin.
Method getExternalBugTrackerToUse The Bugzilla LP Plugin has been chosen, so return self.
Method getModifiedRemoteBugs See IExternalBugTracker.
Method initializeRemoteBugDB See IExternalBugTracker.
Method getCurrentDBTime See IExternalBugTracker.
Method getCommentIds See ISupportsCommentImport.
Method fetchComments See ISupportsCommentImport.
Method addRemoteComment Add a comment to the remote bugtracker.
Method getLaunchpadBugId Return the current Launchpad bug ID for a given remote bug.
Method setLaunchpadBugId Set the Launchpad bug for a given remote bug.
Method _authenticate Authenticate with the remote Bugzilla instance.

Inherited from BugzillaAPI:

Method __init__ Undocumented
Method xmlrpc_proxy Return an xmlrpclib.ServerProxy to self.xmlrpc_endpoint.
Method credentials Undocumented
Method getRemoteStatus See IExternalBugTracker.
Method getRemoteImportance See IExternalBugTracker.
Method getRemoteProduct See IExternalBugTracker.
Method getProductsForRemoteBugs Return the products to which a set of remote bugs belong.
Method getPosterForComment See ISupportsCommentImport.
Method getMessageForComment See ISupportsCommentImport.
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 (via BugzillaAPI):

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 getExternalBugTrackerToUse(self):
The Bugzilla LP Plugin has been chosen, so return self.
@ensure_no_transaction
def _authenticate(self):
Authenticate with the remote Bugzilla instance.

Authentication works by means of using a LoginToken of type BUGTRACKER. We send the token text to the remote server as a parameter to Launchpad.login(), which verifies it using the standard launchpad.net/token/$token/+bugtracker-handshake URL.

If the token is valid, Bugzilla will send us a user ID as a return value for the call to Launchpad.login() and will set two cookies in the response header, Bugzilla_login and Bugzilla_logincookie, which we can then use to re-authenticate ourselves for each subsequent method call.

@ensure_no_transaction
def getModifiedRemoteBugs(self, bug_ids, last_checked):
See IExternalBugTracker.
@ensure_no_transaction
def initializeRemoteBugDB(self, bug_ids, products=None):
See IExternalBugTracker.
@ensure_no_transaction
def getCurrentDBTime(self):
See IExternalBugTracker.
@ensure_no_transaction
def getCommentIds(self, remote_bug_id):
See ISupportsCommentImport.
@ensure_no_transaction
def fetchComments(self, remote_bug_id, comment_ids):
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 current Launchpad bug ID for a given 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.