git_issue_importer/update.sh
2025-03-10 18:06:17 +01:00

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 "=================================================="