jamiebrynes7 / obsidian-todoist-plugin

Materialize Todoist tasks in Obsidian notes
https://jamiebrynes7.github.io/obsidian-todoist-plugin/
MIT License
912 stars 69 forks source link

Include completed tasks #233

Open onepointfivem opened 1 year ago

onepointfivem commented 1 year ago

Is your feature request related to a problem? Please describe. It would be nice if the plugin also showed completed tasks, so I can have a log of the completed tasks for a certain project

Describe the solution you'd like I want the plugin to also render/query completed tasks using the same filters applied to not completed tasks

Describe alternatives you've considered I did see the plugin Todoist completed tasks, but it doesn't have automatically refresh and doensn't follow this plugin syntax

hudsonmm commented 1 year ago

@onepointfivem - Unfortunately, the Todoist API does not support including or fetching completed tasks, so this is currently impossible to implement.

amzon-ex commented 1 year ago

Seems like it's possible to achieve with the Sync API endpoint of Todoist. The REST API endpoint doesn't have this feature.

illia-sernikov commented 9 months ago

I also looked up today at Completed Tasks API. There is some difference between REST API and Sync API in responses and filters. But as an idea of the first implementation:

  1. Get the list of completed tasks for today curl https://api.todoist.com/sync/v9/completed/get_all?since=2023-11-17T00:00&annotate_items=true
  2. With the parameter annotate_items the response will contain all information about the task - labels, priority and etc.

There is no way to apply a filter to Sync API. It can be done programmatically, but it will have a lot of complex logic. It's good that Sync API uses the same Auth Token 😏

rborder commented 2 weeks ago

This would be phenomenal. It's really a shortcoming of todoist's filtering capabilities but at the very least a separate block for completed tasks should be doable using logic similar that in this plugin though using a block and getting rid of manual fetching