public JiraService(IJiraContext jiraContext, IJiraRepository repository) { _jiraContext = jiraContext ?? throw new ArgumentNullException(nameof(jiraContext)); _repository = repository ?? throw new ArgumentNullException(nameof(repository)); InitializeTask = Initialize(); }
public static async Task <IEnumerable <JiraUser> > GetAllUsers(this Atlassian.Jira.Jira jira, IJiraContext jiraContext, CancellationToken token = default) { var url = "rest/api/2/user/assignable/multiProjectSearch"; int startAt = 0; int loaded = 0; var fullResult = new List <JiraUser>(); bool hasMoreData = false; do { var page = await jira.RestClient.ExecuteRequestAsync <IEnumerable <Atlassian.Jira.JiraUser> >( Method.GET, $"{url}?projectKeys={jiraContext.Project}&startAt={startAt}&maxResults={MaxUsersPerRequest}", null, token).ConfigureAwait(false); if (page == null) { break; } var previousCount = fullResult.Count; fullResult.AddRange(page.Select(ToJiraUser)); loaded = fullResult.Count - previousCount; startAt += loaded; } while (loaded >= MaxUsersPerRequest); return(fullResult); }
public JiraRepository(IJiraContext jiraContext) { // RAII _jiraContext = jiraContext; _jira = Atlassian.Jira.Jira.CreateRestClient( jiraContext.Uri, jiraContext.Login, jiraContext.Password); _jira.Issues.MaxIssuesPerRequest = MaxIssuesPerRequest; }
public JiraGraphBuilder(IJiraContext jiraContext, string epicTypeId) { var statusColors = jiraContext.StatusColors; (string, Color)[] map = BuildStatusColorMapForCategoryColorAnalysis(statusColors);