Setting up Visual Studio Online and Hipchat Integration

While searching for a way to add TFS integration to Hipchat, I came across a bunch of posts that were not particularly useful. In my particular case, I was looking to integrate Visual Studio Online's TFS with Hipchat, so using a separate service to manage this integration seemed like unnecessary pain. So, I poked around a little in the Visual Studio Online portal and found that it is indeed quite easy to set this up. Here are the steps I followed, more as a reminder to myself for the next time I want to do this, but hopefully it will help others as well.

First, log in to your hipchat account and go to the home page. If you have already created a room that you want to integrate with, then this is where you will want to be and you can skip to the next paragraph. If you haven't created the room yet, you'll have to do that before you do anything else. And guess what, you can't do that from the group admin home page, so go ahead and launch the web app. Once in the chat app, create the room and go back to the home page.

Now that you have the room with which you want to integrate, from the home page, click on the rooms tab and then click on the room you want to integrate with. Now we need to create a token, so click on the tokens link and create a new token. You'll need this token for the next step.

That is all the setup that is required on the Hipchat side. Let's now log in to Visual Studio Online. Once you are at the home page, select the project you want to integrate with. We want to update the settings for the project, so click on the gear icon on the top right. Now, click on the Service Hooks tab and create a new service hook. Select Hipchat from the service list that comes up and then select the type of trigger you want. At some point you'll get asked for the token you created earlier. Copy that into the Authorization Token field and then finish up whatever else you need to in there. At the end you'll have the option to send a test message to confirm that everything is working.

That's it. No service to install or plugin to configure. I have to say it was much easier than I expected.