Interface IssueDataService
- All Known Implementing Classes:
IssueDataServiceImpl
public interface IssueDataService
-
Method Summary
Modifier and TypeMethodDescriptioncount(com.atlassian.jira.user.ApplicationUser user, com.atlassian.query.Query query) Counts entities matching query.findIssueIds(com.atlassian.jira.user.ApplicationUser user, com.atlassian.query.Query query) Finds issue ids matching query.getIssueCountPerStatus(com.atlassian.jira.user.ApplicationUser user, com.atlassian.query.Query query) Find the count of issues in a given status.<K> ServiceOutcome<Map<K, Set<Long>>> splitIssueIdsBySubQueries(com.atlassian.jira.user.ApplicationUser user, Set<Long> issues, Map<K, com.atlassian.query.Query> subqueries) Splits provided issue ids by subqueries, each subset is associated with a key from the subqueries map.
-
Method Details
-
count
@Nonnull ServiceOutcome<Long> count(com.atlassian.jira.user.ApplicationUser user, com.atlassian.query.Query query) Counts entities matching query.- Parameters:
user- userquery- query- Returns:
- count entities matching query
-
findIssueIds
@Nonnull ServiceOutcome<Set<Long>> findIssueIds(com.atlassian.jira.user.ApplicationUser user, com.atlassian.query.Query query) Finds issue ids matching query.- Parameters:
user- user whose permissions are used to filter the issuesquery- query to find issues- Returns:
- issue ids
-
splitIssueIdsBySubQueries
@Nonnull <K> ServiceOutcome<Map<K,Set<Long>>> splitIssueIdsBySubQueries(com.atlassian.jira.user.ApplicationUser user, Set<Long> issues, Map<K, com.atlassian.query.Query> subqueries) Splits provided issue ids by subqueries, each subset is associated with a key from the subqueries map. The number of issues returned will be limited by the max result window specified for the used search platform. There's no permission check made in this method, as all issues passed should already be validated. For empty queries (no where clause), all provided issues will be assigned to that query's key, which handles the JIRA_EMPTY_JQL_RETURNS_NO_DATA_ENABLED configuration properly.- Parameters:
user- user used for query purposes (e.g. resolving currentUser())issues- that will be split between swimlanessubqueries- map of queries to split the issues by- Returns:
- issue ids split by keys associated with subqueries
-
getIssueCountPerStatus
@Nonnull ServiceOutcome<Map<String,Long>> getIssueCountPerStatus(com.atlassian.jira.user.ApplicationUser user, com.atlassian.query.Query query) Find the count of issues in a given status.- Parameters:
user- user performing the operationquery- query to find issues- Returns:
- a map where the key is the status ID and the value is the count of issues in a given status
-