Get sla value


I wont to copy sla due into scripted custom field, how i can do it?

1 answer

Hi Taras,

What data from the SLA do you want in the script field? The following set-up will allow you to see what is available by using the preview functionality, but ultimately you'll need to write a velocity template to display the information you want to see.

  • Note: whatever you want, can be left blank
  • Template: Custom
  • Custom Template: $value
  • Inline script
    import com.atlassian.jira.component.ComponentAccessor
    import com.atlassian.jira.issue.CustomFieldManager
    import com.atlassian.jira.issue.Issue
    import com.atlassian.jira.issue.fields.CustomField

    Issue issue = issue
    CustomFieldManager customFieldManager = ComponentAccessor.getCustomFieldManager()
    CustomField cf = customFieldManager.getCustomFieldObjectByName("NAME OF SLA FIELD")
    def value = issue.getCustomFieldValue(cf)
    return value
    (N.B. 'NAME OF SLA FIELD' should be replaced with the name of the field that contains the SLA of interest.)
  • Preview Issue Key: The key of a Service Desk issue that has the appropriate SLA field.

When you click the 'Preview' button, you should see something similar to this in the 'Result' tab:

SLAValue{completeSLAData=[], timeline=Timeline{events=[TimelineEvent{date=2017-12-20T13:55:35.871Z, types=[START]}]}, ongoingSLAData=OngoingSLAData{goalId=1, startTime=2017-12-20T13:55:35.871Z, paused=false, thresholdData=some(ThresholdData{calculatedAt=2017-12-20T15:25:36.182Z, remainingTime=some(8999689), thresholdsConfigChangeDate=2017-12-20T13:55:35.048Z, thresholdsConfigChangeMsEpoch=1513778135048})}, metricId=1, definitionChangeDate=1970-01-01T00:00:00.000Z, definitionChangeMsEpoch=0, goalsChangeDate=2017-12-20T13:55:35.139Z, goalsChangeMsEpoch=1513778135139, goalTimeUpdatedDate=2017-12-20T13:55:35.128Z, goalTimeUpdatedMsEpoch=1513778135128, metricCreatedDate=1513778135048, updatedDate=some(1513783536245)}

If you were to use the above script field configuration as-is, this is pretty much what the contents of the field would look like in the UI, which is probably not what you want. However, it does at least show you what data you can access and how it's structured. For example, you could get the datetime of the first timeline event by using the following Custom Template:


Which would give a result of "2017-12-20T13:55:35.871Z".

Hope this gives you some pointers in the right direction.



Suggest an answer

Log in or Sign up to answer
Atlassian Community Anniversary

Happy Anniversary, Atlassian Community!

This community is celebrating its one-year anniversary and Atlassian co-founder Mike Cannon-Brookes has all the feels.

Read more
Community showcase
Bridget Sauer
Published Thursday in Marketplace Apps

Calling all developers––You're invited to Atlas Camp 2018

 Atlas Camp   is our developer event which will take place in Barcelona, Spain  from the 6th -7th of   September . This is a great opportunity to meet other developers and get n...

217 views 0 6
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you