undpaul / toggl2redmine
Command line tool to sync toggl time entries to redmine
Requires
- php: >=7.4.0
- ixudra/toggl: ^2.0.0
- kbsali/redmine-api: ^2.1
- nesbot/carbon: ^3.8.0
- symfony/config: ^7.1.0
- symfony/console: ^7.1.0
- symfony/framework-bundle: ^7.1.0
- symfony/yaml: ^7.1.0
README
PHP CLI tool for syncing toggl with redmine.
Time entry sync
Currently only time-entry-sync
is available.
- One-way-synchronisaton from toggl to Redmine
- Mapping of Toggl tag name with Redmine
- Sync state is marked as tag
#synched
in Toggl
Installation
The installation is simple by using composer. After installing composer you can either install the command globally or within a project.
Docker
To run the script using Docker you can build the image:
docker build -t local/toggl2redmine .
Then you can run it like this:
docker run -v /path/to/toggl2redmine.yml:/app/vendor/undpaul/toggl2redmine/toggl2redmine.yml local/toggl2redmine time-entry-sync
Global
In the global installation toggl2redmine
will be available as a command line tool.
- Run
composer global require undpaul/toggl2redmine
to install globally. - Add
export PATH=~/.composer/vendor/bin:$PATH
to your.bashrc
or.profile
After the installation you should be able to run toggl2redmine time-entry-sync ...
from anywhere.
Local
You can run composer require undpaul/toggl2redmine
in any composer enabled project to add this project as a dependency.
Usage
You can run the global or local command by appending options, use a configuration file or use both. A command line
argument or option will allways override a setting from the toggl2redmine.yml
.
Global: toggl2redmine.php time-entry-sync ...
Local: ./toggl2redmine time-entry-sync ...
Command line arguments and options
Usage:
time-entry-sync [--workspace="..."] [--fromDate="..."] [--toDate="..."] [--defaultActivity="..."] redmineURL redmineAPIKey tooglAPIKey
Arguments:
redmineURL Provide the URL for the redmine installation
redmineAPIKey The APIKey for accessing the redmine API
tooglAPIKey API Key for accessing toggl API
Options:
--workspace Workspace ID to get time entries from
--fromDate From Date to get Time Entries from (default: "-1 day")
--toDate To Date to get Time Entries from (default: "now")
--defaultActivity Name of the default redmine activity to use for empty time entry tags (default: "")
Configuration
You can place a toggl2redmine.yml
in your current working directory for local defaults. For global defaults you
can place it at ~/.toggl2redmine/toggl2redmine.yml
. Attention: local and global defaults will not be merged. The
local default always take precedence over the global defaults, in the case it exists.
You can find a template for toggl2redmine.yml
at default.toggl2redmine.yml. Make sure
to rename it to toggl2redmine.yml
!
For example, for adding the default config template to the global folder you can simply type:
mkdir ~/.toggl2redmine curl https://github.com/undpaul/toggle2redmine/blob/main/default.toggl2redmine.yml > ~/.toggl2redmine/toggl2redmine.yml