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.
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.
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
How to install and use gtt? You can find the documentation here.
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.
gtt is open-source software licensed under the GPL V2 license.