TeamSupport.com offers integration with BeanStalk, a hosted SVN source repository.
Once configured, when a new version is “committed” to BeanStalk, the tickets which that version addresses will have a new action associated with them that shows the version of software the ticket was addressed in, and a link to view the actual changes in code which happened in that version (note that you will have to have a BeanStalk account to view the code).
Codes in the Description Field
When you do a source commit, that information is sent from BeanStalk to TeamSupport. TeamSupport then parses the commit “description” text looking for certain keywords. The three keywords currently supported are “Tickets:”, “Version:” and “Status:”.
The Tickets keyword is used to associate the code changes to a specific ticket within TeamSupport. The Status keyword lets you change the status of the tickets, and the Version keyword allows TeamSupport to associate the commit to a specific version.
The Tickets keyword looks like this:
Note the square brackets and the colon. Multiple tickets can be associated with a given commit, and in this example there are three. Each ticket needs to be separated by a comma.
A Status keyword looks like this:
[Status:In QA, Closed, Needs Work]
A Status keyword can either have a single status which is applied to all tickets identified in the tickets command, or multiple statuses with each status relating to a particular ticket number. In this case, the status of QA would be applied to ticket 342, Closed to ticket 345, and Needs Work to ticket 123.
A version keyword should look like:
Note the square brackets and the colon. In this case the version is “1.2a1” and will be associated with the commit.
There is no configuration needed for TeamSupport, but there is a little on the BeanStalk side. Assuming you have a BeanStalk account and have already set up a repository, you will need to go to that repository’s setup.
From the dashboard when you log into BeanStalk, click on Repositories, then the Repository you want to configure, then click on the “Setup” tab, then on the integration link.
On the left hand side, click on “Web Hooks”. There will most likely be a message which says “Integration with Web hooks is disabled”. Click the “Activate” button right below this message.
You will then get a screen which asks you to specify the URL, or WebHook, you want to use.
The webhook you enter should look something like this:
What do each of these mean?
This is the URL of the service which communicates with BeanStalk. Whenever code is committed to BeanStalk, they send a message (called a “WebHook”) to this address and we process it.
This is your company’s organization ID within TeamSupport. You can find it in the My Account page and is typically a 4 to 5 digit number.
Each different repository in BeanStalk needs to be associated with a Product in TeamSupport. Each specific product in TeamSupport has a unique ProductID that goes with it. You can find this by going to Reports and selecting the “Product List”. This will list all of your products and their ProductIDs.
This field is optional, but when implemented is highly useful. This is the link to the Repository in BeanStalk which houses this product, and will allow you to click on a hyperlink in an action within the ticket to view the source code in BeanStalk.
Typically the repository location will look something like:
- CCCC will be your company name that you login to BeanStalk with. For example, if you go to “mycompany.beanstalkapp.com” to get to your repository, then use “mycompany” here.
- PPPP is your product name In BeanStalk.
The easiest way to get the value for RepositoryLocation is simply to go to BeanStalk and click on a repository “changeset”. Copy the URL, minus the number at the end, and past that at the end of your webhook URL.
Please note that the trailing slash (“/”) should be included.
Once you have entered the WebHook, click “Confirm”, then review the WebHook and press the “Activate!” button.
If all went well, when you commit a new version of your code (and include tags in the description as detailed above) you will get actions added to the tickets. If something wasn’t set up correctly, the main contact for the BeanStalk repository will get an e-mail saying that the integration failed. Check the WebHook, and if it looks good then just give us a call.
Need more help with this?