How to Create a Worklog Entry by Postfunction

Ops Lead March 8, 2012

Hi,

we need a post function creating a worklog entry. I found https://answers.atlassian.com/questions/11290 and translated that to groovy:

cfo = componentManager.getCustomFieldManager().getCustomFieldObjects(issue).find {it.name == 'StartTime'}
cfv = issue.getCustomFieldValue(cfo)
dt = ((int)((t0.getTime()-cfv.getTime()+30000)/60000)).toString()+"m"
WorklogInputParametersImpl.issue(issue).startDate(cfv).timeSpent(dt).comment( "Autologged "+dt+".").buildNewEstimate(); componentManager.getInstance().getIndexManager().reIndex(issue)

The code does not throw any error - but there is no additional worklog entry - what do I have to add? Or which recipe do I have to follow?

Thanks in advance

1 answer

1 accepted

1 vote
Answer accepted
Henning Tietgens
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.
March 8, 2012

I use this closure to create worklog entries:

logWork = { issueKey, date, timeSpent, comment, currentUser ->
	myIssue = issueManager.getIssueObject(issueKey)
        Long timeSpentSeconds = timeSpent*3600
	newWorklog = new WorklogImpl(worklogManager, myIssue, null, currentUser.name,
                   comment, Date.parse('dd.MM.yyyy hh:mm', date), null, null, timeSpentSeconds)
	worklog = worklogManager.create(currentUser, newWorklog, null, false)
}

You have to use worklogManager.create(). worklogManager you get from ComponentManager.instance.worklogManager.

Ops Lead March 8, 2012

Thank you Henning. With help of a java-familiar colleague we solved the issue using this groovy code:

  import com.atlassian.jira.issue.worklog.WorklogImpl
...
cus = componentManager.getJiraAuthenticationContext().getUser() jud = new java.util.Date(cfv.getTime()) wli = new WorklogImpl(null, issue, 0, cus.name, "Autologged "+dt.toString()+".", jud, null, null, dt) ComponentManager.instance.worklogManager.create(cus, wli, 0, false)

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events