Ejemplo n.º 1
0
        public IEnumerable <IssueId> GetIssueIdsByProject(string projectId, IssueId resumeAfterId = null)
        {
            Logger.Debug("Begin JiraCacheApi.GetIssueIds {params}", new { projectIds = projectId.ToOrderedCsv(), resumeAfterId });

            if (IssueListSource.HasFlag(IssueSource.Cache))
            {
                foreach (var issueId in GetIssueIdsFromSource("cache-by-project", _cacheApi.GetIssueIdsByProject(projectId, resumeAfterId)))
                {
                    if (resumeAfterId == null || resumeAfterId < issueId)
                    {
                        resumeAfterId = issueId;
                    }

                    yield return(issueId);
                }
            }

            if (IssueListSource.HasFlag(IssueSource.Jira))
            {
                foreach (var issueId in GetIssueIdsFromSource("jira-by-project", _sourceApi.GetIssueIdsByProject(projectId, resumeAfterId)))
                {
                    yield return(issueId);
                }
            }
        }
Ejemplo n.º 2
0
        internal static IEnumerable <IssueId> GetIssueIds(this IJiraApi jiraApi,
                                                          ProjectFilter projectFilter, out int totalCount, IssueId resumeAfter = null)
        {
            var projects = projectFilter.Projects;

            projects.Sort();
            totalCount = jiraApi.GetTotalIssueCount(projects, resumeAfter).Result;

            return(projects.SelectMany(p => jiraApi.GetIssueIdsByProject(p, resumeAfter)));
        }