private async void GetIssuesAsync() { this._parent.StartLoading(); string jql = JqlBuilder.Build(this.SprintList.ToArray(), this.IsAssignedToMe, this.IsUnassigned, this.PriorityList.ToArray(), this.StatusList.ToArray(), this.ProjectList.ToArray(), this.SearchText); this.issueTask = this._issueService.GetAllIssuesByJqlAsync(0, jql); try { var issueList = await issueTask as IssueListPaged; this.IssueList.Clear(); foreach (Issue i in issueList.Issues) { this.IssueList.Add(i); } CheckTotalNumberOfActiveLoadings(); HideErrorMessages(this._parent); } catch (JiraException ex) { ShowErrorMessages(ex, this._parent); } }
public async Task <List <JiraIssueDto> > GetIssues(List <IssueState> issueState, List <IssueState> notIssueState, string issueAssignee, params int[] sprints) { int startAt = 0; IssuesResultDto pageResult = null; List <JiraIssueDto> results = new List <JiraIssueDto>(); do { string jql = JqlBuilder.New() .Sprints(sprints) .If(!string.IsNullOrEmpty(issueAssignee), x => x.And().Assignee(issueAssignee)) .If(issueState != null && issueState.Any(), x => x.And().StatusIn(issueState)) .If(notIssueState != null && notIssueState.Any(), x => x.And().StatusNotIn(notIssueState)) .Ampersand() .Fields("summary") .Ampersand() .StartAt(startAt) .ToString(); HttpResponseMessage message = await _httpClient.GetAsync($"jira/rest/api/2/search?{jql}"); pageResult = await message.Content.ReadAsAsync <IssuesResultDto>(); results.AddRange(pageResult.Issues); startAt = startAt + pageResult.Issues.Length; }while (startAt < pageResult.Total); return(results); }
public void TestSearchIssues() { var jsb = new JqlSearchBean(); var builder = new JqlBuilder(); var jql = builder.AddCondition(EField.Project, EOperator.EQUALS, "DEMO") .And().AddCondition(EField.Status, EOperator.EQUALS, Constants.StatusInProgress) .OrderBy(SortOrder.Asc, EField.Created); jsb.Jql = jql; jsb.AddField(EField.IssueKey, EField.Status, EField.Due, EField.Summary, EField.IssueType, EField.Priority, EField.Updated, EField.Transitions); jsb.AddExpand(EField.Transitions); var result = RestClient.SearchClient.SearchIssues(jsb); result.Should().NotBeNull(); }