Feature #13275

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

Added by Chad B almost 5 years ago. Updated about 1 year 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) Vasilij Schneidermann, 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 almost 5 years ago

Hi,

here I would like to name one other filter condition

  • spent on

Thanks!
Knut

#2 Updated by Bob Pack over 4 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 over 4 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 over 4 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 over 4 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 over 4 years ago

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

#7 Updated by Toshi MARUYAMA over 4 years ago

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

#8 Updated by Juozapis Juozapauskiksi over 4 years ago

Bump. Any news on this one here?

#9 Updated by Juozapis Juozapauskiksi over 4 years ago

Any news regarding this one?

#10 Updated by Juozapis Juozapauskiksi over 4 years ago

Bump. Any news?

#12 Updated by Bob Pack over 3 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 over 2 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 over 2 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 about 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 about 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 almost 2 years ago

For ticket filter

/time_entries.json?issue_id=<ID>

#18 Updated by Valentin Rudikov over 1 year 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 Vasilij Schneidermann about 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.

Also available in: Atom PDF