import com.atlassian.jira.bc.issue.search.SearchService; import com.atlassian.jira.component.ComponentAccessor; import com.atlassian.jira.config.properties.ApplicationProperties; import com.atlassian.jira.event.type.EventDispatchOption; import com.atlassian.jira.issue.CustomFieldManager; import com.atlassian.jira.issue.Issue; import com.atlassian.jira.issue.IssueManager; import com.atlassian.jira.issue.MutableIssue; import com.atlassian.jira.issue.fields.CustomField; import com.atlassian.jira.issue.link.IssueLink; import com.atlassian.jira.issue.search.SearchException; import com.atlassian.jira.issue.search.SearchResults; import com.atlassian.jira.issue.worklog.Worklog; import com.atlassian.jira.project.version.Version; import com.atlassian.jira.user.ApplicationUser; import com.atlassian.jira.web.bean.PagerFilter; import com.atlassian.query.Query; import java.sql.Timestamp; import java.util.*; List<Issue> issueList = new ArrayList<>(); ApplicationUser user = ComponentAccessor.getUserManager().getUserByName("admin"); try { IssueManager issueManager =ComponentAccessor.getIssueManager(); SearchService searchService = ComponentAccessor.getComponentOfType(SearchService.class); SearchService.ParseResult parseResult = searchService.parseQuery(user, "resolutiondate is not EMPTY "); if (!parseResult.isValid()) { // return issueList; } Query query = parseResult.getQuery(); SearchResults searchResults = searchService.search(user, query, PagerFilter.getUnlimitedFilter()); issueList = searchResults.getResults(); for (int i = 0; i < issueList.size(); i++) { log.debug("########## update "+i); MutableIssue mutableIssue = issueManager.getIssueObject(issueList.get(i).getId()); mutableIssue.setResolutionDate(new Timestamp(mutableIssue.getResolutionDate().getTime()-100*24*50*60*1000)); issueManager.updateIssue(user,mutableIssue, EventDispatchOption.DO_NOT_DISPATCH,false); } } catch (SearchException e) { e.printStackTrace(); }
Overview
Content Tools