コード例 #1
0
        public ContentResult Milestone(string id)
        {
            var milestone    = id;
            var closedIssues = new List <GitHubIssue>();

            ServicePointManager.Expect100Continue = true;
            ServicePointManager.SecurityProtocol  = SecurityProtocolType.Tls12;
            WebResponse response = GetResponse("https://api.github.com/repos/DevExpress/AjaxControlToolkit/issues?state=closed");

            while (HasNextPage(response))
            {
                closedIssues.AddRange(GetIssuesPart(response));
                response = GetResponse(GetNextPageUrl(response));
            }
            closedIssues.AddRange(GetIssuesPart(response));

            var invalidIssues = ValidateLabeledIssuesWithoutMilestone(closedIssues);
            var validIssues   = GetMilestoneIssues(closedIssues, milestone);

            var docRenderer  = new GitHubDocRenderer();
            var releaseNotes = new ReleaseNotes(docRenderer);
            var markup       = releaseNotes.BuildReleaseNotes(validIssues.OrderBy(issue => issue.Number), invalidIssues);

            Debug.WriteLine("Issues count: " + releaseNotes.GetIssueCount());

            return(Content(markup));
        }