- 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
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
.xlsxz 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
gitlab_client.py— klient GraphQL, pobiera events z GitLab APIaggregator.py— agreguje dane per użytkownikexporter.py— generuje plik Excel (openpyxl)main.py— punkt wejścia, CLI
Limity GitLab API
GitLab Events API zwraca max 100 eventów na stronę. Klient automatycznie obsługuje paginację.
Description
Languages
Python
100%