61 lines
No EOL
1.7 KiB
Bash
61 lines
No EOL
1.7 KiB
Bash
#!/bin/bash
|
|
|
|
# Automatisches Update-Skript für Forgejo Issues
|
|
# Dieses Skript kann als Cron-Job ausgeführt werden, um Issues regelmäßig zu aktualisieren
|
|
|
|
# Konfiguration
|
|
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
|
|
PYTHON_SCRIPT="$SCRIPT_DIR/forgejo_exporter.py"
|
|
OUTPUT_DIR="$SCRIPT_DIR/forgejo_issues"
|
|
LOG_FILE="$SCRIPT_DIR/forgejo_update.log"
|
|
|
|
# Forgejo-Einstellungen
|
|
REPO_OWNER="Comenius-Institut" # Ändere dies zu deinem Repository-Besitzer
|
|
REPO_NAME="FOERBICO" # Ändere dies zu deinem Repository-Namen
|
|
# Setze REPO_NAME="all" um alle Repositories des Besitzers zu exportieren
|
|
|
|
# Optionen
|
|
INCLUDE_COMMENTS=true # Auf true setzen, um Kommentare einzubeziehen
|
|
INCLUDE_CLOSED=true # Auf true setzen, um geschlossene Issues einzubeziehen
|
|
|
|
# Funktion zur Protokollierung
|
|
log() {
|
|
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" | tee -a "$LOG_FILE"
|
|
}
|
|
|
|
# Starte die Protokollierung
|
|
log "Starte Forgejo-Issues Update"
|
|
|
|
# Prüfe, ob das Python-Skript existiert
|
|
if [ ! -f "$PYTHON_SCRIPT" ]; then
|
|
log "FEHLER: Python-Skript nicht gefunden: $PYTHON_SCRIPT"
|
|
exit 1
|
|
fi
|
|
|
|
# Erstelle den Ausgabeordner, falls er nicht existiert
|
|
mkdir -p "$OUTPUT_DIR"
|
|
|
|
# Baue die Befehlszeile
|
|
CMD="python3 $PYTHON_SCRIPT --owner $REPO_OWNER --repo $REPO_NAME --output $OUTPUT_DIR"
|
|
|
|
if [ "$INCLUDE_COMMENTS" = true ]; then
|
|
CMD="$CMD --comments"
|
|
fi
|
|
|
|
if [ "$INCLUDE_CLOSED" = true ]; then
|
|
CMD="$CMD --closed"
|
|
fi
|
|
|
|
# Führe das Skript aus
|
|
log "Führe Befehl aus: $CMD"
|
|
eval $CMD >> "$LOG_FILE" 2>&1
|
|
RESULT=$?
|
|
|
|
if [ $RESULT -eq 0 ]; then
|
|
log "Update erfolgreich abgeschlossen"
|
|
else
|
|
log "FEHLER: Update fehlgeschlagen mit Exit-Code $RESULT"
|
|
fi
|
|
|
|
log "Update beendet"
|
|
echo "==================================================" |