static public void GetChangesetWorkItemFromLabel(string tfsCollectionUrl, string personalAccessToken) { Console.WriteLine("Loading Labels Items and associated work items ... "); VssBasicCredential credentials = new VssBasicCredential(string.Empty, personalAccessToken); using (TfsTeamProjectCollection tpc = new TfsTeamProjectCollection(new Uri(tfsCollectionUrl), credentials)) { // Can retrieve SOAP service from TfsTeamProjectCollection instance //VersionControlServer vcServer = tpc.GetService<VersionControlServer>(); //ItemSet itemSet = vcServer.GetItems("$/", RecursionType.OneLevel); //foreach (Item item in itemSet.Items) //{ // Console.WriteLine(item.ServerItem); //} // Can retrieve REST client from same TfsTeamProjectCollection instance TfvcHttpClient tfvcClient = tpc.GetClient <TfvcHttpClient>(); //List<TfvcItem> tfvcItems = tfvcClient.GetItemsAsync("$/", VersionControlRecursionType.OneLevel).Result; //foreach (TfvcItem item in tfvcItems) //{ // Console.WriteLine(item.Path); //} TfvcLabelRequestData tfvcLabelRequestData = new TfvcLabelRequestData(); List <TfvcLabelRef> labelRefs = tfvcClient.GetLabelsAsync(tfvcLabelRequestData).Result; foreach (TfvcLabelRef item in labelRefs) { Console.WriteLine("Label Id: " + item.Id + "\tName: " + item.Name + "\t Modified:" + item.ModifiedDate); TfvcLabel tfvcLabel = tfvcClient.GetLabelAsync(item.Id.ToString(), tfvcLabelRequestData).Result; List <TfvcItem> labelItems = tfvcClient.GetLabelItemsAsync(item.Id.ToString()).Result; foreach (TfvcItem vcItem in labelItems) { Console.WriteLine("\tItem:" + vcItem.Path + "\t ChangesetVersion: " + vcItem.ChangesetVersion); List <AssociatedWorkItem> changesetWorkItems = tfvcClient.GetChangesetWorkItemsAsync(vcItem.ChangesetVersion).Result; foreach (AssociatedWorkItem assItem in changesetWorkItems) { Console.WriteLine("\t\t Associated WorkItem Id: " + assItem.Id + "\t Title: " + assItem.Title); } } } } Console.ReadLine(); }