It has been a busy two days here at Build 2015 in San Francisco. Lots of announcements by Microsoft overall, and lots of great stuff for developers (across all platforms). Oh, and if you didn’t feel a little giddy after seeing the HoloLens demo, you should definitely check your pulse.
I want to cover some of the integration and extensibility related features that were announced for Visual Studio Online (VSO) and Team Foundation Server (TFS). Everything we are doing in this space is about enabling teams to weave together the right set of tools and services to create a perfectly (or nearly perfect) development environment. We know teams use a lot of different tools to develop and deliver software --- we want you to be able to use whatever tools you want with VSO and TFS.
For additional TFS/VSO announcements, check out Brian Harry’s blog post from Build 2015.
Extensions for Visual Studio Online
One of the big announcements made this year was the early preview of a new extensibility model for Visual Studio Online: extensions. This new model enables you to build integrations directly within VSO (and eventually TFS), creating first-class, seamless connections between different tools and services. One of the main areas where we expect people to integrate is within our web experience. Many of the integration points we have enabled so far are in the web. For example, you can now extend many of our context menus and toolbars with your own actions, or add your new hub right next to ours.
This feature is currently in private preview, but you can get early access by joining the Visual Studio Partners program. Joining the program is free and will give you other benefits like announcements about new features.
To help give you a better sense of what is possible, we built and open sourced a Team Calendar extension at GitHub. This extension extends the team Home area and provides a calendar showing important dates (sprint boundaries, days off, and more) for the team. Teams can also add and categorize their own events:
Other samples are available as well, including one that shows you all of the places you can extend today. Check out the vso-extension-samples repo at GitHub.
This is just the first step, but we are excited by what we are already seeing from our partners. To learn more, visit http://www.visualstudio.com/integrate/extensions/overview.
REST APIs in TFS 2015 RC
If you’ve been following our announcements about Visual Studio Online over the last 12 months, you already know that we’ve been doing a lot to enable third-party developers and partners to integrate with VSO from any platform, technology, or device. This is enabled through a new set of of JSON-based REST APIs. We now have REST APIs for accessing work items, checking build status, and more. The general availability of the 1.0 APIs happened at TechEd Europe last October. Since the 1.0 release, we have been busily working on the 2.0 APIs (which are currently in preview).
The TFS 2015 release candidate is the first go-live release to surface REST APIs. What’s really cool is that you can call the same APIs on both TFS and VSO, making it easy to build apps that target both environments. To see the APIs, see the API reference: http://www.visualstudio.com/integrate/api/overview
Service hooks also available in TFS 2015 RC
The service hooks preview for Visual Studio Online was announced last year, and was made generally available in October. Service hooks lets you integrate with services like Slack, Trello, Azure Service Bus, Kato, Jenkins, and many more --- quickly and efficiently. When you check in code, open a work item, initiate a pull request, and more, a notification is sent immediately to another service. Using a collaboration service like Slack, your team can be informed when important events happen in TFS (or VSO) and other tools and services your team uses.
One note: not all of the 15+ services available in Visual Studio Online are available in TFS due to the fact these services have custom configuration experiences initiated from these services. For example, UserVoice (a service we use to track community feedback), is only currently supported on VSO. We are hoping to bring more of these services to TFS.
To learn more about service hooks in general, see https://www.visualstudio.com/get-started/integrate/integrating-with-service-hooks-vs
Try out the VSO REST APIs in the MSDN API Sandbox
To help you get started with using the REST APIs for Visual Studio Online, you can now easily access and run C# code samples via the MSDN API Sandbox. This service, currently in preview, makes calls to a real account on Visual Studio Online. You can change the code, run, and see your code in action.
By default, the sandbox connects to a demo account, but you can modify the sample, supply your own auth token, and access data on your own accounts.
A sample OAuth token generator app is available at https://vsoalmoauthtest.azurewebsites.net/ (source is available at vsooauthclientsample on CodePlex). This demo app issues you an access token that you can substitute for the “{token}” string in the code samples. Note: this token expires after 15 minutes.
Hope you get a chance to try out some of these features. As always, we look forward to your feedback.
Will Smythe
Program Manager, Extensibility for Visual Studio Online / Team Foundation Server