var owner = "scriptcs"; var repo = "scriptcs"; var milestone = "v0.10"; var labels = new Dictionary{ { "feature", "New" }, { "bug", "Fixed" } }; var username = "adamralph"; var oAuthToken = "secret"; var client = Require().CreateWithOAuth("ScriptCs.ReleaseNotesScript", username, oAuthToken); var issues = client.Issue.GetForRepository(owner, repo, new RepositoryIssueRequest { State = ItemState.Closed, }).Result; foreach (var issue in issues .Where(issue => issue.Milestone != null && issue.Milestone.Title == milestone && issue.Labels.Any(label => labels.Keys.Contains(label.Name))) .Select(issue => new { Number = issue.Number, Title = issue.Title, Label = issue.Labels.First(label => labels.Keys.Contains(label.Name)) }) .OrderBy(issue => issue.Label.Name)) { Console.WriteLine("**{0}:** {1} - #{2}", labels[issue.Label.Name], issue.Title, issue.Number); }