 Hi, I'm Jamie Cool, a Group Program Manager with Microsoft's Developer Tools Division. In this video, I'm going to describe what Visual Studio Team Services and Team Foundation Server, or TFS, products can bring to your Java or really any development team. Supporting Microsoft's renewed emphasis on open software development, we continue to expand our Team Services products by adding Java IDE support, specific Java product features and integrations with popular Java tools. We've extended our Git version control, continuous integration, agile planning, testing and deployment tools to better support Java teams. I will describe and demo the high-level benefits of using Team Services, regardless of your programming language, as well as the benefits Java developers can realize through our IDE support, product features, tools and integrations. Finally, I'll mention a few resources you can view to learn more. You can always find more information online at java.visualstudio.com and by following us on Twitter at JavaALM. Let's first look at some high-level benefits of using Team Services for your team's development needs. We provide beneficial features for development groups of all sizes. Starting with larger enterprises, security is always a top concern, as is developer efficiency at scale. Team Services provides enterprise-level security, including two-factor authentication and the ability to restrict and control source code access to those with a need to know and to enforce development policies used by your specific teams. Enterprises with both Java and .NET teams will enjoy the efficiency of using a single development tool stack, including consolidated planning, tracking and reporting. Smaller teams like our competitive pricing and tiered pricing model with the first five developers being free. All teams benefit from our support for Git with an added benefit of Team Services providing free, unlimited private Git repositories for your code. Team Services provides a full suite of integrated planning tools to support Agile, Scrum and Kanban boards with unlimited free stakeholder licenses. Our continuous integration systems support any language and runs on Linux, Mac and Windows through the use of agents written in Node.js and open sourced on GitHub. Freeform Code Search lets you easily find what you're looking for across all repositories. Our conversational code review system enables rich collaboration for distributed and on-site teams. Now let's look at some features that specifically support Java development. In the area of IDE support for Java, Visual Studio Team Services supports the industry-leading Java IDEs, Eclipse and IntelliJ, so Java developers can continue using the tools they prefer. For more than five years we've provided a plugin for Eclipse called Team Explorer Everywhere or TE. It supports Git repositories and provides in IDE work item tracking so you can work with the stories and bugs assigned to you without ever leaving Eclipse. It enables integrated build system support for Team Services and is compatible with older TFS and Eclipse versions. Let's look at a demo. Our IntelliJ plugin supports all versions, Community, Ultimate and Android Studio. It makes it real easy to get your code in and out of Team Services. It supports two-factor authentication for secure access. Let's go ahead and use Android Studio. I want to get a repository out of Team Services. Our plugin is going to enumerate all of the repositories that I have access to on Team Services and I can easily filter down to the one that I'm actually interested in. That will clone it locally and I can open up our IntelliJ project. Because Team Services fully supports Git, all of the built-in tooling inside of IntelliJ for Git just works. Let's go ahead and make a change and go through a normal pull request workflow. Let's do our change in a new branch, which is a pretty typical flow. Let's make a new branch and let's call this dev100. Now the change doesn't really matter what we change. Let's just go ahead and clean up some white space. Now we need to commit this change locally. Actually, I was working on a particular task when I was doing this and this change is going to address it. Let's just say in our commit message that this fixes issue 397. Now I've got my commit locally. What I want to do is get it up to Team Services with a pull request. I can do that with a one-click directly from inside of IntelliJ. Our plugin will let you pick the branch that you're going to target, give it a title, and show you the changes that you're about to send up. Now we'll publish our branch, push our changes, and create our pull request. You can see IntelliJ is telling me I have a pull request, which will take me into our web experience inside of Team Services. We have a full web experience for all of our functionality that you can use from any client to do your work. Here I'm looking at our pull request experience. I can see the discussion that just started. I can see the actual change that went up. We deleted some white space. I can come in and add a comment. We can also see the work item that we associated directly from it. We have full traceability between all of our artifact types. You can also see over here there's a building progress. We have a policy set up on our master branch that requires all changes that are going into the master branch to be built first. When the pull request was created, a build got automatically kicked off. If we go look, we can see that build, and it's already completed. I can see it succeeded. I can also see the link change that we made. I can see the link to work item. Again, you see that full traceability. Now this build is pretty simple. All that it's really doing is calling Gradle to build our Android application. But if you look at the tasks that are available, it's fully extensible from doing our Android build to Java tasks such as Ant, Maven, and Gradle to deployment tasks like Chef or Puppet or Docker to Grunt, Gradle, many different types of tasks. All available open source on GitHub in a growing ecosystem. Team Services also integrates with popular Java industry tools such as Jenkins, Sonar, and many more. We enable customers to integrate Team Services with other external or in-house systems using open REST APIs and OAuth, which provide access to the full set of Team Services capabilities. We also provide the concept of service hooks that enable Team Services to make calls out to other systems and share needed information to provide an integrated overall system. Out of the box, we have integrations for Slack, Trello, Zapier, and HTTP posts to a URL of your choice. With Team Services, you can always use the tool that you need to get your job done. Thank you for letting me share some of our features and integrations, specifically tailored for Java teams. We have several ways for you to learn more and to stay in touch with the latest Java-related announcements. Investigate our Java-focused web documentation at java.visualstudio.com, follow us on Twitter and Facebook at JavaALM, and check out and contribute to our open source IntelliJ and Android Studio plugins on GitHub.