Hi,
I have a custom listener that when a checkbox is ticked, a custom date & time field is updated.
The script works when the event is set to "issue updated", however, within the workflow the checkbox appears as a field on a screen and you transition to the next step of the workflow. If I click the checkbox there, it does not update the custom date & time field.
However, if I click to edit the issue and click the checkbox then, then the custom date & time field is updated accordingly.
I tried the event "CustomFieldUpdatedEvent" but it still won't update the custom date & time field when the checkbox is presented on a screen.
I am not sure if that is the code or a specific event to be fired on?
Code as below:
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.ModifiedValue
import com.atlassian.jira.issue.util.DefaultIssueChangeHolder
import java.sql.Timestamp
Issue issue = issue
def change = event?.getChangeLog()?.getRelated("ChildChangeItem").find {it.field == "Goods Handed Over"}
if (change) {
def cf = ComponentAccessor.getCustomFieldManager().getCustomFieldObjectByName("Goods Handed Over Timestamp")
def changeHolder = new DefaultIssueChangeHolder()
def now = new Timestamp(new Date().getTime())
cf.updateValue(null, issue, new ModifiedValue(issue.getCustomFieldValue(cf), now),changeHolder)
}
Thanks