public static List <JiraDataModel> GetAllClosedJiras(JiraDataModel searchData) { var list = new List <JiraDataModel>(); // create a connection to JIRA var jira = Jira.CreateRestClient(jiraURL, jiraUserName, jiraPassword); jira.MaxIssuesPerRequest = jiraRequestLimit; // try catch becuase if jiraKey is invalid, it throws exception try { IEnumerable <Atlassian.Jira.Issue> issues; issues = (from i in jira.Issues select i); issues = (from i in issues where i.Status.Name == "Closed" select i); foreach (var issue in issues.ToList()) { list.Add(MapFromJiraIssueToModel(issue)); } } catch { } return(list); }
private static JiraDataModel MapFromJiraIssueToModel(Issue issue) { JiraDataModel data = null; if (issue != null) { data = new JiraDataModel(); data.Title = issue.Summary; data.Description = issue.Description; data.WorkTicket = issue.Key.Value; data.Project = issue.Project; data.CreatedDate = issue.Created; data.UpdatedDate = issue.Updated; data.DueDate = issue.DueDate; data.Assignee = issue.Assignee; data.Status = issue.Status.Name; data.Priority = issue.Priority.Name; //data.PersonId=issue.p //data.Type = issue.Type.Name; } return(data); }
public static List <JiraDataModel> GetSelectiveJiras(JiraDataModel searchData) { var list = new List <JiraDataModel>(); // create a connection to JIRA var jira = Jira.CreateRestClient(jiraURL, jiraUserName, jiraPassword); jira.MaxIssuesPerRequest = jiraRequestLimit; // try catch becuase if jiraKey is invalid, it throws exception try { IEnumerable <Atlassian.Jira.Issue> issues; issues = (from i in jira.Issues select i); if (!string.IsNullOrEmpty(searchData.Assignee)) { issues = (from i in issues where i.Assignee.ToString() == searchData.Assignee.ToLower() select i); } if (!string.IsNullOrEmpty(searchData.Priority)) { issues = (from i in issues where i.Priority.Name == searchData.Priority select i); } if (!string.IsNullOrEmpty(searchData.Project)) { issues = issues.Where(i => i.Project == searchData.Project); } if (!string.IsNullOrEmpty(searchData.Status)) { issues = (from i in issues where i.Status.Name == searchData.Status select i); } if (searchData.FromUpdatedDate != null) { issues = (from i in issues where i.Updated >= searchData.FromUpdatedDate select i); } if (searchData.ToUpdatedDate != null) { issues = (from i in issues where i.Updated <= searchData.ToUpdatedDate select i); } foreach (var issue in issues.ToList()) { list.Add(MapFromJiraIssueToModel(issue)); } } catch { } return(list); }
private void GetJiraData() { contentHolder.Controls.Clear(); var jiraData = new JiraDataModel(); if (drpPersons.SelectedValue != "-1") { jiraData.Assignee = drpPersons.SelectedValue; } if (drpPriority.SelectedValue != "-1") { jiraData.Priority = drpPriority.SelectedValue; } if (drpProject.SelectedValue != "-1") { jiraData.Project = drpProject.SelectedValue; } if (drpStatus.SelectedValue != "-1") { jiraData.Status = drpStatus.SelectedValue; } jiraData.FromUpdatedDate = oDateRange.FromDate; jiraData.ToUpdatedDate = oDateRange.ToDate; //var jiraList = new List<JiraDataModel>(); var jiraList = JiraDataManager.GetSelectiveJiras(jiraData); var distinctPersons = (from row in jiraList select row.Assignee) .Distinct(StringComparer.CurrentCultureIgnoreCase).ToList(); var distinctProjects = (from row in jiraList select row.Project.Trim()) .Distinct(StringComparer.CurrentCultureIgnoreCase).ToList(); gridViewJira.DataSource = jiraList; gridViewJira.DataBind(); gridViewJira.AutoGenerateColumns = true; }
public static JiraDataModel GetDetails(string jiraKey) { JiraDataModel result = null; if (jiraKey != "N/A") { // create a connection to JIRA var jira = Jira.CreateRestClient(jiraURL, jiraUserName, jiraPassword); // try catch becuase if jiraKey is invalid, it throws exception try { var issue = (from i in jira.Issues where i.Key == jiraKey select i).First(); result = MapFromJiraIssueToModel(issue); } catch { } } return(result); }
private void GetJiraData() { contentHolder.Controls.Clear(); var jiraData = new JiraDataModel(); if (drpPersons.SelectedValue != "-1") { jiraData.Assignee = drpPersons.SelectedValue; } jiraData.FromUpdatedDate = oDateRange.FromDate; jiraData.ToUpdatedDate = oDateRange.ToDate; var jiraList = JiraDataManager.GetResolvedJiras(jiraData); var distinctPersons = (from row in jiraList select row.Assignee) .Distinct(StringComparer.CurrentCultureIgnoreCase).ToList(); var distinctProjects = (from row in jiraList select row.Project.Trim()) .Distinct(StringComparer.CurrentCultureIgnoreCase).ToList(); if (jiraList.Count > 0) { ResultTimePeriod = string.Empty; if (oDateRange.FromDate != null) { ResultTimePeriod = " From " + oDateRange.FromDate.Value.ToString(SessionVariables.UserDateFormat); } else { ResultTimePeriod = " From " + jiraList.OrderBy(x => x.UpdatedDate).First().UpdatedDate.Value.ToString(SessionVariables.UserDateFormat); } if (oDateRange.ToDate != null) { ResultTimePeriod += " Upto " + oDateRange.ToDate.Value.ToString(SessionVariables.UserDateFormat); } else { ResultTimePeriod += " Upto " + jiraList.OrderBy(x => x.UpdatedDate).Last().UpdatedDate.Value.ToString(SessionVariables.UserDateFormat); } } var tableElement = new HtmlGenericControl("table"); tableElement.Attributes["class"] = "table table-bordered"; ResolvedJiraHtmlTable = new StringBuilder(); // prepare html string ResolvedJiraHtmlTable.AppendLine("<table class='table table-bordered'>"); AddHeaderRow(distinctPersons, tableElement); foreach (var project in distinctProjects) { AddDetailRow(project, distinctPersons, jiraList, tableElement); } AddAggeregateRow(distinctPersons, jiraList, tableElement); ResolvedJiraHtmlTable.AppendLine("</table>"); contentHolder.Controls.Add(tableElement); }
public static List <JiraDataModel> GetClosedJiras(JiraDataModel searchData, int month = 0, int year = 0) { var list = new List <JiraDataModel>(); // create a connection to JIRA var jira = Jira.CreateRestClient(jiraURL, jiraUserName, jiraPassword); jira.MaxIssuesPerRequest = jiraRequestLimit; // try catch becuase if jiraKey is invalid, it throws exception try { IEnumerable <Atlassian.Jira.Issue> issues; issues = (from i in jira.Issues select i); if (!string.IsNullOrEmpty(searchData.Assignee)) { issues = (from i in issues where i.Assignee.ToString() == searchData.Assignee.ToLower() select i); } if (!string.IsNullOrEmpty(searchData.Project)) { issues = issues.Where(i => i.Project == searchData.Project); } if (searchData.FromUpdatedDate != null) { issues = (from i in issues where i.Updated >= searchData.FromUpdatedDate select i); } if (searchData.ToUpdatedDate != null) { issues = (from i in issues where i.Updated <= searchData.ToUpdatedDate select i); } issues = (from i in issues where i.Status.Name == "Closed" select i); if (month == 0 && year == 0 && searchData.ToUpdatedDate == null && searchData.FromUpdatedDate == null) { issues = (from i in issues where i.Updated.Value.Month == DateTime.Now.Month && i.Updated.Value.Year == DateTime.Now.Year select i); } else { if (month != 0) { issues = (from i in issues where i.Updated.Value.Month == month select i); } if (year != 0) { issues = (from i in issues where i.Updated.Value.Month == month && i.Updated.Value.Year == year select i); } } foreach (var issue in issues.ToList()) { list.Add(MapFromJiraIssueToModel(issue)); } } catch { } return(list); }