Content
How to get all TimeEntriesActivities from API
Added by Filter Punk over 3 years ago
To create a TimeEntry with API I use this POST method in which I need to specify a link to an "activity" with type TimeEntriesActivity.
(Btw, where is this type specified?)
How can I retrieve a list of all TimeEntriesActivities? Or how to find out the total number of TimeEntriesActivities?
Replies (4)
@moderator: I am new in openproject community: did I post this question in the correct forum? Or should I move it to the "Development" forum?
After some more investigations, I have to correct myself. Total number of TimeEntriesActivities will not help me.
When I create new Time Activities in /admin/enumerations these new entries will not get consecutive id's.
The build in Activities:
"id":1,"name":"Management","position":4
"id":2,"name":"Specification","position":5
"id":3,"name":"Development","position":6
"id":4,"name":"Testing","position":7
"id":5,"name":"Support","position":8
"id":6,"name":"Other","position":9
The added Activities:
"id":14,"name":"Planung","position":3
"id":15,"name":"Materialbeschaffung","position":2
"id":16,"name":"Ausführen","position":1
This circumstance makes using the existing (but undocumented) endpoint: /api/v3/time_entries/activities/{ID} (where ID is required))
rather unusable to get a complete List of all TimeEntriesActivities.
Similar as the project GET method, which can return a collection of projects, what I need is a GET method for TimeEntriesActivities e.g.: /api/v3/time_entries/activities/{?filters,sortBy}
Should I create a "new feature" WorkPackage for it?
I have the same problem here! Did you already find a solution?
Hello I had to develop an ETL tool to extract and maintain history of time_entries
1. First you need to know how many elements there are in the collection of time_entries. I am using the following GET (test it in Postman), because I want to reduce the number of elements returned:
https://digipolisgentqa.openproject.com/api/v3/time_entries?pageSize=1
first lines of JSON returned: Only value that is of interest is "total".
Now that I have the total number of elements , I can set a pageSize (must be < 500). And construct a loop to get all the elements of the collection page by page. For instance pageSize = 100 then the number of iterations is 7, with offset from 1 to 7. e.g. GET for elements 101-200 : https://digipolisgentqa.openproject.com/api/v3/time_entries?offset=2&pageSize=100
The first 6 GETS return 100 elements, the last GET will return 30 elements.
Hope this helps