Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

Custom listener - events fired on

Drishti Maharaj
Contributor
August 16, 2022

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

1 answer

1 accepted

1 vote
Answer accepted
Jack Brickey
Community Champion
August 16, 2022

Suggest an answer

Log in or Sign up to answer