コード例 #1
0
        public void ApprovePendingRelease()
        {
            string projectName      = ClientSampleHelpers.FindAnyProject(this.Context).Name;
            string assignedToFilter = ClientSampleHelpers.GetCurrentUserDisplayName(this.Context);

            // Get a release client instance
            VssConnection     connection     = Context.Connection;
            ReleaseHttpClient releaseClient  = connection.GetClient <ReleaseHttpClient>();
            ReleaseApproval   updateApproval = new ReleaseApproval {
                Status = ApprovalStatus.Approved, Comments = "Good to go!"
            };

            // Get all pending approval to the current user
            IList <ReleaseApproval> releaseApprovalsPage     = releaseClient.GetApprovalsAsync(project: projectName, assignedToFilter: assignedToFilter).Result;
            ReleaseApproval         releaseApprovalToApprove = releaseApprovalsPage.FirstOrDefault();

            if (releaseApprovalToApprove != null)
            {
                ReleaseApproval approval = releaseClient.UpdateReleaseApprovalAsync(project: projectName, approval: updateApproval, approvalId: releaseApprovalToApprove.Id).Result;

                Console.WriteLine("{0} {1}", approval.Id.ToString().PadLeft(6), approval.Status);
            }
        }
コード例 #2
0
        public IEnumerable <ReleaseApproval> ListPendingApprovalsForASpecificUser()
        {
            string projectName      = ClientSampleHelpers.FindAnyProject(this.Context).Name;
            string assignedToFilter = ClientSampleHelpers.GetCurrentUserDisplayName(this.Context);
            // Get a release client instance
            VssConnection      connection    = Context.Connection;
            ReleaseHttpClient2 releaseClient = connection.GetClient <ReleaseHttpClient2>();

            List <ReleaseApproval> releaseApprovals = new List <ReleaseApproval>();

            // Iterate (as needed) to get the full set of approvals
            int  continuationToken = 0;
            bool parseResult;

            do
            {
                IPagedCollection <ReleaseApproval> releaseApprovalsPage = releaseClient.GetApprovalsAsync2(project: projectName, assignedToFilter: assignedToFilter, continuationToken: continuationToken).Result;

                releaseApprovals.AddRange(releaseApprovalsPage);

                int parsedContinuationToken = 0;
                parseResult = int.TryParse(releaseApprovalsPage.ContinuationToken, out parsedContinuationToken);
                if (parseResult)
                {
                    continuationToken = parsedContinuationToken;
                }
            } while ((continuationToken != 0) && parseResult);

            // Show the approvals
            foreach (ReleaseApproval releaseApproval in releaseApprovals)
            {
                Console.WriteLine("{0} {1}", releaseApproval.Id.ToString().PadLeft(6), releaseApproval.Status);
            }

            return(releaseApprovals);
        }