Last Friday we released Git and Subversion integration for two fantastic version control services, GitHub and Beanstalk. What this means is that programmers can make a number of changes to DoneDone issues directly from their version control tools (Cornerstone, Tortoise, 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.
While we’re cooking up more formal documentation for both services, we wanted to get some preliminary instructions for getting DoneDone speaking version-controlese.
What you can do
- Change an issue’s status
- Change an issue’s Fixer
- Add a comment to an issue
- Add tags to an issue
Information you need to get started
- Your DoneDone API key – This is located on your own Profile page (screenshot)
- Your DoneDone URL – You’ll find this, eh hmm, in your browser’s address bar provided you have DoneDone open.n (screenshot)
- A DoneDone project’s ID – This is the number right after the *.com/ if you’re on a project’s landing page. (screenshot)
Why don’t we put this info on the Project Settings page? Good idea. It’ll be up this Friday, January 27th
Setting up Beanstalk
First, log into your Beanstalk account, navigate to the repository you want to integrate with a DoneDone project, and select Setup > Integration > Web Hooks. For the URL, enter the URL tied to your DoneDone project’s integration endpoint. For Beanstalk, it looks like this:
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.
Setting up GitHub
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/. As for providing a URL endpoint for DoneDone, you’ll need to create something as follows:
Creating your message to DoneDone
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):
- Ready For Next Release
- In Progress
- Not An Issue
- Not Reproducible
- Missing Information
- Pushed Back
- Ready For Retest
- Fix Not Confirmed
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.
A note on limits
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.
Sped up the issue detail page by 10%. [#22]
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.
This should get the party started for now. We’ll be working on the experience a bit, by adding some preformed URL endpoints under the Project Settings page in DoneDone. Hopefully, the good fellas over at Beanstalk will help get DoneDone-specific updates refined on their end of things.
If you’ve got any questions or issues, please holler. Either here in comments or via www.getdonedone.com/support if it’s urgent. Otherwise, enjoy, and happy committing.