public static async Task CreateSprint(string?profile) { var service = await ProfileHelpers.GetJiraSprintService(profile); if (service is null) { Console.WriteLine("Can't find default profile"); return; } var sprint = await ConsoleI.RenderForm <TerminalJiraSprint>(); if (sprint is null) { Console.WriteLine("Sprint is invalid"); return; } var success = service .CreateSprint(sprint); if (success) { Console.WriteLine($"Created sprint {sprint.Name}"); } else { Console.WriteLine($"Sprint with name [{sprint.Name}] already exists"); } }
private static async Task BuildReport( string?reportName, IEnumerable <string>?param, string?sprint, string?profile ) { var report = await TerminalReportHandler .GetReportByName(reportName); if (report is null) { Console.WriteLine("Can´t find report " + reportName ?? ""); return; } var paramsData = BuildParams(param); var jiraSprint = await GetSprint(profile, sprint); var client = await ProfileHelpers.GetJiraClient(profile); if (client is null) { Console.WriteLine("Can't load jira service, check default profile is valid"); return; } await report.PrintReport(client, jiraSprint, paramsData); }
private static async Task <IJiraSprint?> GetSprint(string?profile, string?sprint) { var sprintService = await ProfileHelpers.GetJiraSprintService(profile); return(sprintService?.GetSprintByName(sprint ?? "") ?? sprintService?.GetActiveSprint()); }
private static async Task ExecuteJql(string jql, string?profile) { var client = await ProfileHelpers.GetJiraClient(profile); if (client is null) { Console.WriteLine("Profile not found!"); return; } var res = await client.IssueClient.Jql <object>(jql, new { Summary = "" }); res.Match(s => Handle(s), () => Console.WriteLine("JQL didn't return results")); }
private static async Task ListSprints(string?profile) { var service = await ProfileHelpers.GetJiraSprintService(profile); if (service is null) { Console.WriteLine("Can't find default profile"); return; } var activeSprint = service.GetActiveSprint(); service.GetSprints() .OrderByDescending(e => e.Start).ToList() .ForEach(s => PrintSprint(s, activeSprint)); }
private static async Task DeleteSprint(string profile) { var service = await ProfileHelpers.GetJiraSprintService(profile); IEnumerable <IJiraSprint> sprintList = service?.GetSprints() ?? new List <JiraSprint>(); if (sprintList.Count() == 0) { Console.WriteLine("Can't find any sprint to delete"); return; } var toDelete = await ConsoleI.Select(sprintList, sprintList.Count()); var deleted = toDelete.Select( s => service?.DeleteSprint(s.Name) ?? false) .Select(t => t ? 1 : 0) .Sum(); Console.WriteLine($"Deleted {deleted} entries"); }