How to get filtered worklog via API?

Hi!

I have an issue with getting worklog effectively.  

Earlier my team was using JIRA Server and plugin "Timesheet Reports and Gadgets for JIRA". This plugin has endpoint to get all timesheet in one request, which was brilliant. Now we are using JIRA Cloud and "Timesheet Reports and Gadgets for Cloud" plugin - and it doesn't have API endpoint. 

I've read in documentation, that the endpoint feature is not supported for now, and we should use JIRA API instead. I tried, but faced with great problem.

We have a few tickets with worklogs amount > 8000. That is expected, the way we work. Moreover, they are constant and "immortal", so worklogs amount increases every day. 

I am doing next:

Step 1.

GET /rest/api/2/searchjql=worklogDate>=param_date_1 
and worklogDate<=param_date_2 and worklogAuthor=param_user

 

In response, each ticket contains 20 worklogs.

These 20 worklogs are first 20 ticket worklogs, not filtered with given params, without possibility to fetch more, or to fetch last instead of first, or smth else. As far as I know, this is either expected behavior or known issue with low priority.

In our work such info is often not useful. So in case worklogs.total > 20, I do step 2: 

 

GET /rest/api/2/issue/{issueIdOrKey}/worklog

This way has drawbacks. First, it requires separate request per issue. Second, it doesn't have any filters - startAt, maxResult, by user or startedDate... According to docs, the only param is "expand", which won't help a lot. 

So in case of mentioned "immortal" tickets, this request returns thousands of  worklog records at once and is very heavy. Which is senseless, as usually we need the last 10-20 records, not all thousands. 

I tried also this endpoint: 

GET /rest/api/2/worklog/updated

But it also doesn't have any useful get params. If it had been possible to send issue Id or Key - it would have solved our troubles. 

I also searched for plugins, but didn't found a simple light plugin for REST timesheet functionality. Maybe I don't know what to look for. I cannot use SQL or something similar - we don't have admin rights and we won't have them. So the only way is REST.

 

Is there some workaround for this problem? 

 

Thanks in advance. 

1 answer

1 accepted

Hi Marry,

The approach you described is the only way to get worklogs through the REST API. I doubt you will find a cloud plugin with the REST timesheets point as cloud plugins actually rely on JIRA REST and there is no much sense to build custom REST upon JIRA REST API.

Suggest an answer

Log in or Sign up to answer
How to earn badges on the Atlassian Community

How to earn badges on the Atlassian Community

Badges are a great way to show off community activity, whether you’re a newbie or a Champion.

Learn more
Community showcase
Published Sunday in Agility

You asked for it, so we delivered: images on issues have arrived

A picture tells a thousand words. And agility boards have just released their latest feature: cover images on issues – so now your board can tell a story at first glance. Upload attachmen...

178 views 1 10
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