Extending Visual Studio Online

Since I adopted Visual Studio Online a few weeks ago, I am more and more happy with it. I have also recently adopted a help desk online software called SmarterTrack (from SmarterTools, the same company that provides SmarterMail) to support questions from users of my MZ-Tools family of add-ins. I am now at the point of automating the creation of TFS work items from some help desk tickets (bugs or feature requests). SmarterTrack allows you to include custom menus in the window of a ticket than can make an http get call (although not a http post call with JSON). But I can make an http get call to some page of my server and then make whatever I want once I extract the parameters.

Fortunately Microsoft made Visual Studio Online fully extensible, as recently announced at TechEd North America 2014. There is a new Visual Studio Online Integrate portal with the scenarios that you can use:
  • Calling Visual Studio Online from any other tool through REST APIs with OAuth.
  • Make Visual Studio Online to call any tool when an event happens (without the need of polling).

There is also a lot of 3rd party tools that provide integration with Visual Studio Online, as explained in this TechEd session:

Using Third-Party ALM Solutions along with Visual Studio Online
http://channel9.msdn.com/Events/TechEd/NorthAmerica/2014/DEV-B368

Investigating how to use the REST APIs of Visual Studio Online I found yesterday this upcoming ebook of MVP fellows Jeff Bramwell and Mike Douglas:

TFSVSOExtensibility

Extending Team Foundation Server And Visual Studio Online
http://www.codesmartnothard.com/2014/05/19/ExtendingTFSAndVisualStudioOnlineEBook.aspx

And to buy it:

https://leanpub.com/tfsapibook

Only some chapters are already written but the table of contents is promising and I am sure it will be great:

Part I – The Basics

Chapter 1: Overview of Team Foundation Server
Chapter 2: A History of Team Foundation Server APIs
Chapter 3: A REST Primer

Part II – Using the Team Foundation APIs

Chapter 4: Our First REST API Call
Chapter 5: Work Items
Chapter 6: Team Foundation Version Control
Chapter 7: Git
Chapter 8: Build Definitions
Chapter 9: Builds
Chapter 10: Workspaces
Chapter 11: Team Room Management
Chapter 12: Team Room Activities
Chapter 13: Reporting and Charts
Chapter 14: Projects and Teams
Chapter 15: Service Hooks

Part III – Other Resources

Chapter 16: Using Fiddler
Chapter 17: Using OAuth

Resources

Given the lack of books about Visual Studio Extensibility (add-ins, packages, DSL, etc.) after all these years it is great that a book about Visual Studio Online Extensibility is appearing so early (and so cheap!).