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.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.