Page tree
Skip to end of metadata
Go to start of metadata
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()
    }
}

  • No labels