Add query parameters/filter for listing time entries via REST API
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
- Combinations of the above
Conditions would need to support ranges.
- 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
#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
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)
#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: