hedgehog lab

Sarat Pediredla

Django Middleware for fixx

by Sarat Pediredla

We are no strangers to hacking at stuff here in the lab and we love building useful tools and add-ons using our own APIs. In that long running tradition, I wanted to announce a little pet project I started a few days ago.

fixx Django Middleware (I know it's original) is the aptly named middleware app for people who run Django sites/applications. It provides an exception handler in the middleware that allows you to log exceptions that occur in your Django instance directly to your fixx instance encouraging pro-active problem solving than waiting for visitors to report bugs in your Django site/app.

The middleware component does required fixx 1.8+ to work with. You can grab a copy of the code which is licensed under the BSD license and is free for you to modify.

Why not take a look at some of these other API-enabled tools/add-ons for fixx we are working on and even see if you can contribute?

Happy hacking!

Sarat Pediredla

Mercurial integration with fixx

by Sarat Pediredla

Since it seems that it is Source Control week at the Lab, with the Subversion post commit hook and Git post commit hook released by Damian in the past few days, I decided to add Mercurial integration for fixx.

The script is a post commit hook for Mercurial and works on the same concepts as the Subversion and Git scripts. Grab the script here.

Damian Nicholson

Git Integration with fixx

by Damian Nicholson

I decided that since I’m quite familiar with git, that it shouldn’t take too long to adapt the previous Subversion to fixx hook script to play nicely with git. You can find it here

The instructions for using this script to post your commit logs/messages to fixx are very much the same as that highlighted in the previous article. Just make sure to place this in the .git/hooks/post-commit of your repository and your good to go(after chmod’ing it ofcourse).

Next on the list – mercurial integration, so watch this space…

Damian Nicholson

Subversion Integration with fixx

by Damian Nicholson

Since publishing the fixx api in January, we have received a number of requests for source control integration. As a result I’ve gone ahead and created a nice script to get the ball rolling on this front, to be ran as part of the post commit hook. A post commit hook is a script that is ran after checking in some new code to your SCM repository. Lifted directly from the svnbook itself:

Most people use this hook to send out descriptive emails about the commit or to notify some other tool (such as an issue tracker) that a commit has happened.

This opens up the opportunity for us to latch onto the post commit hook whenever we commit new code into our repository, and feed the recently changed knowledge into fixx using our api. This has a number of advantages, as it means that fixing bugs and your SCM system are no longer disjointed processes.

I bet you’ve done the equivalent of this before svn commit -m ''. Well now that commit message gets logged in fixx for everyone to see. Therefore it’s worth getting into the good practice of inputting descriptive commit messages.

If you think about regression bugs this is also ideal as you can see all the files that were changed/added in originally “fixing” that issue. This is just one of many reasons consolidating your SCM with fixx has value and is beneficial to your workflow.

Here at hedgehog lab we primarily use Subversion as our source control system for most projects, and this script in particular is tailored to work with Subversion through the magic that is svnlook. But I’m confident that this can be easily adapted to fit whatever SCM your currently using.

Note: For this script to work properly the only prerequisites are that you have a copy of fixx running, and both Subversion and Ruby installed.

Basically the script looks for the issue id, prefixed by a hashtag as part of the commit message in order to log the changes in this revision in fixx.

So if I committed some CSS changes to improve the rendering of fixx, my commit could go something like this:

svn commit -m '#12 Dashboard CSS Tweaks'

A new comment would be created under issue 12, with the following content.

	Commited by: Damian Nicholson
	Commit message: Dashboard CSS Tweaks
	Files changed:
	U style.css
	

Just to point out that the #issueId can be placed anywhere in the commit message, though if one is not present, it won’t be logged in fixx.

Since we want to bridge the gap between SCM and fixx completely, we have also roadmapped in new api functionality, so other options will be able to be supplied with the commit message to create, resolve and close issues in fixx sometime in the near future.

Instructions on how to go about using the script can be found within the script itself, which you can find here so enjoy!

Damian Nicholson

fixx track - Time Logging Widget

by Damian Nicholson

With the release of fixx 1.6 we also published a basic REST API so you tech heads can create mashups to interface with fixx for your bug tracking needs. To get the ball rolling, Mark decided to go ahead and create a time-tracking widget using Adobe Air.

What's really nifty about Adobe Air is that it's completely cross platform, so whatever flavour of Operating System your currently rolling with, Marks widget will work fine with it.

fixx-track

Since we're all about Open-Source here at the lab, that's exactly what we decided to do with it, as "fixx-track" can be downloaded here, so give it a try for yourself...I'm sure you'll be impressed! Alternatively, go one better and extend it to meet your workflows.

time logging

Just to make clear this isn't an official release from hedgehog lab, as you can read Mark's experiences creating fixx track on his blog. It's more an opportunity to stress the cool things you can do with our fixx API, and we hope that this release will create some motivation for the programmers out there, to see the potential behind this opportunity. We'll even showcase your work on our site if we think it's good! Why don't you download a copy of fixx to play about with our uber API to see what you're made of.

Damian Nicholson

Testuff is a new test management suite that integrates with fixx

by Damian Nicholson

We at hedgehog lab love testing, infact our flagship bug tracking product, is geared toward tracking those bugs and delivering better software.

Well now there is an awesome test management suite on the block called testuff, which executes manual software tests and reports the flaws found in these tests. To boot testuff can output these results directly into fixx and other bug trackers!

From their site,

Testuff is an on-demand service for managing and executing manual software tests and for reporting defects. It is a test management suite that includes management for various test stuff: cases, runs, defects and more.

What's unique about testuff is the ability to attach video footage of each test and attach it to bug reports in order to quickly replicate and highlight the problem within your software to developers. Isn't that cool!

Give it a whirl yourself - testuff.

Damian Nicholson

[fixx release] fixx 1.6 released

by Damian Nicholson

Yay! It's finally here. I am excited to report that we have just released fixx 1.6, which has some exciting features that you have been requesting. The highlights of this release are,

  • The REST API is finally here. It is limited but a great start. You can access the documentation for the API by upgrading to 1.6 and going to /api.jsp in your fixx installation. If you would like to see specific functionality in the API please request it.
  • We now fully support Microsoft SQL Server 2000 and 2005. Find out how to install fixx on SQL Server.
  • The iPhone interface now allows you to log time.
  • We have made some major performance improvements on the Dashboard and Projects screens. More performance improvements on the way.

Since 1.6 involves a significant upgrade to your database, please make sure you back-up your existing fixx installation before you attempt to upgrade.

Grab a copy or read the release notes.

Simon Scarfe

[fixx hacks] The Upcoming API

by Simon Scarfe

We, here at the lab, appreciate the value of letting the user hack out their own solutions to problems that they may have stumbled upon that don't fit our vision. There's barely a day goes by that you won't hear Mark suggest a rubbish new feature, get instantly shot down, and then insist that he'll write a Greasemonkey script for that functionality anyway.

With this in mind, the fixx team have always maintained that there will be a fixx API, so that developers may adapt fixx to meet their bug tracking needs. While still in relatively early stages, that API is coming together and you can check out the progress in the beta by going to any issues screen and appending .xml or .json to the URI (/issues.json, for example). This was still mostly unusable (unless you want to jump through some pretty hefty hoops), until recently when Sarat committed a change to allow basic HTTP authentication. This change is not available to the masses yet, however, to show off its potential usefulness, I've put together a quick shell one-liner to get the number of issues assigned to me:

curl -u user:password http://SERVER/issues.xml?qAssignedTo=19 | xmlstarlet sel -t -v "count(//issue)"

Which when fed into conky, an ace Linux desktop text rendering app, leaves you with a widget that looks a bit like this:

screenshot of conky in action

Useless? yes. Limited? Of course. But if this divvy can use it, you won't have any trouble whatsoever.

Craig Tweedy

Hooking up to fixx with Git and post-commit hooks in python

by Craig Tweedy

Here at hedgehog lab, we love to tinker with our API's, mashing them with other services and technologies, however, as hard working chums always committed to the job, we rarely have the time to do such things.

This is why we love it when our customers play about with our API's and create some great services. Recently, Radosław Szalski created an awesome Git post-commit hook in python, using our API. The project is published up to Gist for anyone to use as they see fit.

Radosław had this to say:

" Ever since I started using GIT and Fixx was searching for a way to even further streamline my workflow. Unfortunately most of the hooks I've found were only posting comments to issues. Why stop there, when Fixx's API has so much more to offer ?

I love robustness and automation, so I created something that suited my needs. I chose Python, because I wanted to learn it for a long time. The API itself, thanks to RESTful architecture, is extremely easy to use.

As for the future, I am considering adding support for timelogs. That's the only feature I am thinking of - I don't want to make it too complicated. As I am actively learning the language, I will probably upgrade it with some of the Pythonic goodness."

Head on over to Gist to checkout the project!

Have you had any experience with our API's? Let us know! We'd love to hear about what you've done with them!