138 lines
4.3 KiB
Markdown
138 lines
4.3 KiB
Markdown
# gitea-dashboard
|
|
|
|
Dashboard CLI affichant en une commande l'état de tous les repos d'une instance Gitea : issues ouvertes, dernières releases et progression des milestones.
|
|
|
|
## Prérequis
|
|
|
|
- Python >= 3.10
|
|
- Accès à une instance Gitea avec un token API
|
|
|
|
## Installation
|
|
|
|
```bash
|
|
pip install -e .
|
|
```
|
|
|
|
## Configuration
|
|
|
|
Le dashboard se configure via deux variables d'environnement :
|
|
|
|
| Variable | Description | Défaut |
|
|
|----------|-------------|--------|
|
|
| `GITEA_URL` | URL de l'instance Gitea | `http://192.168.0.106:3000` |
|
|
| `GITEA_TOKEN` | Token API Gitea (requis) | — |
|
|
|
|
Pour créer un token : Gitea > Settings > Applications > Generate Token.
|
|
|
|
Exemple de configuration dans votre shell :
|
|
|
|
```bash
|
|
export GITEA_URL=https://gitea.tsmse.fr
|
|
# Définir GITEA_TOKEN avec la valeur obtenue depuis Gitea > Settings > Applications
|
|
```
|
|
|
|
## Usage
|
|
|
|
```bash
|
|
gitea-dashboard
|
|
# ou
|
|
python -m gitea_dashboard
|
|
```
|
|
|
|
### Vérification de la connexion
|
|
|
|
L'option `--health` vérifie que l'instance Gitea est accessible et affiche sa version ainsi que le nombre de repos disponibles. Exit code 0 si la connexion réussit, 1 sinon.
|
|
|
|
```bash
|
|
gitea-dashboard --health
|
|
# Gitea 1.21.4 — 12 repos accessibles
|
|
```
|
|
|
|
### Filtrage des repos
|
|
|
|
L'option `--repo`/`-r` filtre les repos à afficher (sous-chaîne, insensible à la casse).
|
|
L'option `--exclude`/`-x` exclut des repos de l'affichage.
|
|
Les deux options sont cumulables et répétables.
|
|
|
|
```bash
|
|
# Afficher uniquement les repos contenant "api"
|
|
gitea-dashboard --repo api
|
|
|
|
# Afficher les repos contenant "dashboard" ou "monitor"
|
|
gitea-dashboard -r dashboard -r monitor
|
|
|
|
# Exclure les repos contenant "archive" ou "test"
|
|
gitea-dashboard --exclude archive --exclude test
|
|
|
|
# Combiner inclusion et exclusion
|
|
gitea-dashboard --repo projet --exclude archive
|
|
```
|
|
|
|
### Tri des repos
|
|
|
|
L'option `--sort`/`-s` trie les repos selon un critère :
|
|
|
|
| Valeur | Description |
|
|
|--------|-------------|
|
|
| `name` | Ordre alphabétique (défaut) |
|
|
| `issues` | Nombre d'issues décroissant |
|
|
| `release` | Date de release décroissante |
|
|
| `activity` | Date du dernier commit décroissante |
|
|
|
|
```bash
|
|
# Trier par nombre d'issues (les plus actifs en premier)
|
|
gitea-dashboard --sort issues
|
|
|
|
# Trier par activité récente
|
|
gitea-dashboard -s activity
|
|
```
|
|
|
|
### Colonne Description
|
|
|
|
Le tableau affiche par défaut une colonne "Description" (tronquée à 40 caractères). Pour la masquer :
|
|
|
|
```bash
|
|
gitea-dashboard --no-desc
|
|
```
|
|
|
|
### Export JSON
|
|
|
|
L'option `--format json` exporte les données du dashboard au format JSON au lieu de l'affichage tabulaire. Utile pour intégrer le dashboard dans d'autres outils.
|
|
|
|
```bash
|
|
gitea-dashboard --format json
|
|
gitea-dashboard --format json > export.json
|
|
```
|
|
|
|
### Exemple de sortie
|
|
|
|
```
|
|
Gitea Dashboard
|
|
┏━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
|
┃ Repo ┃ Issues ┃ Release ┃ Dernier commit ┃ Description ┃
|
|
┡━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
|
|
│ mon-projet │ 3 │ v1.3.0 (il y a 2j) │ il y a 3h │ Mon super projet de dashboard │
|
|
│ autre-repo │ 0 │ — │ il y a 5j │ — │
|
|
└─────────────────┴────────┴──────────────────────┴────────────────┴──────────────────────────────────────────┘
|
|
|
|
Milestones
|
|
mon-projet / v2.0 : 3/5 (60%) [échéance dépassée]
|
|
```
|
|
|
|
## Développement
|
|
|
|
```bash
|
|
# Installer avec les dépendances de développement
|
|
pip install -e ".[dev]"
|
|
|
|
# Lancer les tests
|
|
pytest
|
|
|
|
# Vérifier le style
|
|
ruff check src/ tests/
|
|
```
|
|
|
|
## Licence
|
|
|
|
Usage personnel.
|