public static List <StorySummary> GetStoryListFromEpic(string jiraUrl, string login, string password, string issueKey) { int startingIndex = 0, finishedIterations = 0, pageSize = 50; bool exitLoop; List <StorySummary> storyList = new List <StorySummary>(); string issueType = "story"; do { //string url = jiraUrl + $@"/rest/api/latest/search?jql=Type%20%3D%20{issueType}%20and%20%22Epic%20Link%22%3D{issueKey}&startAt={startingIndex}"; string url = jiraUrl + $@"/rest/api/latest/search?jql=%22Epic%20Link%22%3D{issueKey}&startAt={startingIndex}"; string serverResponse = JiraWebRequest(url, login, password); ListOfJiraIssues resultList = JsonConvert.DeserializeObject <ListOfJiraIssues>(serverResponse); foreach (var item in resultList.Issues) { StorySummary story = new StorySummary { IssueKey = item?.Key, Summary = item?.Fields?.summary, IssueStatus = item?.Fields?.status?.Name, Resolution = item?.Fields?.resolution?.Name, TimeSpent = item?.Fields?.aggregatetimespent, TimeRemaining = item?.Fields?.aggregatetimeestimate, Assignee = item?.Fields?.assignee?.DisplayName, AssigneeEmail = item?.Fields?.assignee?.EmailAddress }; storyList.Add(story); } startingIndex += pageSize; finishedIterations += 1; exitLoop = CanExitLoop(resultList.Total, finishedIterations); } while (exitLoop == false); return(storyList); }
private static string FormatEmail(StorySummary story, string signature) { StringBuilder mail = new StringBuilder(); mail.AppendLine($"Cześć {story.Assignee}!"); mail.AppendLine($"Jesteś przypisany do taska {story.IssueKey}: {story.Summary}."); mail.AppendLine($"Czy mógłbyś przesłać mi krótki update jak Ci idzie, lub czy potrzebujesz jakiejś pomocy?"); mail.AppendLine("Pozdrawiam,"); mail.AppendLine(signature); return(mail.ToString()); }