Crates.io | gitlab-timelogs |
lib.rs | gitlab-timelogs |
version | 0.4.0 |
source | src |
created_at | 2024-06-27 13:14:48.716773 |
updated_at | 2024-09-03 12:54:51.369938 |
description | CLI utility to assist you with your time logs in GitLab. 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 | 339,488 |
CLI utility to assist you with your time logs in GitLab. The GitLab web UI for
time logs is very rudimentary and the UX is poor (June 2024, GitLab 16.11),
especially a summary view is missing. This is where gitlab-timelogs
help you
by leveraging the GitLab API.
This CLI is made by developers for developers who want to check their timelogs
at the of the work day or week. 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).
(For compilation and running.)
gitlab-timelogs
builds and runs at least on the following platforms:
Note that I only tested recent versions of these OSs in Mid-2024. Older versions of these systems should work as well.
Via cargo:
$ cargo install https://github.com/phip1611/gitlab-timelogs
Via Nix / on NixOS:
gitlab-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-manager
gitlab-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_HOST
GITLAB_USERNAME
GITLAB_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.74.0
.
The main motivation to create this was the unbelievable poor UX of the GitLab
web UI for time logs. For example, the input mask transformed a 1h 30
to
3d 7h
instead of 1h 30m
. This common pitfall was unbelievable 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!