update the time estimation through the JIRA REST API Edited

I am struggling to update the time estimation through the API, can anybody help me regarding this issue?

Is it possible to update following attributes through the API? (aggregatetimeoriginalestimate,
timeestimate, timeoriginalestimate, aggregatetimeestimate, aggregateprogress, progress)



I have to update this property.toupdate.png

No, because they're not attributes or fields you set, they're calculated from the issue data.

See https://developer.atlassian.com/jiradev/jira-apis/jira-rest-apis/jira-rest-api-tutorials/updating-an-issue-via-the-jira-rest-apis and https://docs.atlassian.com/jira/REST/server/#api/2/issue-editIssue - you're looking for the "timetracking" field.

You can set one or both parts of it - originalestimate and remainingestimate.  The attributes you are looking for are then calculated from those two and the worklogs on the issue.

it does not work for me...

JSON which I received is:

    errorMessages :
    errors :
        timetracking : "Field 'timetracking' cannot be set. It is not on the appropriate screen, or unknown."



in the same way I am also able to set a description, that means that my request is right.

What should I do?

the issue, in which I want to change the property "Estimated", this property is already set. (Even though updating does not work)

Second question regarding this topic were, what do I do if this property is not set?

Thanks a lot!

You need to put the timetracking field on the edit screen for the issues.

It doesn't matter if it's got a value or not, you just set it

>>You need to put the timetracking field on the edit screen for the issues.

I didnt get it

Nic could define it more precisely

thank you!

import groovyx.net.http.FromServer
import groovyx.net.http.HttpBuilder
import io.extensi.build.rest.jira.Field
import org.slf4j.Logger
import org.slf4j.LoggerFactory

class DetailsUpdate {

static final Logger LOG = LoggerFactory.getLogger(DetailsUpdate.class)

def static updateEstimate(int estimate, String issueId, int rapidViewId, HttpBuilder client, String authString) {

def fields = Field.getFields(client, authString)
def storyPointField = fields.find { it.name == "Story Points" }

client.post() {
request.uri.path = '/secure/DetailsViewAjaxIssueAction.jspa'
request.contentType = 'application/x-www-form-urlencoded'
request.headers = [
'X-Atlassian-Token': "no-check",
'Authorization' : "Basic ${authString}",
'Accept' : "text/html"

request.uri.query = ['decorator' : 'none']

request.body = ["${storyPointField.id}" : estimate,
fieldsToForcePresent: storyPointField.id,

response.success { FromServer resp, Object body ->
assert resp.statusCode == 200

response.failure { FromServer resp, Object body ->
LOG.error("Call failed with code ${resp.statusCode} ")

throw new RuntimeException(resp.message)




Log in or Sign up to comment
Community showcase
Posted Sep 18, 2018 in Jira

What modern development practices are at the heart of how your team delivers software?

Hey Community mates! Claire here from the Software Product Marketing team. We all know software development changes rapidly, and it's often tough to keep up. But from our research, we've found the h...

21,101 views 2 7
Join discussion

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