Hi,
I want to update a custom field with date and time when an issue is being moved from one project to another.
I tried a code to just update custom field with date. I put it in Script Console and chose Groovy as engine and Ran it. I was able to update the custom field.
But i want to know how to put this into a custom listener for Issue Moved event?
import com.atlassian.jira.ComponentManager
import com.atlassian.jira.ManagerFactory
import com.atlassian.jira.bc.JiraServiceContext
import com.atlassian.jira.event.type.EventDispatchOption
import com.atlassian.jira.bc.JiraServiceContextImpl
import com.atlassian.jira.bc.filter.SearchRequestService
import com.atlassian.jira.config.ConstantsManager
import com.atlassian.jira.config.webwork.actions.*
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.*
import com.atlassian.jira.issue.MutableIssue
import java.sql.Timestamp;
import java.text.*
import com.atlassian.jira.issue.IssueFactory
import com.atlassian.jira.issue.IssueManager
import com.atlassian.jira.issue.ModifiedValue
import com.atlassian.jira.issue.customfields.MultipleSettableCustomFieldType
import com.atlassian.jira.issue.customfields.impl.MultiSelectCFType
import com.atlassian.jira.issue.customfields.impl.MultiUserCFType
import com.atlassian.jira.issue.customfields.impl.SelectCFType
import com.atlassian.jira.issue.customfields.impl.TextCFType
import com.atlassian.jira.issue.customfields.manager.OptionsManager
import com.atlassian.jira.issue.fields.CustomField
import com.atlassian.jira.issue.fields.config.FieldConfig
import com.atlassian.jira.issue.index.IssueIndexManager
import com.atlassian.jira.issue.search.SearchProvider
import com.atlassian.jira.issue.search.SearchRequest
import com.atlassian.jira.issue.search.SearchResults
import com.atlassian.jira.issue.util.DefaultIssueChangeHolder
import com.atlassian.jira.issue.util.IssueChangeHolder
import com.atlassian.jira.security.JiraAuthenticationContext
import com.atlassian.jira.util.BuildUtils
import com.atlassian.jira.util.ErrorCollection
import com.atlassian.jira.util.ImportUtils
import com.atlassian.jira.util.SimpleErrorCollection
import com.atlassian.jira.web.bean.PagerFilter
import com.onresolve.jira.groovy.canned.CannedScript
import com.onresolve.jira.groovy.canned.utils.CannedScriptUtils
import org.apache.log4j.Category
import com.atlassian.crowd.embedded.api.User
import java.util.Date
IssueFactory issueFactory = ComponentManager.getInstance().getIssueFactory()
IssueManager issueManager = ComponentManager.getInstance().getIssueManager()
CustomFieldManager customFieldManager = ComponentManager.getInstance().getCustomFieldManager()
CustomField cf= customFieldManager.getCustomFieldObject("customfield_10595")
final JiraAuthenticationContext authenticationContext = ComponentManager.getInstance().getJiraAuthenticationContext()
User currentUser = authenticationContext.getLoggedInUser()
MutableIssue issue = issueManager.getIssueObject("OKDAC-5259")
String str = "test"
String mydueDate= new SimpleDateFormat("dd/MMM/yyyy HH:mm:ss").format(Calendar.getInstance().getTime());
issue.setCustomFieldValue(cf,(java.lang.Object)mydueDate)
def cfval = issue.getCustomFieldValue(cf)
issueManager.updateIssue(issue.getAssignee(), issue, EventDispatchOption.DO_NOT_DISPATCH, false);
return "Issue Key is: ${issue.key} ... ${cfval}"