Beispiel #1
0
        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();
        }
Beispiel #2
0
        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);
        }