Take Control of FogBugz

August 15th, 2012 by Ben McCormack

If you’ve been using FogBugz for a while, you’ve probably mastered filtering and searching, you resolve your cases like a boss, and you even have time left at the end of the day to make a nice outline of work for an upcoming feature.

So, how can you take your use of FogBugz to the next level? Customize it!

We built FogBugz for developers, so we weren’t shy about adding multiple ways to customize FogBugz. Let’s put on our Mr. Rodgers sneakers and comfy cardigan, and take a little look.

XML API

The FogBugz XML API provides a way for external services to interact with FogBugz. For example, you might write a script that randomly assigns “Up for Grabs” cases to different members of your support team. For even more power, you could combine your use of the XML API with the URLTrigger plugin, which will fire a web hook to your service and allow you to respond to events in FogBugz in near real-time. Want to receive a text message when a priority 1 case is created? Use the URLTrigger plugin to be notified of the event, then use the XML API to note in the case that a text message was sent.

Ideal for: Quick & malleable FogBugz hacks; scripts.

Additional Resources:

FogBugz Plugin API

If you want your customization to live inside FogBugz, consider writing a plugin. There are already quite a few publicly-available plugins in the plugin gallery, but you can also write your own using any .NET language. A common use case for writing a plugin is when you want to integrate with an existing customer database, perhaps a CRM system.

Ideal for: Tightly-integrated solutions that justify increased upfront development time.

Additional Resources:

BugMonkey Customization

Ever heard of Greasemonkey? BugMonkey is the same thing, allowing you to add custom JavaScript and CSS to FogBugz, except that your customizations live inside FogBugz. Have you ever tried embedding a Google Calendar or Google Doc in a FogBugz Wiki? FogBugz won’t let you. However, you can get around that with a simple BugMonkey customization for either Google Calendar or Google Docs.

Ideal for: Visual customizations, user interface tweaks

Additional Resources:

Source Code Modification

Woah! Yes, it’s true that if you run FogBugz on your own servers, you have access to the source code. However, if you modify the FogBugz source code, your installation may be in a position where we can no longer support it.

Now that we’ve gotten that out of the way, why would want to modify the source code? Most likely, you wouldn’t. Between the XML API, FogBugz Plugin API, and BugMonkey customizations, you should have more than enough at your disposal to mold FogBugz to your heart’s content. That being said, there are times when FogBugz doesn’t quite work the way you want, and modifying the source code is the only option, like if FogBugz’s LDAP code doesn’t work with your LDAP configuration, you might tweak the source code to get it to function correctly.

If you do decide to modify the source code, please contact us first to make sure that your installation can continue to be supported.

Ideal for: Necessary changes that can’t be fixed by other methods

Additional Resources:

Now that you see your various options to change and customize FogBugz, you can put together a custom solution that will benefit your team. Even at Fog Creek, where we have full access to the source code, unless it’s something that needs to ship we build  little tools to do the job. We’ve made several plugins, multiple scripts against the XML API, and tons of BugMonkey customizations to tweak FogBugz to our liking. We encourage you to do the same, and if you have any questions, feel free to contact us for help.