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.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.6.tar.gz (698.9 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.6-py3-none-any.whl (19.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: log_time_to_tempo-0.0.6.tar.gz
  • Upload date:
  • Size: 698.9 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.6.tar.gz
Algorithm Hash digest
SHA256 70b57e0e131a79fe48968014332c5c36dd938fa372c0cc2f3216269331b7a11d
MD5 f2f7dd88eed45d0e30edf63df690f915
BLAKE2b-256 640ebe50138b2afb797cc713bf4d6b44a484d602f8ad28289134d5c8ead1ed83

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for log_time_to_tempo-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 13119fef2e5c5f0c6e35f73142a519d6c8a7e74b9f766cdaa69946f35a87ab69
MD5 489181d08d07381e4985574d8bca8f74
BLAKE2b-256 69cc86e99a53fb8b972212e3cfc17bc7d312fb4c3eed91dab5e448968c8b2a48

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