Skip to content

ndu2/gitlab-time-tracker

Repository files navigation

gtt

introduction

gtt is a fully featured command line interface for GitLab's time tracking feature. It monitors the time you spent on an issue or merge request locally and syncs it to GitLab. It also allows you to create reports in various formats from time tracking data stored on GitLab.

gtt demo

About this fork (ndu2)

Shout-out to kris for creating this handy tool. As we use gtt regularly and maintenance on the original repo stopped, I maintain the code base in the foreseeable future on this fork (versions 1.8.x).

Feel free to contact me or create a Pull Request if you have some patches or proposals.

Where to get gtt v1.8

There are various options:

✅ download executables on GitHub
✅ download gtt.cjs (CommonJS) on GitHub
✅ download the source code, then npm install && npm run-script buildAll

By this time of writing:

❌ the package on npm is not maintained anymore
❌ the docker image on dockerhub is not maintained anymore

documentation

How to install and use gtt? You can find the documentation here.

limitations

gtt v1.x relies on gitlab REST API (resources issues and merge_requests). Time tracking for other work_items (e.g. Tasks, Epics) is not supported. See also #

I dug a little deeper:

  • gitlab has plans to create a work_items API: https://gitlab.com/gitlab-org/gitlab/-/issues/368055 possibly we can switch to that when it's ready.
  • The behaviour with gitlab 18.2.1-ee is even worse. The gitlab API does no longer report a 4xx or 5xx, but 202 Accepted (with the body text "Could not apply spend command.")

I documented this as a limitation.

license

gtt is open-source software licensed under the GPL V2 license.

About

🦊🕘 A command line interface for GitLab's time tracking feature.

Topics

Resources

License

Stars

Watchers

Forks

Languages

  • JavaScript 89.8%
  • CSS 10.1%
  • Dockerfile 0.1%