Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bokub/wakatime-to-toggl
📩 Push your WakaTime data to Toggl
https://github.com/bokub/wakatime-to-toggl
actions sync toggl wakatime workflow
Last synced: 2 months ago
JSON representation
📩 Push your WakaTime data to Toggl
- Host: GitHub
- URL: https://github.com/bokub/wakatime-to-toggl
- Owner: bokub
- License: mit
- Created: 2020-07-06T15:13:07.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-04-06T01:08:51.000Z (9 months ago)
- Last Synced: 2024-10-15T04:12:43.753Z (2 months ago)
- Topics: actions, sync, toggl, wakatime, workflow
- Language: JavaScript
- Homepage:
- Size: 56.6 KB
- Stars: 35
- Watchers: 3
- Forks: 27
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# WakaTime to Toggl
[![Build Status](https://flat.badgen.net/github/checks/bokub/wakatime-to-toggl?label=build)](https://github.com/bokub/wakatime-to-toggl/actions/workflows/run.yml?query=branch%3Amaster)
[![Version](https://runkit.io/bokub/npm-version/branches/master/wakatime-to-toggl?style=flat)](https://github.com/bokub/wakatime-to-toggl/releases)
[![Downloads](https://flat.badgen.net/npm/dm/wakatime-to-toggl?color=orange)](https://www.npmjs.com/package/wakatime-to-toggl)
[![Code style](https://flat.badgen.net/badge/code%20style/prettier/ff69b4)](https://github.com/bokub/prettier-config)Sync your WakaTime data in Toggl
- Works with free accounts
- Can be automated with GitHub Actions
## Prerequisites
- Get your Wakatime API key in [your settings](https://wakatime.com/settings/api-key)
- Get your Toggl "API Token" at the bottom of [your profile page](https://track.toggl.com/profile)## Option 1 - Run manually on your computer
1. Download and install [Node.js](https://nodejs.org/en/download/)
2. Install **wakatime-to-toggl** with `npm i -g wakatime-to-toggl`
3. Run the following command to sync data from yesterday: `wakatime-to-toggl -w -t `
4. Ideally, run **wakatime-to-toggl** everyday## Option 2 - Run automatically everyday using GitHub Actions
1. Fork this repository
2. From your new fork, go to **Settings > Secrets**
3. Add the following secrets using the **New secret** button:- `TOGGL_API_KEY`: Your Toggl API Key
- `WAKATIME_API_KEY`: Your Wakatime API Key
![Screenshot](https://user-images.githubusercontent.com/17952318/86905384-4934f180-c112-11ea-91cd-7b391cd7e5de.png)4. Go to the **Actions** tab of your fork
5. Click **set up a workflow yourself**
6. Copy-paste this workflow:```yaml
name: Run wakatime-to-toggl everyday
on:
schedule:
- cron: 30 2 * * * # Everyday at 02:30 AM UTC. You can change it according to your timezone
jobs:
run:
runs-on: ubuntu-latest
steps:
- uses: actions/setup-node@v4
with:
node-version: 20
- run: npx wakatime-to-toggl -w "$WAKATIME_API_KEY" -t "$TOGGL_API_KEY"
env:
TOGGL_API_KEY: '${{ secrets.TOGGL_API_KEY }}'
WAKATIME_API_KEY: '${{ secrets.WAKATIME_API_KEY }}'
```7. Click **Start commit** then **Commit new file** to save
That's it! **wakatime-to-toggl** will run every day at 2:30 AM UTC (unless you changed it in the workflow)
You can come back to the **Actions** tab later to see the logs
## Things to know
- Entries shorter than 2 minutes will be ignored. This duration is configurable
- Duplicate entries won't be added if they are detected
- Projects will be created in your default workspace. You can move them to another workspace if you want
- Time entries will be created with a default description ("Development"). You can edit it, it won't break duplicates detection## Detailed usage
```bash
$ wakatime-to-toggl --helpUsage
$ wakatime-to-toggl -w -tOptions
--wakatime, -w Your Wakatime api key
--toggl, -t Your Toggl api key
--day, -d The day to fetch. 0 is today, 1 is yesterday... Default: 1
--min-duration -m Minimum duration (in seconds) of entries to sync. Default: 120
```