I want a Scripted Field which will show only time in UTC bypassing the User's local timezone

Sumit Kumar
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 10, 2013

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

3 answers

1 accepted

0 votes
Answer accepted
Sumit Kumar
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 10, 2013

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

1 vote
Nic Brough -Adaptavist-
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
November 10, 2013

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.

0 votes
Max Lim _Adaptavist_
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.
June 2, 2021

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.

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events