import com.atlassian.jira.component.ComponentAccessor import com.atlassian.jira.issue.ModifiedValue import com.atlassian.jira.issue.util.DefaultIssueChangeHolder import com.atlassian.jira.bc.issue.search.SearchService import com.atlassian.jira.component.ComponentAccessor import com.atlassian.jira.issue.search.SearchException import com.atlassian.jira.web.bean.PagerFilter final Long customFieldName1 = 11121L;//活动开始时间 final Long customFieldName2 = 11600L;//计划开始时间 def customField1 = ComponentAccessor.customFieldManager.getCustomFieldObject(customFieldName1); def customField2 = ComponentAccessor.customFieldManager.getCustomFieldObject(customFieldName2); def jql = " project in (DEMO)" //需要更新那些数据,可以在这里编写JQL def user = ComponentAccessor.getUserManager().getUserByName("admin");//由哪一个来查询和执行 def searchService = ComponentAccessor.getComponentOfType(SearchService) SearchService.ParseResult parseResult = searchService.parseQuery(user, jql) if (parseResult.isValid()) { try { def results = searchService.search(user, parseResult.query, PagerFilter.unlimitedFilter) def issues = results.results issues.each { def hdksDate = it.getCustomFieldValue(customField1);//活动开始时间 def jhksDate = it.getCustomFieldValue(customField2);//计划开始时间 //更新计划开始时间(并不是很推荐此种方法,此种方法不会记录在变更日志中) customField2.updateValue(null, it, new ModifiedValue(jhksDate,hdksDate), new DefaultIssueChangeHolder()) //更新计划开始时间(推荐此种方法,这路方法会记录在变更 日志中,) it.setCustomFieldValue(customField2,hdksDate ); ComponentAccessor.getIssueManager().updateIssue(currUser, it, EventDispatchOption.ISSUE_UPDATED, false); } } catch (SearchException e) { e.printStackTrace() } }
Overview
Content Tools