Programmers can make a number of changes to DoneDone issues directly from their version control tools (Cornerstone, Versions, Tower, command line, etc.), provided their repositories are hosted at one of the above services.
We follow the same general conventions other issue tracking services have followed in the past in that you’ll be using some simple syntax in your commit messages, the contents of which are sent over to DoneDone via webhook by the respective service.
Log into your Beanstalk account, navigate to the repository you want to integrate with, and select Setup › Integration › Web Hooks. For the URL, enter your DoneDone project's integration URL which is located on the SVN & Git Integration page of your respective DoneDone project.
Once integrated, Beanstalk will post data to DoneDone each time you commit something to your SVN repo or each time you push something to your Git repo. If you're interested in a bit more help, there’s a good article on the subject over at www.BeanstalkApp.com.
To integrate with your Github repository, you'll need to add a post-receive URL to the Service Hooks settings of any repository at GitHub. They've got some pretty simple instructions for how to do this up at http://help.github.com/post-receive-hooks. Your post-receive URL is the integration URL located on the SVN & Git Integration page of your respective DoneDone project.
Regardless of whether you’re using Beanstalk (svn or git) or GitHub, when your repository receives a commit or a push from a developer, it will send a message describing what happened to DoneDone. This message, in essence, is a formatted comment included in your push/commit. The syntax DoneDone expects to see is as follows:
Your general commit comments would go here. This will be inserted as
a comment in DoneDone for the issues you specify below.
[#ISSUE_NUMBER tags:"QUOTED,LIST,OF,COMMA,SEPARATED,TAGS"]
[#ISSUE_NUMBER reassign:VALID_EMAIL@OF.DONEDONE.USER]
[#ISSUE_NUMBER status:VALID_STATUS]
If you want to include several edits in a single action, it would look something like this:
[#ISSUE_NUMBER status:VALID_STATUS tags:"QUOTED,LIST,OF,COMMA,SEPARATED,TAGS" reassign:VALID_EMAIL@OF.DONEDONE.USER]
Each action tag must begin with a pound sign (#) followed by a valid issue number after which at least one ( and up to all three) of the following actions (case-sensitive):
The status action, if provided, changes the status of the issue and valid values for this key are as follows (case-insensitive):
The tags action, if provided, must be a comma separated list of tags wrapped in quotes.
The reassign action, if provided, must be the valid email address of a person on the DoneDone project to whom you wish to reassign the issue.
You can add a total of 10 of actions in a commit (for SVN) or push (for Git). If you provide more than 10, only the first 10 will be processed. This is an arbitrary number in place to prevent overuse while we ensure the service is in healthy shape under normal usage.
It’s also important to mention that DoneDone maps users via their email address, so the email address you use with Github or Beanstalk needs to match the email address of your DoneDone account.
Example A
I fixed the weird glitch with the font that happens in IE7 and IE8.
I also fixed a javascript bug. Lastly, I stubbed in an image for the
new graphic we want to use so that the designer can create a new one.
[#19 status:Fixed tags:"ui"] [#20 status:Fixed tags:"javascript"]
[#23 reassign:designer@wearemammoth.com tags:"graphics,ui"
status:In Progress]
Result:
In DoneDone, this will mark issues #19 and #20 as Fixed and add the tags "ui" and "javascript" Issue #23 will be reassigned to designer@wearemammoth.com, the tags "graphics" and "ui" will be added, and the status will be set to In Progress. The comment describing the changes to these issues will be "I fixed the weird glitch with the font that happens in IE7 and IE8. I also fixed a javascript bug. Lastly, I stubbed in an image for the new graphic we want to use so that the designer can create a new one."
Example B
Sped up the issue detail page by 10%.
[#22]
Result:
In DoneDone, the only thing that’ll happen is the comment "Sped up the issue detail page by 10%" will be added to issue #22.