Skip to main content

Replicate toggl time entries to Jira worklogs

Project description

toggl2jira

CLI application to replicate toggl time entries to Jira worklogs

Install

  1. Install toggl2jira from pypi
# we recommend pipx to install
pipx install toggl2jira

# otherwise you can install with pip in a virtual environment. YMMV
python3 -m .venv
source .venv/bin/activate
pip install toggl2jira
  1. Configure application (see below)
  2. (optional) Setup a regular task to fully automatic sync your tasks

Usage

Start each Toggl entry with a Jira issue reference followed by a slash to enable worklog sync for this time entry.

Example:

MYPROJECT-1337/This text will also be synced to Jira

Just run the sync script to sync all time entries within the configured sync window. This action is idempotent and can be executed multiple times without problems.

Configuration

Configure by setting environment variables or creating a toggl2jira.env file in of the following locations. See .env.example for a template.

  • Current working directory
  • ~/.config
  • Location of the script
Config Default Description
JIRA_URL required Base URL to your Jira Server Instance (e.g. https://jira.example)
JIRA_ACCESS_TOKEN required Jira personal access token. See Jira Docs
JIRA_PROJECT_SLUG required Jira project slug that is considered for sync
TOGGL_URL "https://api.track.toggl.com" Toggl API base URL
TOGGL_API_KEY required Toggl API key. See Toggl Docs
SYNC_WINDOW_SIZE 1 Amount of days, the sync will look in the past

Setup Examples

launchd (MacOS)

  1. Create LaunchAgent config
<!-- /Users/###user###/Library/LaunchAgents/com.github.schlakob.toggl-jira-sync.plist -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.github.schlakob.toggl-jira-sync</string>
    <key>ProgramArguments</key>
    <array>
      <string>/Users/<<user>>/.local/pipx/venvs/toggl2jira/bin/python</string>
      <string>/Users/<<user>>/.local/bin/toggl2jira</string>
    </array>
    <key>StartInterval</key>
    <integer>3600</integer>
    <key>StandardOutPath</key>
    <string>/path/to/code/toggl-jira-sync/out.log</string>
    <key>StandardErrorPath</key>
    <string>/path/to/code/toggl-jira-sync/err.log</string>
</dict>
</plist>
  1. Enable and start LaunchAgent
launchctl bootstrap gui/$(id -u) /Users/<<user>>/Library/LaunchAgents/com.github.schlakob.toggl-jira-sync.plist
launchctl kickstart -k gui/$(id -u)/com.github.schlakob.toggl-jira-sync

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

toggl2jira-2.0.0.tar.gz (6.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

toggl2jira-2.0.0-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file toggl2jira-2.0.0.tar.gz.

File metadata

  • Download URL: toggl2jira-2.0.0.tar.gz
  • Upload date:
  • Size: 6.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for toggl2jira-2.0.0.tar.gz
Algorithm Hash digest
SHA256 96d781972f4d141efb01070ed3d371be0a8955d65d8bc34e9e9f9d5e917bfca4
MD5 718413eac177fbefa1e5c6fc79b55144
BLAKE2b-256 c602d31b2f281ff9ff420aeeff58e5f8edc1a24e868c25cab9aff41bb2334e7b

See more details on using hashes here.

Provenance

The following attestation bundles were made for toggl2jira-2.0.0.tar.gz:

Publisher: python-publish.yml on schlakob/toggl2jira

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file toggl2jira-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: toggl2jira-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 7.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for toggl2jira-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e710cb4c7d1cd6ff36d6ffd41aa9149f021e5160d61558e79baa894756c9bca9
MD5 b0f8245293995b75f0a8bb9fd69d5f63
BLAKE2b-256 24cf95cb0002b1de8507d558de5109ce12be4f92dd179979cc3bf956b1fc83ec

See more details on using hashes here.

Provenance

The following attestation bundles were made for toggl2jira-2.0.0-py3-none-any.whl:

Publisher: python-publish.yml on schlakob/toggl2jira

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page