Bugzilla REST API wrapper

npm install bz
2 downloads in the last day
9 downloads in the last week
60 downloads in the last month


This 1.0x branch is for the built in bugzilla rest interface

The built in rest api is not backwards compatible with the original bugzilla rest extension bzapi.


For node install with npm:

npm install bz

and use with var bz = require("bz")

For the browser, download the lastest bz.js. Or build a browser file from the source code with browserbuild: browserbuild bz.js.


var bugzilla = bz.createClient();

bugzilla.getBug(678223, function(error, bug) {
  if (!error) {


bz.createClient(options) creates a new Bugzilla API client, optionally takes options like the REST API url, username + password, and timeout in milliseconds:

var bugzilla = bz.createClient({
  url: "",
  username: '',
  password: 'secret',
  timeout: 30000

Client methods

Each method takes a callback that takes an error message (if any kind of error occurs) as its first argument, and the expected return data as its second.

getBug(id, callback)
retrieves a bug given a bug id.

searchBugs(searchParams, callback)
searches with given search parameters and fetches an array of bugs.

createBug(bug, callback)
creates a bug and returns the id of the newly created bug.

updateBug(id, bug, callback)
updates a bug with new bug info.

bugComments(id, callback)
retrieves the comments for a bug.

addComment(id, comment, callback)
adds a comment to a bug.

bugHistory(id, callback)
retrieves array of changes for a bug.

bugAttachments(id, callback)
retrieves array of attachments for a bug.

createAttachment(bugId, attachment, callback)
creates an attachment on a bug, and returns the id of the newly created attachment.

getAttachment(attachId, callback)
gets an attachment given an attachment id.

updateAttachment(attachId, attachment, callback)
updates the attachment.

searchUsers(match, callback)
searches for users by string, matching against users' names or real names.

getUser(userId, callback)
retrieves a user given a user id.

getConfiguration(options, callback)
gets the configuration of this Bugzilla server.


You need vagrant installed.


vagrant up
make test

This will run a set of integration tests on a real bugzilla (bmo variant) server.

npm loves you