Hi,
this is for info to the community: We had to set a customfield "StartTime" of type "Date Time" automatically in a postfunction via script (groovy) with the current time.
Here is the complete code. It includes a hack to share the code to be used as a postfunction and developed with Script Runner webinterface (https://jira/secure/admin/groovy/GroovyRunner.jspa) - some additional debugging code included:
import org.apache.log4j.Category import com.atlassian.jira.ComponentManager import com.atlassian.jira.issue.ModifiedValue import com.atlassian.jira.issue.util.DefaultIssueChangeHolder log = Category.getInstance(env="post-set-starttime.groovy") // env="SR" if used within Script Runner webinterface // log.warn "begin" // issue is provided by environment when used as a postfunction if (env == "SR") issue = componentManager.getIssueManager().getIssueObject(97328) // log.warn "issue "+issue.getKey() cfm = componentManager.getCustomFieldManager() ch = new DefaultIssueChangeHolder(); cfo = cfm.getCustomFieldObjects(issue).find {it.name == 'StartTime'} cfv = issue.getCustomFieldValue(cfo) if (! cfv) { t0 = new java.sql.Timestamp(System.currentTimeMillis()) log.warn "StartTime => '"+t0.toString()+"'" if (env == "SR") { // Script Runner code mv = new ModifiedValue(cfo, t0) ch = new DefaultIssueChangeHolder() cfo.updateValue(null, issue, mv, ch) } else { // postfunction code issue.setCustomFieldValue(cfo, t0) issue.store() } } else { log.warn "StartTime == '"+cfv.toString()+"'" } // log.warn "end"
What is 97328 in getIssueObject(97328)?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
'env' is set to "SR" if we test our scripts on example data and in this case the issue with the id 97328 was our example issue.
Normally this script works as a postfunction. In this case there is no 'env' variable defined and 'issue=...' is not executed, the object issue is defined by groovy environment.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.