I want a groovy script to update a custom field (type=date) from another custom field(type=date)

Firdaus Khalil November 20, 2017

requirement is, when we enter a value in field(date), it should automatically update the next custom field with adding 15 days.

i need a groovy script for this. please advise

1 answer

3 votes
Alexey Matveev
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
November 21, 2017
import com.atlassian.jira.component.ComponentAccessor
import java.sql.Date
import java.sql.Timestamp
import com.atlassian.jira.issue.util.DefaultIssueChangeHolder
import com.atlassian.jira.issue.ModifiedValue


def issue = ComponentAccessor.getIssueManager().getIssueByCurrentKey("issuekey")
def csDate1 = ComponentAccessor.getCustomFieldManager().getCustomFieldObjectByName("test_date1")
def csDate2 = ComponentAccessor.getCustomFieldManager().getCustomFieldObjectByName("test_date2")

Timestamp csDate1Value = (Timestamp) issue.getCustomFieldValue(csDate1)
Date csNewDateValue = new Date(csDate1Value.getTime() + 15*24*60*60*1000);
csDate2.updateValue(null, issue, new ModifiedValue("", (Object) csNewDateValue), new DefaultIssueChangeHolder())
Firdaus Khalil November 21, 2017

Thanks a lot, I will try this.

Firdaus Khalil November 21, 2017

Thank you

Alexey Matveev
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
November 21, 2017

15 means days if you want 9 days it would be 9*24*60*60*1000

9d*24hh*60mm*60ss*1000

Firdaus Khalil November 21, 2017

Yes i understood. Thanks a lot

Jordan Nimlos October 8, 2020

This worked for me too, after trying loads of other possibilities including the IssueManager/IssueService to send an update... this is the first post that finally helped me set a new value for a date custom field... Thank you!

Suggest an answer

Log in or Sign up to answer