Team Project Rename

Renaming of Team Projects is one of the most requested feature on Visual Studio User Voice:

image

Figure 1: Team Project rename suggestion on User Voice

Today, Brian Harry announced new Visual Studio Online Update and it contains this feature, even if it will not be available to everyone at the beginning. For those people that uses TFS on-premise you will have this feature in the upcoming new version: TFS 2015.

I strongly suggests you to have a look at Visual Studio User Voice and give your suggestion, because it is in the radar of Visual Studio Team.

Gian Maria.

Linking VSO with third party tools

One of the most interesting news of VSO in last months are service hooks and REST API to integrate VSO with third party tools. This capability is a key for success because ALM is really a complicated subject and rarely you can manage all of your applications with a single tools.

VSO and TFS are no exception to this rule, they are more a set of suites and tools glued together under a single brand. TFS is composed by a Work Item Store plus Two options for source control (TFVC/Git) plus a Continuous Integration service (Build service) and a Release Management Tool for release, it integrates with SCOM to keep Ops and Devs in contact, plus much more.

But no tool can cover all of the need of every possible user, and VSO solves this problem giving full access to every data through Managed and Java API and now even with a REST interface. In this article I’ll tell you how you can integrate with Trello, a widely used online tool to manage Kanban boards. VSO has support for Kanban, but is still rough and many people around the world are using Trello to manage Kanban Cards. If you like VSO but really prefer using Trello for your Kanban you can follow this guide to link your VSO account to Trello.

Possibilities are infinte, as an example I can configure VSO to create a particular card in trello whenever a PBI is created in my project

image 

Figure 1: Automatic creation of card upon creation of PBI in VSO

If you start adding PBI in VSO

image

Figure 2: Create PBI in VSO account

You will find corresponding card in Trello automatically created.

image

Figure 3: Card are automatically created with a Link to the corresponding PBI

Actually the integration is still rough, because I’ve no way to keep the two synchronized, but the direction is promising.

Gian Maria.

How to connect existing VSO Account to new azure portal

With the new deploy of Visual Studio Online you can link your existing VSO accounts to your azure subscription so they will be available on new Azure portal http://portal.azure.com. You just need to connect to standard management portal (http://manage.windowsazure.com) and then add an existing VSO account to the list of available ones.

image

Figure 1: Use the New button in azure portal to add existing VSO account to new azure portal.

Your account is now connected to your azure account, now you should connect the account to your Azure Directory. This is not an automatic operation, you need to go to account details page and then ask to connect the account to your directory. After some time your account should be connected to Azure Directory

image_thumb8

Figure 2: Your VSO account is now connected to My Default Directory

You should be now able to view your account in new portal http://portal.azure.com

image

Figure 3: My existing VSO account is now available in the new azure portal.

This is an important change for your account, because now all the users are taken from the Default Directory and existing users are not able to access anymore your service until you do not add them to your directory. This step is needed also to be able to connect to VSO with your corporate credentials, if your Azure Directory is synchronized with your Active Directory.

I strongy suggest you to read this fantastic post by Mitch Denny and also some interesting link to better understand how this works.

Gian Maria

How to subscribe to event in Visual Studio Online

I’ve dealt with BisSubscribe.exe in the past when I described how to do automatic deploy of TFS Build when the quality changes. Those article explain how you can build a WebService that listens for notification from TFS and react accordingly. If you are curious if this technique works also for Visual Studio Online, the answer is obviously YES!.

You can reuse the very same code for the previous example, because VSO uses the very same mechanism as TFS on-premise, so you can easily use the same service regardless you want to be notified from on-premise installation (using BisSubscribe.exe) or VSO. You should have your service installed with a public accessible endpoints, because VSO should be able to call it from Azure. For a simple demo I’ve installed the service on an Azure Virtual Machine but you can use also a Azure Web Site or on-premise IIS that is accessible from azure (have a public DNS).

To being notified when a Work Item changes, you should create a simple alert for Work Item changes, but instead of choosing HTML or Plain Text (used to send alert mail) you should choose SOAP. Once you change Format to SOAP you should be able to insert the address of destination service that will receive the notification

SNAGHTMLf286e

Figure 1: Sample notification alert that will send alert information to a custom WCF Service

This is everything you need to setup for notification to work. Clearly you should verify that your service is available.

image

Figure 2: Your service hosted on a public endpoint on azure virtual machine

Now you can simply change a work item in your VSO account, and after a bunch of seconds your service will be notified of the change.

Gian Maria.

Application Insights on Visual Studio Online

Continuous deploy on Test and PreProduction server was always an argument that fascinates me a lot. The ability to have latest version of the code up and Running in a Test environment is a must for every developing team. I’ve wrote some articles in the past on how to obtain such result for Web Sites and TFS.

Now that you are able to automatically deploy a Web Site you need a way to monitor your site to verify what is happening during testing and beta phase. Thanks to Visual Studio Online Application Insights, you can have a lot of information about your application with very little effort. This kind of information are most useful for production server, but they can be really useful even during testing phase.

image

Figure 1: Application Insights in Visual Studio Online

You can have various level of instrumentation, the simplest one is using what is called Unobtrusive Monitoring that give you data without the need of modifying your project. All you need to do is open the application hub and add a new application.

SNAGHTML4ca815

Figure 2: Adding a new application to Application Insights

You should only download Microsoft Monitoring Agent and install on your machines where you deployed your Web Application. The only information that the installer asks you is account id and instrumentation key (these information are contained in VSO setting page). During the installation phase you can choose to instrument all of your applications that resides on local IIS, but I strongly suggest not to use that option and avoiding to start monitoring all applications. 

image

Figure 3: Avoid to automatically start monitoring all web applications.

The reason behind this is: I prefer to control what application to monitor and also I want to give a friendly name to monitored applications, because once configured you cannot change the name. After Monitoring Agents are installed you can simply open Monitoring Agent PowerShell Prompt to configure sites you want to monitor.

image

Figure 4: Open the MMA Powershell Prompt to manually configure monitoring for your applications

If you want to monitor a site called TailSpinToys and have several of them deployed in various Test Web Server, the ability to choose the name of the application is a key point. If you choose to automatically monitor all web applications of local IIS you will end with a single TailSpinToys application with multiple machine monitored. If you choose instead to manually start monitoring applications, you can configure the name of the application. Suppose you are on a machine called WebTest1, you can start monitoring TailspinToys application with this command.

Start-WebApplicationMonitoring "TailspinToys" -Mode Monitor -OutputChannel Cloud -DisplayName "Tailspin Toys on Web Test 1"

Display name is the parameter that permits me to distinguish between applications and constitute the identity of the application in Visual Studio Insight hub. When monitoring is started, you can navigate on the site to generate some data, wait for 5-10 minutes for the server to start analysis and you should be able to see you new application in the application hub.

image

Figure 5: New application is now available in the list of monitored applications

The really good aspect of Application Insights is that you only installed an agent and configured applications with a simple PowerShell command and you start collecting data. The effort is really minimal. In future posts I’ll show you what kind of data you can expect from this type of unobtrusive validation.

Gian Maria.