| Crates.io | gitlab-timelogs |
| lib.rs | gitlab-timelogs |
| version | 0.6.0 |
| created_at | 2024-06-27 13:14:48.716773+00 |
| updated_at | 2025-08-16 11:20:56.696171+00 |
| description | A lightweight CLI to fetch, summarize, and validate your GitLab issue time logs. Group entries by week, filter by date ranges, and spot anomalies like weekend work or >10h days. Read-only, fast, and cross-platform - built to make time tracking in GitLab finally usable. Made by developers for developers. gitlab-timelogs is not associated with the official GitLab project! |
| homepage | https://github.com/phip1611/gitlab-timelogs |
| repository | https://github.com/phip1611/gitlab-timelogs |
| max_upload_size | |
| id | 1285746 |
| size | 353,883 |
A lightweight CLI to fetch, summarize, and validate your GitLab issue time logs. Group entries by week, filter by date ranges, and spot anomalies like weekend work or >10h days. Read-only, fast, and cross-platform - built to make time tracking in GitLab finally usable.
Made by developers for developers. gitlab-timelogs is not associated
with the official GitLab project!
(The screenshot is slightly outdated. The latest version shows more information.)
gitlab-timelogs provides you with an overview of your time logs and prints
warnings for typical mistakes. It does not allow you to modify entries, but just
to inspect existing records, so you can fix them in GitLab (if necessary).
Development of this CLI began with GitLab 16.11. Since then, it has been regularly tested against the latest stable release (currently 18.2). Because it only relies on basic parts of the GitLab API, it should work across a wide range of GitLab versions.
Note: Certain features may be unavailable on the GitLab Free tier.
(For compilation and running.)
gitlab-timelogs builds and runs at least on the following platforms:
including different versions and architectures that Rust supports (x86, ARM).
Via cargo:
$ cargo install https://github.com/phip1611/gitlab-timelogsVia Nix / on NixOS:
nixpkgs
pkgs.gitlab-timelogs to your packagesnix-shell -p gitlab-timelogsgitlab-timelogs.nixosModules.default (gitlab-timelogs is
referring to the flake input) to the modules of your NixOS configuration,
which will add gitlab-timelogs to your system-wide packages.$ nix shell github:phip1611/gitlab-timelogs$ nix run github:phip1611/gitlab-timelogs -- <args>Via home-manager:
gitlab-timelogs.nixosModules.home-managergitlab-timelogs = {
enable = true;
config = {
gitlabHost = "gitlab.example.com";
gitlabUsername = "exampleuser";
# Either write as a string here, or read from a file that you do not push:
gitlabToken = with builtins; readFile (toPath ./gitlab-token.txt);
};
};
$ gitlab-timelogs --help$ gitlab-timelogs --host gitlab.vpn.cyberus-technology.de --username pschuster --token ********** --after 2024-06-01 --before 2024-06-30--help for guidance.GITLAB_HOSTGITLAB_USERNAMEGITLAB_TOKEN~/.config/gitlab-timelogs/config.toml (UNIX) or %LOCALAPPDATA%/gitlab-timelogs/config.toml (Windows)
with the following content: \
gitlab_host = "gitlab.example.com"
gitlab_username = "<user>"
gitlab_token = "<token>"
The MSRV is Rust stable 1.85.0.
The main motivation to create this was the unbelievable poor UX of the GitLab
web UI for time logs at that given time. For example, the input mask transformed a 1h 30 to
3d 7h instead of 1h 30m. This common pitfall was unbelievably annoying and
hard to spot - badly influencing a lot of our time records.
Hence, I created this as part of my work time at Cyberus Technology GmbH to boost our internal productivity. We love open source! Interested in a cool employer? Contact us!