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(); }
public async Task <List <VSTSChangeset> > GetLastestChangesetAsync(int skip, int top) { List <VSTSChangeset> Changesets = new List <VSTSChangeset>(); TfvcHttpClient vsClient = Conn.GetClient <TfvcHttpClient>(); List <TfvcChangesetRef> ChangesetRefs = await vsClient.GetChangesetsAsync(UserSetting.TFSProjectName, null, true, true, null, true, skip, top); //TfvcChangeset Changeset = await vsClient.GetChangesetAsync(ChangesetRefs[0].ChangesetId, null, true, true, null, true); foreach (TfvcChangesetRef changesetRef in ChangesetRefs) { List <AssociatedWorkItem> workItems = await vsClient.GetChangesetWorkItemsAsync(changesetRef.ChangesetId); string WorkItemDisplayValue = ""; foreach (var workitem in workItems) { WorkItemDisplayValue += workitem.Id + " - " + workitem.Title + "\n"; } if (WorkItemDisplayValue.Length > 2) { WorkItemDisplayValue = WorkItemDisplayValue.Substring(0, WorkItemDisplayValue.Length - 2); } Changesets.Add(new VSTSChangeset() { ChangesetId = changesetRef.ChangesetId, Author = changesetRef.Author.DisplayName, CheckedInBy = changesetRef.CheckedInBy.DisplayName, Comment = changesetRef.Comment, CreatedDate = changesetRef.CreatedDate, Url = changesetRef.Url, WorkItem = WorkItemDisplayValue, Workitems = workItems }); } return(Changesets); }