Friday, 30 May 2014

Experiment on Limit AssignedTo field of WIT to Team Members

A question in MSDN Forum lead me to do some experiments on restricting AssignedTo field of a work item to Team Members.

Here are some notes

1. I created team project CustomizeTest
2. This created default team "CustomizeTest"
3. I tried modifying Bug WIT template AssignedTo field

<ALLOWEDVALUES expanditems="true" filteritems="excludegroups">
    <LISTITEM value="[project]\CustomizeTest" />
  </ALLOWEDVALUES>

TFS template was not imported. Error
Error importing work item type definition:
TF26204: The account you entered is not recognized. Contact your Team Foundation Server administrator to add your account.
4. Created a new team "Team1" and tried with

<ALLOWEDVALUES expanditems="true" filteritems="excludegroups">
    <LISTITEM value="[project]\Team1" />
  </ALLOWEDVALUES>

Wow it works fine.
5. So where did I go wrong.... Got it... The default team of team project "CustomizeTest" is created as "CustomizeTest Team"

<ALLOWEDVALUES expanditems="true" filteritems="excludegroups">
    <LISTITEM value="[project]\CustomizeTest Team" />
  </ALLOWEDVALUES>

Works fine.
OK That is that and it works...BUT

Another experiment notes

1. I assigned one member to my Team1
2. Customized Bug WIT AssignedTo field to have

<ALLOWEDVALUES expanditems="true" filteritems="excludegroups">
    <LISTITEM value="[project]\Team1" />
  </ALLOWEDVALUES>

3. Went into Team project CustomizeTest\Team1 and tried creating Bug. Assigned To field drop down have only one member. yeah I am happy.
4. Went into root team project CutomizeTest (CustomizeTest Team) Create Bug. AssignedTo field only has that one member in Team1. Ok it should be since I have made it to work like that.  (my CutomizeTest Team has 3 Members but I can assign a bug in this team only to one member of the Team1, looks like I made some bad customization)
5. I created another Team "Team2" with 2 members.  and modified my Bug WIT AssignedTo field to have

<ALLOWEDVALUES expanditems="true" filteritems="excludegroups">
    <LISTITEM value="[project]\Team2" />
  </ALLOWEDVALUES>

Now when I go into "CustomizeTest Team", "Team1" and "Team2". Create a bug I can assign it to only to the two members of the "Team2".
6. I changed my Bug WIT AssignedTo field to

<ALLOWEDVALUES expanditems="true" filteritems="excludegroups">
    <LISTITEM value="[project]\Contributors" />
  </ALLOWEDVALUES>

and I added teams "CustomizeTest Team", "Team1" and "Team2" as members of [project]\Contributors.
This lists all members from the three teams in my AssignedTo field regardless of the team I am in.
Think all above my experiments will help someone in some way.

If there is  a way to say <LISTITEM value="[project]\<TheCurrentTeam>" /> which would be wonderful to have I think.






































Wednesday, 28 May 2014

Resolve Windows Installer Runs Continuously in TFS Lab Environment Machine - Windows 2012 - SQL 2012 SP1

Today I came across some strange error when a lab environment machine CUIT was run. This Coded UI Test supposed to launch a installsheild setup to install a n application (I was testing a Installer built with InstallSheild using Coded UI Tests).

My test was repeatedly failing with the InstallSheild  setup cannot run due to "Another installation is running" error message.



Task Manager showing a Windows Installer is running.

  



Reboot the server still no good after few minutes the windows installer starts and running continuously. I tried let it run couple of hours to finish what it was doing, and it was keep on running.

Started search in WWW and after about half an hour came across this question and answer.

As the answer confirmed the issue was with SQL 2012 SP1 . I downloaded and installed Non Security Update for SQL Server 2012 SP1 (KB2793634) and finally the issue resolved. No more continuously running windows installer and all are good, I could run my CUIT to test the InstallSheild setup.

Saturday, 17 May 2014

Setup TFS 2013 Email Via Gmail

This is my first video tutorial. In this short video tutorial I have explained how to setup Team Foundation Server to send email alerts via Gmail account using smtp.gmail.com.




Await for lot more... on TFS & VS "How to Use"

Tuesday, 13 May 2014

Resolve TFS Integration Platform Conflict - TFS WIT bypass-rule submission is enabled. However, the migration service account 'Chaminda Chandrasekara' is not in the Service Accounts Group on server

I have experienced the error below while trying to migrate work items from a TFS team Project to another team project using TFS Integration Tools.

  

Microsoft.TeamFoundation.Migration.Tfs2010WitAdapter.PermissionException: TFS WIT bypass-rule submission is enabled. However, the migration service account 'Chaminda Chandrasekara' is not in the Service Accounts Group on server 'http://tfsserver:8080/tfs/sandbox'.
   at Microsoft.TeamFoundation.Migration.Tfs2010WitAdapter.VersionSpecificUtils.CheckBypassRulePermission(TfsTeamProjectCollection tfs)
   at Microsoft.TeamFoundation.Migration.Tfs2010WitAdapter.TfsCore.CheckBypassRulePermission()
   at Microsoft.TeamFoundation.Migration.Tfs2010WitAdapter.TfsWITMigrationProvider.InitializeTfsClient()
   at Microsoft.TeamFoundation.Migration.Tfs2010WitAdapter.TfsWITMigrationProvider.InitializeClient()
   at Microsoft.TeamFoundation.Migration.Toolkit.MigrationEngine.Initialize(Int32 sessionRunId)

The fix was so simple thanks to  Chev Bryan's blog post here.

I just executed below command in VS 2012 Developer Command Prompt to add the account executing migration to Team Foundation Service Accounts.

tfssecurity /g+ "Team Foundation Service Accounts" n:domain\username ALLOW /server:http://tfsserver:8080/tfs


Need "Edit Collection Level Information" to execute above command.



The migration was successful