Just a heads up: On March 24, 2025, starting at 4:30pm CDT / 19:30 UTC, the site will be undergoing scheduled maintenance for a few hours. During this time, the site might be unavailable for a short while. Thanks for your patience.
×Want to ByPass the date time functionality of jira and create a date time type scripted field which will show the UTC value onn all users profile no matter what timezone he is in.
using date time calculated field will also work if someone has the formula ready.
Thanks in advance,
Sumit
Hi Nic,
I was able to write a script by myself
**************************************************************
import com.atlassian.jira.component.ComponentAccessor;
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.fields.CustomField
import org.apache.log4j.Level
import org.apache.log4j.Logger
import java.text.SimpleDateFormat;
import com.atlassian.jira.issue.IssueManager;
Logger log = Logger.getLogger("********* Chaging Field **********");
log.setLevel(Level.DEBUG)
//log.debug("##########################################################".toString())
//log.debug("##########################################################".toString())
//log.debug("##########################################################".toString())
ComponentAccessor comAcc=new ComponentAccessor()
CustomFieldManager cfm = comAcc.getCustomFieldManager()
IssueManager issueManager = comAcc.getIssueManager()
CustomField time = cfm.getCustomFieldObject('customfield_10601') // id to be changed
timeValue=issue.getCustomFieldValue(time)
// log.debug("timeValue ::: ${timeValue}".toString())
if(timeValue!=null){
//log.debug("Time in UTC is:::: Not Null".toString())
SimpleDateFormat sdf = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss");
Date date = sdf.parse("${timeValue}");
sdf.setTimeZone (TimeZone.getTimeZone ("Etc/GMT"));
UTCtime=sdf.format(date)
return UTCtime
//log.debug("Time in UTC is:::: ${UTCtime}".toString())
}
else {
return null
}
****************************************
Actually, I wanted to bypass the time mechanism of jira and show the time in UTC for one custom field.
As of now it is working fine , I will comment back if any bug is observed
thanks a lot for looking into the question.
Regards,
Sumit
Could you explain what you are trying to display and where?
I understand you want to show the UTC value of a date/time, but what actual date/time do you need? The current time? Issue created? Updated? A custom field?
You also talk about "users profile" - fields belong to issues, not users, but it's not clear why you mention the profile.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Actually, Groovy provides a very handy enhancement to Date class, the Date.format() method.
So, you can simply use following snippet to have the same effect:
import com.atlassian.jira.component.ComponentAccessor def cf = ComponentAccessor.getCustomFieldManager().getCustomFieldObject('customfield_10001') // id to be changed
def time = issue.getCustomFieldValue(cf) as Date return time?.format("yyyy-MM-dd HH:mm:ss", TimeZone.getTimeZone("Etc/GMT"))
The Date.format() documentation also shows how to format your date representation.
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.