Files
gitlab-contribution/README.md
Aleksander Cynarski 066539c89c feat: initial project structure
- GitLabClient: REST Events API z paginacją, pobieranie członków grupy
- Aggregator: zliczanie commitów, MR, komentarzy per użytkownik
- Exporter: generowanie pliku Excel (openpyxl) ze stylami
- main.py: CLI (click) + .env support
- README, .env.example, requirements.txt, .gitignore
2026-03-04 18:27:01 +00:00

1.3 KiB

gitlab-contribution

Narzędzie do eksportu statystyk aktywności użytkowników z GitLab do pliku Excel.

Co robi

  • Pobiera dane z GitLab GraphQL API (Events) dla zadanej grupy i zakresu dat
  • Agreguje: contributions, commity, merge requesty, komentarze
  • Generuje plik .xlsx z podsumowaniem per użytkownik

Wymagania

pip install -r requirements.txt

Konfiguracja

Skopiuj .env.example do .env i uzupełnij:

GITLAB_URL=https://gitlab.com
GITLAB_TOKEN=your_personal_access_token
GITLAB_GROUP=your-group-path
DATE_FROM=2024-01-01
DATE_TO=2024-12-31
OUTPUT_FILE=raport.xlsx

Użycie

python main.py

Lub z parametrami CLI:

python main.py --group my-group --from 2024-01-01 --to 2024-12-31 --output raport.xlsx

Struktura pliku Excel

Użytkownik Username Contributions Commity Merge Requesty Komentarze
Jan Kowalski jkowalski 142 89 23 30

Jak działa

  1. gitlab_client.py — klient GraphQL, pobiera events z GitLab API
  2. aggregator.py — agreguje dane per użytkownik
  3. exporter.py — generuje plik Excel (openpyxl)
  4. main.py — punkt wejścia, CLI

Limity GitLab API

GitLab Events API zwraca max 100 eventów na stronę. Klient automatycznie obsługuje paginację.