Why use Zapier?
Microsoft’s Visual Studio Online, initially branded as Team Foundation Service or “TFS in the cloud”, has evolved into a fully-fledged hosted ALM service. And with the addition of VSO service hooks, first released in May of 2014, Visual Studio Online can integrate with other cloud-based services as well.
For now however, service hooks are still in beta and the list of direct integrations is fairly sparse (14 services in total). Anything outside of those supported services requires some additional work. This lack of straightforward integration could scare away some teams/developers from using the platform, as it inhibits a decoupled, “right tool for the job” ALM/DevOps toolchain. In order to easily integrate with most cloud services, some form of intermediary integration platform must handle the connection.
Zapier, a web application integration service, does just that. While by no means taking the place of a robust IPAAS, Zapier is quite capable of communicating updated work items, build statuses, and commits to other services with relative ease. What’s more, Zapier can also give disparate cloud services the ability to trigger builds and add/update work items within VSO. Setting up the integrations between different services, or “Zaps”, is dead simple.
Use Case: Posting Build Statuses to a Private Slack Room
Requires an existing VSO account and Slack account, as well as a team project with build definitions in VSO.
1.) Create a Zapier Account (if you haven’t already)
2.) Navigate to the Dashboard and select “Make a New Zap”
3.) You should now be in the editor. Select “Visual Studio Online” from the Trigger App dropdown.
6.) From the “Choose an Action” dropdown, select “Send Message”.
7.) You will be asked to provide Zapier with authorization to use your VSO account on your behalf, if you haven’t already done so. Slack authorization will be requested in the same manner.
8.) Select Your Team Project and Build Definition to trigger on.
10.) Name your Zap and click “Turn Zap on”
Now any time a new build is kicked off, a message will appear in your Slack channel. Possible ties between these two services don’t have to end there. With an additional Zap defined, builds can be triggered from team channels. Messages including “#Bug” could create a new bug in the backlog.
By bringing in additional services, the possibilities become innumerous. Mirror your VSO work items on a Trello board. Post any New Relic alerts to your VSO Team Channel and an additional Yammer group. Automate deployment notification and change log emails. That being said, there are some drawbacks to Zapier of which new users should be made aware.
• Zapier is not free: While the free plan will likely be enough to get you started, anything beyond 150 Tasks (Zap triggers) each month will require a paid subscription. Paid tiers range from Basic with $20/month and 3,000 Tasks to Infrastructure at $125/month and 50,000 Tasks.
• Zaps can be restrictive: Zapier allows non-technical users to quickly create integrations between disparate cloud services. This may prove to be ideal for most project managers, but those who are willing to get their hands dirty may find greater flexibility and performance rolling their own integration solution.
• Zap History leaves something to be desired: Zapier displays recently completed tasks, but no robust logging is made available to the user.
• Zapier offers no self-hosting option: Reliance on yet another cloud service to integrate all other cloud services may have some users feeling a bit squeamish.
• bip.io: A relatively new offering in the cloud service integration space, bip.io distinguishes itself by being entirely open source and providing both freemium hosted and self-hosted options. Integration with VSO requires some additional plugins.
• Roll your own: Building a basic cloud integration service is easier than it sounds. In a future blog post, I’d like to walk through a simple solution in ASP.NET/C#.
For project managers looking to get the most out of Visual Studio Online and integrate with other cloud-services, Zapier provides powerful, straightforward interconnectivity.