initial
This commit is contained in:
commit
b5079bdfda
9 changed files with 1964 additions and 0 deletions
128
README.md
Normal file
128
README.md
Normal file
|
|
@ -0,0 +1,128 @@
|
|||
# Forgejo Issues zu Markdown Export - Anleitung
|
||||
|
||||
Diese Anleitung erklärt, wie du den Forgejo-to-Markdown Exporter einrichten und verwenden kannst, um Issues in Markdown-Dateien zu exportieren und sie für Knowledge-Management-Tools wie MSTY zu nutzen.
|
||||
|
||||
## Überblick
|
||||
|
||||
Der Exporter bietet folgende Funktionen:
|
||||
|
||||
- Export aller Issues eines Repositories oder einer Organisation in Markdown-Dateien
|
||||
- Inkrementelle Updates (nur geänderte Issues werden aktualisiert)
|
||||
- Einbeziehung von Kommentaren und Metadaten
|
||||
- Formatierung als strukturierte Markdown-Dokumente
|
||||
- Erstellung einer Indexdatei für den einfachen Zugriff
|
||||
|
||||
## Installation
|
||||
|
||||
### Voraussetzungen
|
||||
|
||||
- Python 3.11 oder höher
|
||||
- Internetverbindung zum Forgejo-Server
|
||||
- Berechtigungen zum Lesen der Forgejo-Issues
|
||||
|
||||
### Einrichtung
|
||||
|
||||
1. Speichere das Skript
|
||||
Am besten installierst du den Exporter über den befehl `git clone https://git.rpi-virtuell.de/joachim-happel/git_issue_importer.git` danach wechselst eu in das Verzeichnis mit `cd git_issue_importer`
|
||||
|
||||
2. Kopiere die Datei .env.template nach .env und setze die URl zu deiner forgejo Instanz:
|
||||
|
||||
```text
|
||||
FORGEJO_URL = "https://git.rpi-virtuell.de"
|
||||
FORGEJO_TOKEN = "dein-token"
|
||||
```
|
||||
den Token kannst du unter https://git.rpi-virtuell.de/user/settings/applications generieren
|
||||
|
||||
3. Installiere die erforderlichen Abhängigkeiten:
|
||||
|
||||
```bash
|
||||
pip install requests python-dotenv
|
||||
```
|
||||
|
||||
|
||||
## Verwendung
|
||||
|
||||
### Grundlegende Verwendung
|
||||
|
||||
Führe das Skript mit den erforderlichen Parametern aus:
|
||||
|
||||
```bash
|
||||
python forgejo_exporter.py --owner "Comenius-Institut" --repo "FOERBICO" --output "./forgejo_issues"
|
||||
```
|
||||
|
||||
### Alle verfügbaren Parameter
|
||||
|
||||
```
|
||||
--owner : Repository-Besitzer (Benutzer oder Organisation) [erforderlich]
|
||||
--repo : Repository-Name oder 'all' für alle Repositories [erforderlich]
|
||||
--output : Ausgabeordner für Markdown-Dateien [Standard: ./forgejo_issues]
|
||||
--comments : Kommentare einbeziehen [optional Flag]
|
||||
--closed : Geschlossene Issues einbeziehen [optional Flag]
|
||||
```
|
||||
|
||||
### Beispiele
|
||||
|
||||
**Export eines einzelnen Repositories mit Kommentaren:**
|
||||
```bash
|
||||
python forgejo_exporter.py --owner "Comenius-Institut" --repo "FOERBICO" --output "./forgejo_issues" --comments
|
||||
```
|
||||
|
||||
**Export aller Repositories einer Organisation inkl. geschlossener Issues:**
|
||||
```bash
|
||||
python forgejo_exporter.py --owner "Comenius-Institut" --repo "all" --output "./forgejo_issues" --closed
|
||||
```
|
||||
|
||||
**Export mit allen Optionen:**
|
||||
```bash
|
||||
python forgejo_exporter.py --owner "Comenius-Institut" --repo "FOERBICO" --output "./forgejo_issues" --comments --closed
|
||||
```
|
||||
|
||||
## Automatisierung
|
||||
|
||||
Um die Aktualisierung zu automatisieren, kannst du das bereitgestellte Bash-Skript verwenden:
|
||||
|
||||
1. Speichere das Bash-Skript als `update_forgejo.sh`
|
||||
2. Mache es ausführbar: `chmod +x update_forgejo.sh`
|
||||
3. Passe die Einstellungen im Skript an (Repository-Besitzer, Repository-Name)
|
||||
4. Führe es manuell aus oder richte einen Cron-Job ein
|
||||
|
||||
### Einrichtung eines Cron-Jobs für regelmäßige Updates
|
||||
|
||||
Öffne die Crontab-Konfiguration:
|
||||
```bash
|
||||
crontab -e
|
||||
```
|
||||
|
||||
Füge eine Zeile für tägliche Aktualisierungen hinzu:
|
||||
```
|
||||
# Aktualisiere Forgejo-Issues jeden Tag um 3:00 Uhr
|
||||
0 3 * * * /pfad/zu/update_forgejo.sh
|
||||
```
|
||||
|
||||
## Ausgabestruktur
|
||||
|
||||
Nach der Ausführung des Skripts enthält der Ausgabeordner folgende Dateien:
|
||||
|
||||
- `index.md`: Eine Übersicht aller Issues, gruppiert nach Repository
|
||||
- `_metadata.json`: Metadaten für inkrementelle Updates (nicht löschen!)
|
||||
- Einzelne Markdown-Dateien für jedes Issue, mit dem Namensformat:
|
||||
`{repository_owner}_{repository_name}__issue_{number}_{title}.md`
|
||||
|
||||
### Struktur einer Issue-Datei
|
||||
|
||||
Jede generierte Markdown-Datei enthält:
|
||||
|
||||
1. **Titel und Issue-ID**
|
||||
2. **Metadaten** (Repository, Autor, Status, Daten, URL)
|
||||
3. **Labels** (falls vorhanden)
|
||||
4. **Milestone** (falls vorhanden)
|
||||
5. **Beschreibung** des Issues
|
||||
6. **Kommentare** (wenn mit `--comments` aktiviert)
|
||||
|
||||
## Integration mit Knowledge-Management-Tools
|
||||
|
||||
### Verwendung mit MSTY
|
||||
|
||||
1. Wähle den Ausgabeordner als Knowledge Stack in MSTY
|
||||
2. Klicke auf Compose (kann einige Minuten dauern)
|
||||
3. Führe das Update-Skript und Compose regelmäßig aus, um die Wissensdatenbank aktuell zu halten
|
||||
Loading…
Add table
Add a link
Reference in a new issue