August 15th, 2012 by Ben McCormack
Take Control of FogBugz
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.
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.
- FogBugz XML API Documentation – Official documentation
- FogBugz XML API Developers Wiki – An introduction to the XML API using easy-to-understand examples in Python.
- An API Tutorial Plus Excel 2007 Export… Plus Zombies! – A blog post showing how to use the XML API with Excel for real-time reports.
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.
Ideal for: Visual customizations, user interface tweaks
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
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.