This repo has actually a cronjob (time-based Job scheduler) using GitHub actions that automates the Zotero -> Readwise integration using the Zotero2Readwise Python library.
You just need to fork this repository and add the following secrets to your git repository secrets, and you're ready to go!
- Readwise Access Token (secret name: READWISE_TOKEN)
- Zotero Key (secret name: ZOTERO_KEY)
- Zotero Library ID (secret name: ZOTERO_ID)
Check the Section Usage in Zotero2Readwise repo to get instructions on how to find above information.
Note that since Readwise token and Zotero Key's are sensitive information, they should be treated as your passwords. Because of this, I'm using GitHub Action secrets to manage such sensitive variables!
You can run Zotero2Readwise automation at any repeated schedule by changing the cron schedule expression. Check crontab guru or crontab (has some examples) for more details.
Once you come up with the desired schedule, update the cron argument in .github/workflows/automation.yml
file given below.
Don't forget the double quote around the expression!
schedule:
- cron: "0 3 * * 1,3,5"
Above is the default schedule I've set up to run the automation. The cron expression means to run the automation at 03:00 AM every Monday, Wednesday, and Friday. You can change the schedule as you wish. Just make sure that your cron job expression is valid by checking
A scheduled GitHub Action will show scheduled next to the deployment as can be seen below.
If you want to manually trigger the automation, you can simply commit an empty message and push it to your forked repo, like the following:
git commit --allow-empty -m "Trigger automation"
and then,
git push
This will run the automation immediately and won't impact your scheduled automation.
Keep in mind that GitHub Actions may run the scheduled automation with some delay (sometimes with one-hour delay!).