redmine: Projekt-Wikis lesen und schreiben (0.3.0) #13

Merged
sko merged 1 commits from feat/redmine-wiki into main 2026-10-15 04:34:59 +02:00
Owner

Übernimmt redmine.py aus inmedias.it/dokumentierer@4159e0a, byte-identisch.

Was neu ist

Ein Unterbefehl wiki, gebaut nach dem Muster von news — die Betriebsart ergibt sich aus den Angaben:

./redmine.py wiki --project devops                      # Seiten auflisten
./redmine.py wiki --project devops --title Wiki         # Seite anzeigen
./redmine.py wiki --project devops --title Wiki --version 2

./redmine.py wiki --project devops --title "Bericht" \
    --text-file bericht.md --comment "Erhebung vom 13.10."

./redmine.py wiki --project devops --title "Unterseite" \
    --text-file u.md --parent "Bericht"

Drei Entwurfsentscheidungen

Ein Unterbefehl statt wiki-get/wiki-update. humhub.py trennt die Befehle, redmine.py macht es bei news und versions über die Angaben. Innerhalb dieser Datei ist das die stimmigere Form.

Vorab-Prüfung vor dem Schreiben. Redmine nutzt fürs Anlegen und fürs Ändern denselben PUT. Ein Tippfehler im Titel erzeugt damit stillschweigend eine neue Seite statt eine Fehlermeldung. Der Befehl sieht deshalb vorher nach und meldet „Angelegt" oder „Geändert" — eine zusätzliche Anfrage, die genau diesen Fehler sichtbar macht.

Kein Löschen. DELETE auf Wiki-Seiten gibt es in der API, aber nicht in diesem Befehl.

Geprüft

Gegen redmine.inmedias.it, Projekt devops, alle drei Betriebsarten:

  • Auflisten, Anzeigen, Anzeigen einer alten Fassung
  • Anlegen meldet „Angelegt", erneutes Schreiben meldet „Geändert"
  • Titel mit Leerzeichen und Umlauten (ZZ Test Umlaut äöü) — Redmine normalisiert Leerzeichen zu Unterstrichen, beide Schreibweisen treffen dieselbe Seite

Die beiden Testseiten wurden danach per DELETE wieder entfernt; das Projekt-Wiki enthält nur seine drei echten Seiten.

Mitgezogen

SKILL.md (Befehlsreferenz, Frontmatter-Beschreibung und -Version), plugin.json auf 0.3.0, marketplace.json.

🤖 Generated with Claude Code

Übernimmt `redmine.py` aus `inmedias.it/dokumentierer@4159e0a`, byte-identisch. ## Was neu ist Ein Unterbefehl `wiki`, gebaut nach dem Muster von `news` — die Betriebsart ergibt sich aus den Angaben: ```bash ./redmine.py wiki --project devops # Seiten auflisten ./redmine.py wiki --project devops --title Wiki # Seite anzeigen ./redmine.py wiki --project devops --title Wiki --version 2 ./redmine.py wiki --project devops --title "Bericht" \ --text-file bericht.md --comment "Erhebung vom 13.10." ./redmine.py wiki --project devops --title "Unterseite" \ --text-file u.md --parent "Bericht" ``` ## Drei Entwurfsentscheidungen **Ein Unterbefehl statt `wiki-get`/`wiki-update`.** `humhub.py` trennt die Befehle, `redmine.py` macht es bei `news` und `versions` über die Angaben. Innerhalb dieser Datei ist das die stimmigere Form. **Vorab-Prüfung vor dem Schreiben.** Redmine nutzt fürs Anlegen und fürs Ändern denselben `PUT`. Ein Tippfehler im Titel erzeugt damit stillschweigend eine neue Seite statt eine Fehlermeldung. Der Befehl sieht deshalb vorher nach und meldet „Angelegt" oder „Geändert" — eine zusätzliche Anfrage, die genau diesen Fehler sichtbar macht. **Kein Löschen.** `DELETE` auf Wiki-Seiten gibt es in der API, aber nicht in diesem Befehl. ## Geprüft Gegen `redmine.inmedias.it`, Projekt `devops`, alle drei Betriebsarten: - Auflisten, Anzeigen, Anzeigen einer alten Fassung - Anlegen meldet „Angelegt", erneutes Schreiben meldet „Geändert" - Titel mit Leerzeichen und Umlauten (`ZZ Test Umlaut äöü`) — Redmine normalisiert Leerzeichen zu Unterstrichen, beide Schreibweisen treffen dieselbe Seite Die beiden Testseiten wurden danach per `DELETE` wieder entfernt; das Projekt-Wiki enthält nur seine drei echten Seiten. ## Mitgezogen `SKILL.md` (Befehlsreferenz, Frontmatter-Beschreibung und -Version), `plugin.json` auf 0.3.0, `marketplace.json`. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
sko added 1 commit 2026-10-14 16:45:07 +02:00
Uebernimmt redmine.py aus inmedias.it/dokumentierer@4159e0a, byte-identisch.

Neuer Unterbefehl `wiki` nach dem Muster von `news`: ohne --title auflisten,
mit --title anzeigen, zusaetzlich mit --text/--text-file schreiben. Dazu
--comment, --parent und --version.

Mitgezogen: SKILL.md (Befehlsreferenz und Frontmatter), plugin.json und
marketplace.json.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
sko merged commit 4675ebce6a into main 2026-10-15 04:34:59 +02:00
Sign in to join this conversation.