jQuery interface to the Lighthouse API
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


jBeacon is a jQuery interface to the Lighthouse API.

It is designed to be a lightweight wrapper interface, facilitating simpler front-end communication directly with Lighthouse, but still remaining flexible enough not to commit the developer to any design decisions (specifically markup).

jBeacon's getters (currently only GET is supported via cross-site json(p) calls) accept anonymous callback functions (with the resulting json as their parameter) as arguments.


First, include the jBeacon code onto your page (the only requirement is jQuery)

<script type="text/javascript" src="jquery.jBeacon.js"></script>

Next, you need to tell jBeacon your account settings (most likely in your document ready function)

    account: "your_account_name"

If you don't specify a token, most browsers will prompt you to authenticate (after which your api calls will work for the browsing session). However, if you'd prefer bypassing authentication by specifying a token, be sure that it is a read only token. Pass the token in to the settings, as follows:

    account: "your_account_name",
    token: "your_token"

Once you've initialized jBeacon with your account name, you can access the api functions. So for instance, to list all the projects for this account you would write:

$.jBeacon.listProjects(function(json) {
    //Do Something Here, Projects are passed into json

More information regarding the api is available here: http://lighthouseapp.com/api/introduction, but basically each object has three functions available: list, get, and get new. So for Tickets we have:

listTickets(project_id, callback)

getTicket(project_id, ticket_number, callback) 

getNewTicket(project_id, callback)


If you encounter problems dealing with the json you get back, a helpful debug function to use in coordination with firebug is console.dir

So for instance, you could write:

$.jBeacon.getNewProject(function(json) {

And then examine the resulting json in the console.

Reasons for Using jBeacon

jBeacon provides a simple interface allowing you to write a little less code each time you talk to the Lighthouse API.

Having your app use Ajax to hit the API is faster and provides a better user experience (less page reloads).

Furthermore, using a direct cross-site ajax approach (as is implemented here) as opposed to a server-side intermediary is much faster (cutting page requests in half as a server-side intermediary will have to use something like curl to then access the api from the server).