Beispiel #1
0
        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());
        }