Feature #13275

Add query parameters/filter for listing time entries via REST API

Added by Chad B over 5 years ago. Updated 3 months ago.

Status:NewStart date:
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:REST API
Target version:-
Resolution:

Description

Currently it appears that the only way to retrieve time entries with the REST API is to either list all time entries or request them one at a time by ID. At least, that is all that is documented (http://www.redmine.org/projects/redmine/wiki/Rest_TimeEntries).

This is of very limited usefulness given that an instance may easily contain thousands upon thousands of time entries. It would be very helpful to be able to query by certain conditions or in other words filter.

Primary candidates for filter conditions would be:
  • Updated date
  • Created date
  • ID number
  • User
  • Project
  • Issue
  • Activity
  • Combinations of the above

Conditions would need to support ranges.

Hypothetical examples:

  • GET /time_entries.xml?user=X
  • GET /time_entries.xml?issue=X
  • GET /time_entries.xml?updated_on=>=2013-02-24
  • GET /time_entries.xml?id=><100|200

Priority wise I believe the queries by ID and updated date are the most important because those would at least make it possible to check for recent updates or new entries after some starting point, which is crucial functionality for many integrations.

Also refer to http://www.redmine.org/boards/1/topics/29631

0001-Expose-created_on-field-for-time-entry-queries.patch Magnifier (1.89 KB) Anonymous, 2016-10-28 13:20


Related issues

Duplicated by Redmine - Feature #12763: Add filtering capability to time entries REST API Closed

History

#1 Updated by Knut Meyer over 5 years ago

Hi,

here I would like to name one other filter condition

  • spent on

Thanks!
Knut

#2 Updated by Bob Pack about 5 years ago

+1. This makes the "time entries" part of the API very useful. Without it, it's needlessly intensive to do simple things. I think the most key filter would be Knut's "spent on" filter suggestion.

#3 Updated by Bob Pack about 5 years ago

Should have known it already exists! Great.
This works just fine on my server (2.2.2)
http://<redmine URL>/time_entries.xml?spent_on=%3E%3C2013-05-01|2013-05-31

Also tried it with issue_id and project_id, which worked fine as well.

#4 Updated by shawn gao about 5 years ago

hi man, the url can't work on my server. They just ingore the parameter like "spent_on=%3E%3C2013-05-01|2013-05-31"
can you tell me why would that happen
thanks!

#5 Updated by Juozapis Juozapauskiksi about 5 years ago

Bump
Is there any news regarding this one?
Spent on is working, but updated_on created_on is not :(

#6 Updated by Juozapis Juozapauskiksi about 5 years ago

Bump. Any news on this one?
Sorry, but I think this is critical one for Redmine integration.

#7 Updated by Toshi MARUYAMA about 5 years ago

  • Duplicated by Feature #12763: Add filtering capability to time entries REST API added

#8 Updated by Juozapis Juozapauskiksi almost 5 years ago

Bump. Any news on this one here?

#9 Updated by Juozapis Juozapauskiksi almost 5 years ago

Any news regarding this one?

#10 Updated by Juozapis Juozapauskiksi almost 5 years ago

Bump. Any news?

#12 Updated by Bob Pack almost 4 years ago

shawn gao wrote:

hi man, the url can't work on my server. They just ingore the parameter like "spent_on=%3E%3C2013-05-01|2013-05-31"
can you tell me why would that happen
thanks!

Sorry, didn't see this till now. If you're using the exact same query I used before, it could be a permissions issue perhaps? Make sure the API token you are using has appropriate rights? I can't think of any other reason the same query that works on mine wouldn't work on yours, unless it's a version difference (as I mentioned, I am on a 2.2.2 build)

#13 Updated by V Lindell about 3 years ago

As previously mentioned this can already be done "/time_entries.xml?spent_on=><2015-06-01|2015-06-30".

API Documentation should be updated by the filtering posibilities already available.

#14 Updated by Tommaso Visconti almost 3 years ago

It's also possible to filter by user id:

/time_entries.json?user_id=<ID>
/time_entries.json?user_id=me

This is totally undocumented!!!

#15 Updated by Eugene Terekhov over 2 years ago

Filtering by created/updated date would be very appreciated.

That spent_on filter just isn't enough.

#16 Updated by Dain Gosbee over 2 years ago

I agree with Eugene that the spent_on filter is too limiting. I also would heavily appreciate being able to filter by created_on/updated_on.

+1 to Eugene´s post.

#17 Updated by Thibaut Tropardy over 2 years ago

For ticket filter

/time_entries.json?issue_id=<ID>

#18 Updated by Valentin Rudikov over 2 years ago

Hello! Also it would be good to support filtering by multiple users:
/time_entries.json?user_id=[123,456]
It will reduce requests count - no need to query server multiple times(for each user)

#19 Updated by Anonymous over 1 year ago

Hello, I've run into this issue as well and wrote a small patch to expose the created_on field to the REST API. I'd welcome any feedback, especially on further steps to include it into Redmine proper.

#20 Updated by Pablo Díaz 3 months ago

Somebody know howto filter by time interval?.

If i use the URL (replacing redmineUrl by a real url and keyValue with a valid key value): https://redmineUrl/time_entries.json?key=keyValue&spent_on=2018-03-01 it returns a valid time entries for this day but if I use the interval filter as said in manualPage: http://www.redmine.org/projects/redmine/wiki/Rest_TimeEntries#spent_on-filter such us: !https://redmineUrl/time_entries.json?key=keyValue&spent_on=><2018-04-01|2018-04-30 It returns the same values as doesn't write any spent_on date filter.

Anyone knows how to use spent_on date filters? May be a bug?

My redmine version is 3.3

#21 Updated by Pablo Díaz 3 months ago

I've found a solution for comment 20.

If I put at the end of URL &limit=5000 I get the time_entries for the given interval with a correct result.

That is, for the example wrote on comment 20 the final url would be:

!https://redmineUrl/time_entries.json?key=keyValue&spent_on=><2018-04-01|2018-04-30&limit=5000

Also available in: Atom PDF