{"id":14070587,"url":"https://github.com/simenandre/todoist-action","last_synced_at":"2025-04-12T11:18:32.927Z","repository":{"id":38043055,"uuid":"339326047","full_name":"simenandre/todoist-action","owner":"simenandre","description":"Synchronize Github tasks with Todoist :ballot_box_with_check:","archived":false,"fork":false,"pushed_at":"2025-02-28T23:49:16.000Z","size":7190,"stargazers_count":30,"open_issues_count":28,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-04T20:56:58.075Z","etag":null,"topics":["github","todo","todoapp","todoist"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/simenandre.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-02-16T08:08:20.000Z","updated_at":"2025-01-10T23:43:08.000Z","dependencies_parsed_at":"2024-08-13T07:17:31.173Z","dependency_job_id":"3284b49a-3586-4d58-a28a-3e6ac78653fa","html_url":"https://github.com/simenandre/todoist-action","commit_stats":{"total_commits":136,"total_committers":6,"mean_commits":"22.666666666666668","dds":0.5441176470588236,"last_synced_commit":"bca5c69f91b827f50dad5f09d9eca7995cfa4ee5"},"previous_names":["cobraz/todoist-action"],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simenandre%2Ftodoist-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simenandre%2Ftodoist-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simenandre%2Ftodoist-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simenandre%2Ftodoist-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/simenandre","download_url":"https://codeload.github.com/simenandre/todoist-action/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248557847,"owners_count":21124168,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["github","todo","todoapp","todoist"],"created_at":"2024-08-13T07:07:54.218Z","updated_at":"2025-04-12T11:18:32.901Z","avatar_url":"https://github.com/simenandre.png","language":"TypeScript","readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg width=\"180\" src=\"./.github/assets/header.svg\" alt=\"Todoist Github Action\"\u003e\n  \n  Synchronize Github tasks to Todoist with Github Actions!\n\n[![lifecycle](https://img.shields.io/badge/lifecycle-experimental-orange.svg)](https://www.tidyverse.org/lifecycle/#experimental)\n\n\u003c/div\u003e\n\n**Do you love getting Karma points but feel adding all the tasks into Todoist\nisn't worth it? Well, you're in luck. This Github Action synchronizes your\nGithub issues and tasks so you can get to the next karma level easy!**\n\nTools like Todoist is excellent for productivity, and now for developers too.\nBeing an active contributor to Github Actions, I feel an integration between\nGithub and Todoist is another ideal use-case. Run it periodically to get the\nlatest issues added to your todo list!\n\n## Example\n\nYou can see a [running example in this repo][workflows].\n\n```yml\n- name: Sync issues\n  id: sync\n  uses: cobraz/todoist-action@v1\n  with:\n    github-token: ${{ secrets.GH_TOKEN }}\n    todoist-token: ${{ secrets.TODOIST_TOKEN }}\n    query:\n      updated:\u003e2020-06-01 archived:false sort:updated-desc assignee:cobraz\n      -label:backlog\n    sync-file-name: ./sync.json\n```\n\n## Configuration\n\nThe action can be configured with the following arguments:\n\n- `github-token` (required) We need a **personal Github token** in order to use\n  the Github API to get issues.\n\n- `todoist-token` (required) In order to make authorized calls to the Todoist\n  Sync API, we need a Todoist token. You can obtain your personal API token from\n  the [integrations settings](https://todoist.com/prefs/integrations) for your\n  account.\n\n- `query` (required) The search for which you want issues / pull requests.\n  You'll have to use [Githubs search syntax][search-syntax].\n\n- `sync-file-name` (optional) Where to retrieve/store the synchronization data,\n  read more about that below.\n\n- `sync-content` (optional) Input for synchronization data, read more about that\n  below.\n\n## Synchronization Data\n\nThis Github Action needs a state, which you are free to choose which. You can\nfind an example in my [workflows][], where I use Github Action cache to store the\nsynchronization data.\n\nYou can either use file storage or use Github Action input/output to communicate\nwith the Action. `sync-content` is an output of this Github Action; it contains\na JSON dump that you can store somewhere. Just make sure you send that same JSON\ndump back as an input (`sync-content`).\n\nIf you want to use Amazon S3 or Google Storage, you can download and upload a\nfile (defined by `sync-file-name`).\n\n## Known issues\n\nThis Github Action is still experimental; most of the synchronization operation\nworks (and you can see examples of it [used here][actions]). However, if you\ncomplete a task in Todoist – the Github issue **will not** be closed. The action\nalso does not synchronize more issues than what is returned by the API (it does\nnot paginate).\n\n## Contribute\n\nFeel free to open an issue or pull request. The Todoist Action is still\nexperimental, help us get is stable! Feedback is much appreciated!\n\n## Thanks\n\nThe awesome logo was made by [@AnneMatilde](https://github.com/annematilde)! 🙏\n\n**Notice**: This is not created by or associated with Todoist in any way.\n\n[workflows]: https://github.com/cobraz/todoist-action/blob/main/.github/workflows/schedule.yaml\n[actions]: https://github.com/cobraz/todoist-action/actions\n[search-syntax]: https://docs.github.com/en/github/searching-for-information-on-github/searching-issues-and-pull-requests\n","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimenandre%2Ftodoist-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimenandre%2Ftodoist-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimenandre%2Ftodoist-action/lists"}