Hello. I would like to use Trello API to get and store in database information about all Actions taken in given Project (for example add Member to Project, add Section, create Task in Section, assign Member to Task etc.). I want to have such information for all Actions, since the creation of the Project. Is such a thing possible?
I have tried following attitudes, however they are not satisfying:
using Stories - information contained in Stories is satisfactory, however Stories apply only to Tasks. While this isn’t a gigantic problem, another thing is an issue - I would have to get all Tasks in a Project and then request for a Story for each of the Tasks (let’s call this operation import) and save data from each Story to the database. Then, after some time have passed and users have added more Tasks to the Project, AFAIK I have no way of knowing which Tasks have been added since the last import, so I would have to iterate over all of the Tasks in Project, for each of them ask for a Story, and then check if that Story already is in my database (from previous import). That’s extremely inefficient - please correct me if I’m wrong in my logic.
using Events - this causes two problems:
List item
Firstly, AFAIK due to the sync token mechanism, I am able to only get Events since the last request using sync token. Therefore, I am not able to get historic Events (for example from the beginning of the Project, 1 year ago).
Secondly, please consider this case. I get Events at 3 p.m. and save returned sync token. Then at 5.pm. I want to get Events again using that previously returned sync token to save in my database data about Events done between 3 p.m. and 5 p.m. However, as I understand it, if I lose that sync token for some reason (error, corrupted data, or sync token expiring earlier, as described in docs), I will never be able to get the Events that happened between 3 p.m. and 5 p.m., because when I make request again for Events after 5 p.m. without the sync token (because I’ve lost it or it expired), I will get 412 error and a new sync token, without any Events data.
I would be extremely thankful for any help.
Thank you in advance
@Phil_Seeman Thanks so much for your answer. Search API seems like a promising solution, however I can see 2 problems with it:
It allows me to only make advanced search for Tasks. However, how to get info about other recent Actions (not related to Tasks), such as creating new Section or adding Member to Project? Is there a way to do that efficiently?
I have a question regarding ?modified_on* parameter in Search API, since docs don’t provide explicit answer for that - what counts as task modification? Does it include commenting a Task, moving it to another Section or assigning/unassigning Member to it etc.? In other words, if I specify ?modified_at.after with yesterday’s date, will it return all Tasks, to which comments were added or to which Members were assigned etc. since yesterday? Could you please provide info for that?
Actually it seems like getting all Tasks modified since datetime can be achieved using simple GET /tasks with ?modified_since parameter. Also, definition of ‘modification’ is specified on that page:
Note: A task is considered “modified” if any of its properties change, or associations between it and other objects are modified (e.g. a task being added to a project). A task is not considered modified just because another object it is associated with (e.g. a subtask) is modified. Actions that count as modifying the task include assigning, renaming, completing, and adding stories.