Issue Tracker Integration
From: Roger Lipscombe <rogerl_at_1e.com>
Date: 2008-01-02 13:40:30 CET
(Posting this here, rather than on users@, because I'm actually willing to do some of the work...)
We're currently using the bugtraq: stuff to enter ticket numbers in our commits. Our current issue tracker doesn't have an API (we're looking at replacing it with one that does), but I've played with Trac's post-commit hook stuff, and it all works brilliantly.
However, we've got a requirement that completes the circle. We'd like to enhance the TortoiseSVN commit dialog so that it can present the user with a list of their assigned tickets. Selecting the appropriate ticket would copy the relevant information into the commit dialog, along with the ticket number. The post-commit hook would then go back to the issue tracker to annotate/close the bug.
I've had a quick poke around in the source code (I've not got it building yet, though; still have to install NAnt), and it looks like I'd need to change TortoiseProc. I'd like to implement this in a relatively generic way, so that we can contribute the changes back, rather than have to maintain separate patches to TortoiseSVN.
What I'm thinking is this:
Instead of a label/text box for the ticket number, present the user with a button or hyperlink that pops up another dialog. This dialog is defined by an inproc COM object that implements a defined interface. This COM object is responsible for talking to the issue tracker, and displaying all of the necessary UI. When the user has selected the relevant issue(s), the COM interface returns a string which is put into the commit message text box, for further editing.
The COM object would be associated with the project by having a new "bugtraq:clsid" or "bugtraq:clsid" property, in the same way as you might use the "bugtraq:url" property. It would be passed the other bugtraq properties (or even all of the properties, including "inherited" ones). There would hopefully be enough information in these to identify the project in the issue tracker.
So, my question: Has anyone done any other thinking about this? Is my idea sound, or does anyone have a better idea?
If I get at least some positive encouragement, I'll encourage my boss to allocate me some official time to work on this.
1E can save a company with 10,000 PCs over $165,000 and 1,381 tons of CO2 emissions per annum. Calculate what you can save with the award winning NightWatchman from 1E. Discover the benefits of System Center solutions for yourself - attend an exclusive 1E Enterprise Solutions Road Show. Visit our website at http://www.1e.com
DISCLAIMER: This is a PRIVATE message. If you are not the intended recipient, please delete without copying and kindly advise us by e-mail of the mistake in delivery. NOTE: Regardless of content, this e-mail shall not operate to bind 1E Ltd to any order or other contract unless pursuant to explicit written agreement or government initiative expressly permitting the use of e-mail for such purpose
This is an archived mail posted to the TortoiseSVN Dev mailing list.