Is it possible to get the data (assignee, time spent) in Work Log JIRA using ScriptRunner

CST JIRA Confluence Admin July 4, 2016

I want to calculate summary the cost rate of each assignee and his time spent on the same issue. Is it possible to do that using groovy script and WorklogManager.

For example:

My rate is $100/hour and another is $150$/hour. We logged work on the same issue. I logged 2 hour and he logged 3 hour. The summary cost for this issue should be: $650.

1 answer

3 votes
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.
July 5, 2016

Script Runner for JIRA is all about handling issues, so things like worklogs and assignees are always readily available.

For your cost rate stuff, you'll need to do a bit of coding in SR and possibly write add-ons to help with reporting though.  You'll need to decide where you are storing the rates and define how to get to them, then you'll need to think about how you want to get out that $650.  At the most simple level a script-runner scripted field could easily read all the worklogs for time and assignee, mulitply it with a (hard-coded) rate and accumulate them all together, dumping the total on screen, but I suspect you might want more from it than that?

 

CST JIRA Confluence Admin July 5, 2016

Hi Nic,

Thank you for your answer. I put the rate into Scripted field and I'm able to get that value. But the issue is I don't know how to get the data from Work Log (get assignee and their time spent). I have tried to find on google but no luck. Could you please give me a code example how to do that.

Thanks in advance.

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.
July 5, 2016

A scripted field has direct access to the issue, so

issue.getAssignee() will return the current assignee

For the worklogs, there may be a better way to do it in a script, but I've used

worklogManager.getByIssue(issue)

to fetch the list of worklogs.  You can then iterate over that list using worklog.getAuthor() and worklog.getTimeSpent() to get the owners and numbers out.

Suggest an answer

Log in or Sign up to answer