Skip to main content

Python library for interacting with the FogBugz API

Project description

Python FogBugz API Wrapper

This Python API is simply a wrapper around the FogBugz API, with some help from Leonard Richardson’s BeautifulSoup (http://www.crummy.com/software/BeautifulSoup/) and the magic of Python’s __getattr__().

Getting Started:

To use the FogBugz API, install the package either by downloading the source and running

$ python setup.py install

or by using pip

$ pip install fogbugz

A Quick Example:

>>> from fogbugz import FogBugz
>>> fb = FogBugz("http://example.fogbugz.com/") # URL is to your FogBugz install
>>> fb.logon("logon@example.com", "password")
>>> resp = fb.search(q="assignedto:tyler") # All calls take named parameters, per the API
>>> resp # Responses are BeautifulSoup objects of the response XML.
<response><cases count="2"><case ixbug="1" operations="edit,assign,resolve,email,remind"></case><case ixbug="2" operations="edit,spam,assign,resolve,reply,forward,remind"></case></cases></response>
>>> # You shouldn't need to know too much about BeautifulSoup, but the documentation can be found here:
>>> # http://www.crummy.com/software/BeautifulSoup/documentation.html
>>> for case in resp.cases.childGenerator(): # One way to access the cases
...     print case['ixbug']
...
1
2
>>> for case in resp.findAll('case'): # Another way to access the cases
...     print case['operations']
...
edit,assign,resolve,email,remind
edit,spam,assign,resolve,reply,forward,remind
>>> resp = fb.edit(ixbug=1, sEvent="Edit from the API") # Note the named parameters
>>> resp
<response><case ixbug="1" operations="edit,assign,resolve,email,remind"></case></response>

Note that, per API v5.0, all data between tags, such as the token, is now wrapped in CDATA. BeautifulSoup’s implementation of CData generally allows for it to be treated as a string, except for one important case: CData.__str__() (a.k.a. str(CData)) returns the full text, including the CDATA wrapper (e.g. “<![CDATA[foo]]>”). To avoid accidentally including the CDATA tage, use CData.encode(‘utf-8’)

Additional Details:

If your script requires a certain version of the FogBugz API, make sure to pass it as an argument to the constructor. This will protect you from unexpected differences should we make backwards-incompatible changes.

>>> from fogbugz import FogBugz
>>> fb = FogBugz("http://example.fogbugz.com", api_version=5)

For more info on the API: http://help.fogcreek.com/the-fogbugz-api

Much of the API has not been thoroughly tested. Please report bugs to customer-service@fogcreek.com

fogbugz_bis is a fork of the FogCreek codebase to support Python 3 and BeautifulSoup 4. You should install/require only one of fogbugz or fogbugz_bis as they both implement the same module.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fogbugz_bis-1.0.6.tar.gz (7.6 kB view details)

Uploaded Source

Built Distribution

fogbugz_bis-1.0.6-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

Details for the file fogbugz_bis-1.0.6.tar.gz.

File metadata

File hashes

Hashes for fogbugz_bis-1.0.6.tar.gz
Algorithm Hash digest
SHA256 12edf8f1ee3bd9254207d15ca93b0216ad53fbf52f8ce2eb9fb0c7f5d68a7781
MD5 6c129d958eee8c0ec8a766f4d4e97ce1
BLAKE2b-256 8937a1a7904b7f0bb9573a12305bbb6e246d7f1a462e4c0e46cc7590614d5ac2

See more details on using hashes here.

Provenance

File details

Details for the file fogbugz_bis-1.0.6-py3-none-any.whl.

File metadata

File hashes

Hashes for fogbugz_bis-1.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 8ede274f04bf729df4935671f5776e4dfa063b85d5e2b4be8d6a3d165891701c
MD5 57eb8ef6196403cca8a118e438e8dece
BLAKE2b-256 5c55d5f9694495bfad1ce5788b511058c09b97773adaf32e2a7dd9a82d652f72

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page