Skip to main content

Log your work time to tempo from the command line.

Project description

Log Time to Tempo

PyPI - Version PyPI - Python Version


Log your time to tempo on a self-hosted Jira instance from the convenience of your command line.

Requirements

This tool is developed against

  • Jira Server v9.4.17
  • Tempo Timesheets 17.2.0 plugin

Any deviation from that setup might lead to issues. Feel free to provide PRs to support other configurations.

Installation

pip install log-time-to-tempo

Getting Started

To initialize authentication and local caches of projects and issues, run

lt init

If you want to enable shell completion (which makes picking issues much easier), run

lt --install-completion

Usage

Log Time

# log full workday to default issue
lt log
# log 2h to default issue
lt log 2h
# log 2h to specific issue
lt log 2h TSI-1
# log with custom message
lt log -m "working on foo" 2h TSI-1
# log multiple entries at once
lt logm MyProject:6,OPT:2

Check Logged Time

# show logged time per issue
lt stats
# show logged time per issue for current month
lt stats month
# ..also show individual worklogs
lt stats -v

Set Aliases

# set alias name for a commonly used issue
lt alias TSI-7 OPT
lt alias TS-10402 ProjectName
# unset aliases
lt alias --unset ProjectName
# show all aliases
lt alias

Configuration

The lt config command allows to change the default behavior, either system wide (--system) or in the local directory and subdirectories.

Here are a couple of usage examples:

# Set custom jira instance for all projects (i.e. system-wide)
lt config --system JIRA_INSTANCE https://jira.my-server.com

# Set default issue for worklogs created from current directory (and subdirectories)
lt config LT_LOG_ISSUE TSI-7

# Start all your worklogs at 10am (instead of the default 9am)
lt config --system LT_LOG_START 10

# Remove all custom configuration
lt config --unset

Changes

latest

0.0.7 - 2025-04-10

  • list command produces output in table format
  • show issue summary when suggesting similar issues
  • detect overlaps with existing issues and warn user
  • fix issue, where a custom default start time would prevent dynamic start time based on today's last worklog

0.0.6 - 2025-03-20

  • when logging to an issue that does not exist, provide suggestions (based on similar aliases and issue summaries)
  • add lt logm command to log multiple entries at once (e.g. lt logm MyProject:6,OPT:2)

0.0.5 - 2025-03-03

  • fix lt list command

0.0.4 - 2025-01-14

  • on lt alias --unset completion, only existing aliases are suggested
  • fix keyring issues
    • keyring provided by 1password-cli could not be used to persist token → default to system keyring on macOS
    • keyring fails on platforms other than macOS → alternative keyring backends are used.
  • fix issue where lt init would update cache twice.

0.0.3 - 2024-09-12

  • add lt stats command to aggregate spent time per issue
  • add lt alias command to provide more meaningful aliases for issue descriptions
    • lt alias --unset to remove previously set aliases
  • renamed relative date ranges
    • weeklast_7_days
    • monthlast_30_days
    • week_to_dateweek
    • month_to_datemonth
  • support abbreviations for relative date ranges (e.g. l7 for last_7_days)
  • fix issue where app dir would not be created on first run
  • fix issue with formatted durations, where days would not be accounted for
  • fix issue where token was saved to third-party keyrings (e.g. 1Password)
  • parse more relative dates (e.g. "3 weeks ago") (using dateparser.parse)

0.0.2 - 2024-04-17

  • add log --lunch option to reduce the amount of math you have to do in your head when entering your time
    • lunch will simply be deducted from the total duration and your end time
  • rename log --from-time '' --to-time '' options to log --start '' --end ''
  • log --day is now case-insensitive (so Mo will be recognized as monday)
  • add --version flag

0.0.1 - 2024-03-25

  • authorize with JIRA instance using personal access token
    • prompt for token and persist using keyring package
  • create and list worklogs via tempo's REST API
  • list projects and issues using jira API
  • cache projects and issues for faster responses and shell completion

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

log_time_to_tempo-0.0.7.tar.gz (699.5 kB view details)

Uploaded Source

Built Distribution

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

log_time_to_tempo-0.0.7-py3-none-any.whl (19.5 kB view details)

Uploaded Python 3

File details

Details for the file log_time_to_tempo-0.0.7.tar.gz.

File metadata

  • Download URL: log_time_to_tempo-0.0.7.tar.gz
  • Upload date:
  • Size: 699.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.28.1

File hashes

Hashes for log_time_to_tempo-0.0.7.tar.gz
Algorithm Hash digest
SHA256 abf39d7661c5361740cc8d086e1a2206aedafce6886585b357a928291540c7cf
MD5 56dcf95dc1c640839c813e1b7b64498a
BLAKE2b-256 cf5ea8d0cd9b258fd4b8f365c59b4841b18da077945271b66d2098174d17e375

See more details on using hashes here.

File details

Details for the file log_time_to_tempo-0.0.7-py3-none-any.whl.

File metadata

File hashes

Hashes for log_time_to_tempo-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 a7179fb5e89aa391e7f356949a9082adee12f946f37a9c632f14d4df3c6a857b
MD5 f25ca92a31ecbcf3f568e8d52a4a70bd
BLAKE2b-256 a6b0e5d2b7ac9e1574576582c2ef11a7ad9318be62aa054d8b42ebc52369386a

See more details on using hashes here.

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