Automatically update test plan with build number, take 2

A while back I wrote a PowerShell script to automatically update a test plan with the latest build number (http://blogs.msmvps.com/molausson/2014/09/16/automatically-update-test-plan-with-build-number).

This script works well as long as the build server has permission to read and update test plans. But in some environments (such as when running on a hosted build agent in VSO) we need to do an explicit authentication. The solution I’ve choosen is to simply pass in credentials to the script and do an authentication before using the TFS API.

The script now takes two optional parameters if you want to authenticate, username and password, and you can just pass them in from the build definition.  You can use ether basic authentication and pass both or use the safer option and pass a Personal Access Token (PAT) in which case you only pass the PAT as the password.

Here’s an example where you go to manage your credentials in Visual Studio Online. First go to your profile:

SNAGHTML24a3df50

From the Security tab you can either create a Personal Access Token:

image

Press Add to create an access token:

image

Copy the PAT (it cannot be retrieved later):

image

If you want to use basic authentication go to the Alternate authentication section and fill in the secondary username and password:

SNAGHTML24a711cb

With this you are ready to use the script. Download the latest version from here: https://github.com/tfsbuildextensions/CustomActivities/blob/master/Source/Scripts/UpdateTestPlanBuildNumber.ps1

Check in the script to Source control and update a Xaml build definition to use the script. In the following example I’ve used a PAT and only pass the token as the password:

SNAGHTML249f9df5

Check out the old post if you want a step-by-step instruction on how to setup the build and test plan.

Leave a Reply

Your email address will not be published. Required fields are marked *