Building an Integration with Visual Studio Team Services API

Visual Studio's Team Service is widely-used for teams to organize work items and source code management. This course will teach you how to integrate Visual Studio's Team Service within your custom tools and web applications utilizing its REST API.
Course info
Level
Intermediate
Updated
Jul 7, 2017
Duration
8h 59m
Table of contents
Course Overview
Getting Started
Exploring the REST API
Accessing the REST API
Refreshing the REST API
Applying Access to Accounts
Working with Projects
Working with Teams
Interacting with TFS Version Control
Interacting with Git Version Control
Tracking Work Tasks
Test Management
Description
Course info
Level
Intermediate
Updated
Jul 7, 2017
Duration
8h 59m
Description

Visual Studio Team Service and even Team Foundation Server on premise provide a great deal of features and capabilities out of the box. In this course, Building an Integration with Visual Studio Team Services API, it is very advantageous for you to be able to integrate Visual Studio Team Services features and capabilities directly into your own development team's custom tools and web applications. You will learn how to authenticate with Visual Studio Team Service's API using basic authentication and OAuth 2.0. You will be able to use the rich API provided by Microsoft for Visual Studio Team Service and even Team Foundation server to expand your team's software development life cycle by accessing and updating team, project, and source code metadata kept within Visual Studio Team Services. When you are finished with this course, you will have constructed an API integration framework utilizing Asp.Net MVC that your team can use to directly interact with teams and projects, work items, source code management of both Git and Team Foundation Version Control (TFVC), and test management.

About the author
About the author

Patrick Neborg is a Solution Architect for Aon. Patrick has been developing software solutions for over 20 years. Today, he focuses on Cloud Solutions.

More from the author
Deploying an Application on AWS
Beginner
2h 33m
Jun 6, 2019
More courses by Patrick Neborg
Section Introduction Transcripts
Section Introduction Transcripts

Course Overview
Hi everyone. My name is Patrick Neborg, and welcome to my course on Building an Integration with Visual Studio Team Services API. I'm a senior architect at Software, creator of the best non-profit donor management system known as Donor Perfect. Visual Studio Team Services is widely used across development teams to successfully manage their projects and source code collaboratively making it an ideal platform to integrate directly with our own custom tools and applications through its API. In this course, we're going to learn how to build an integration with Visual Studio Team Services API for custom tools and processes that can be used by your development teams to work with Visual Studio Team Services. Some of the major topics that we'll include are OAuth 2. 0 authentication to securely allow your team members to access their own accounts with Visual Studio team services accessing and updating teams and projects, interacting with work items and test management services, and integrating with Git and Team foundation version control repositories. By the end of this course, you'll know how to create your own Visual Studio Team Services API framework to build your own custom tools and processes for your development and project teams. Before beginning the course, you should be familiar with Visual Studio Team Services or Team Foundation Server common features, as well as ASP. NET MVC. From here, you should feel comfortable diving into consuming REST-based API's with courses on Visual Studio Team Services, Team Foundation Server, ASP. NET MVC, or OAuth 2. 0. I hope you'll join me on this journey to learn about this REST API with building an integration with Visual Studio Team Services API course, at Pluralsight.

Getting Started
Hello. This is Patrick Neborg and welcome to my course on building integrations with Visual Studio Team Services API. In this course we will look to build practical solutions to access data contained within Visual Team Services source code repositories and work items. At the end of this course you will have a working foundation to build your own tools and integrations with Visual Studio Team Services through practical examples of using Visual Studio Team Services rest API. To build effective custom tools and solutions for our teams that are utilizing Visual Studio Team Services we need to understand what functionality is available within Visual Studio Team Services API. And in this course we will take a tour of Visual Studio Team Services API's Capabilities and provide working examples that you can adapt to meet your own development team needs. At this point you might be thinking What about my on-premise team foundation server or TFS? Will this Visual Studio Team Services API work with TFS on-premise? The short answer is yes. For almost all functions that we highlight in this course provided that you're using TFS 2015 or greater. For the few API capabilities that do no apply for TFS we will point them out as we go along throughout this course. Let's get started with an introduction to setting up a new Visual Studio Team Services environment and then an overview of the simple integreation application that we will use throughout this course.

Exploring the REST API
Hi. This is Patrick Neborg from Pluralsight, and in this module, we'll take a look at Visual Studio Team Services REST API that Microsoft has provided for you and I to build our own custom integration tools and solutions. This is a foundational module that will open the door to how to access Visual Studio Team Services, formerly known as Visual Studio Online. As we know, Visual Studio Team Services is Microsoft's cloud-based offering for Team Foundation Server that provides source code and work item management tools that can be integrated with a number of IDEs including Visual Studio itself. So in this module, we're going to set up a base to allow you to build tools and solutions that integrate within Visual Studio Team Services. We begin building our base by looking at how to gain access into Visual Studio Team Services projects that we've set up online. Before we can do any action through the REST API into Visual Studio Team Services, we'll need to provide a scope of permissions that our application will utilize. So we'll walk through how this is done within the API. And since this API is an ongoing project at Microsoft, they'll be times when new features and functionality is released that requires updates to the API, so we'll take a look at how our application can be built to accommodate the current API version, as well as future preview release versions.

Accessing the REST API
Hi. This is Patrick Neborg from Pluralsight, and in this module, we'll take a look at how we can access Visual Studio Team Services REST API through OAuth 2. 0. From our previous module, we mentioned that the access to Visual Studio Team Services using OAuth 2. 0 is a preferred approach because it allows our users of our application to grant access to their team service environment without exposing our user's credentials to our application. So this provides our users with a revocable and secured trust between our web application and their Team Services environment using Visual Studio Team Services REST API. So let's begin by adding OAuth 2. 0 functionality into our application.

Refreshing the REST API
Welcome back. In this module, we're going to pick up from the coding we implemented earlier to obtain an access and refresh token and look to store a user's access and refresh token as a claim within their user account in our web application. By implementing this claim, we'll be able to address an issue resulting for multiple authorizations as a user integrates with our application within their Visual Studio Team Services environment.

Working with Projects
Hello. In this module, we'll take a look at how to integrate with Visual Studio Team Services project and project details using the REST API. We'll extend the code base from what we constructed in the previous module so that we can focus squarely on Visual Studio Team Services API calls for projects. By the end of this module, you will be able to build integration tools to not only read projects and its details from Visual Studio Team Services, but you'll be able to update a project's name and description within the application and save that directly to Visual Studio Team Services through its API calls. In the previous module, we focused on Visual Studio Team Services account object, and in this module, we'll dive deeper to focus on projects and the capabilities defined for a project that exist under Team Services account. So the integration path that we're undertaking is a hierarchical continuation that's drilling deeper under our Team Services account level. The common tasks that we're going to examine in this module are a call to get a list of projects using the selected account mechanism that we built in the previous module, then we'll retrieve additional details for the project including the project setup capabilities, and we'll finish up by adding a feature that will allow us to update a project's name and description saving those changes back to Visual Studio Team Services through the API.

Working with Teams
Hello. In this module, we'll take a look at how to integrate with Visual Studio Team Services teams and team members using the REST API. We'll extend the code base that we constructed in the previous module so that you can focus squarely on Visual Studio Team Services API calls for accessing teams and team members. By the end of this module, you'll be able to build integration tools to connect with team details, as well as obtain a list of team members. In the previous module, we focused on project details under a Visual Studio Team Services account object. In this module, we'll continue to dive deeper by creating an integration to retrieve project team details and team member details that belong to a given team. The common tasks that we're going to examine in this module are a call to retrieve a list of teams and team members that belong to a project, then we'll get a list of team members for a given projects team, and finally, we'll add functionality to rename an existing team's name and update its description.

Interacting with Git Version Control
Hello. In this module we'll take a look at how to integrate with Git version control. Since one of Visual Studio Team Services central functionality is source code management, Microsoft's support to utilize a Git repository is a great opportunity to collaborate with team members using a variety of tools and IDEs. By the end of this module, you'll be able to create your own integration with Visual Studio Team Services Git version control repository's commits, trees, and blobs. This will allow you to build your own integration tools with Visual Studio Team Services Git version control to view versions of source code files as they flow through your STLC process, monitor changes being made by your dev team, and even add or modify files within your team's version control repository. So let's get started.

Test Management
Hello, in this final module, we'll take what we've built so far to integrate with Visual Studio Team Services test planning, test cases, and test run results directly into our application. With the integration details that we'll cover in this module, you'll be able to create your own custom solutions to provide direct monitoring of test plans, as well as test run results within your own application, and where needed, alleviating having to rely on the UI provided by Microsoft to access the area of testing. So let's get started.