Automatisches Generieren von Release Notes aus Trello und Hosten per Node.js

Wir verwenden Trello zur Organisation der Entwicklung. Darüber abgebildet sind unsere Sprints und die daraus resultierenden Versionen unserer Software. Da es sich bei der Software um ein Standardprodukt handelt, aber auch für Customizing herangezogen wird, sind natürlich Release Notes unabdingbar. Gerne geht dafür einmal viel Zeit verloren, daher habe ich eine für mich brauchbare Lösung entwickelt, die zudem auch via github verfügbar ist.

Nachfolgend findet sich eine Übersicht der einzelnen Tools, die ich im Einsatz habe und dieses Problem für mich lösen.

Hinweis: Alle untenstehenden Tools laufen unter Node.js und sind via Node Package Manager (npm) verfügbar. Installationen sind somit äußerst einfach.

Trello Release Notes Generator

Der erste Schritt ist, dass all jene, die Cards auf Trello abschließen, Release Notes erfassen. Darin wird beschrieben, was wie gelöst wurde inkl. etwaiger Beschreibungen, die für Leser (in unserem Fall hauptsächlich Entwickler bzw. Consulting/Sales) von Relevanz sind. Diese werden als Kommentare hinterlegt und auf Basis eines Prefix erkannt (dies kann konfiguriert werden). Zum Auslesen und Generieren kommt nun trello-releasenotes zum Einsatz.

Dieses Node.js-Modul kann auf die notwendigen Bedürfnisse hin konfiguriert werden und erzeugt aktuell Markdown-Output (zukünftige Erweiterungen á la HTML etc. sind geplant). Der Generierung liegt Mustache als Templating System zur Verfügung, wodurch einfache Anpassungen am Output vorgenommen werden können.

Wer nun beispielsweise Sublime Text einsetzt, kann zusammen mit der Markdown Preview Erweiterung bereits entsprechenden HTML Output generieren (via Chrome dann auch gleich als PDF exportieren).

Idealerweise werden jedoch alle generierten Release Notes in einem Container gesammelt und bleiben für alle stets abrufbar. Hier kommt das nächste Tool zum Einsatz.

Ideamark

Hierbei handelt es sich um eine einfaches System zum Hosten von Markdown-Dateien über einen HTTP-Server. Dieses Tool unterstützt unter anderem Live-Änderungen etc. Dieses Node.js-Modul wird ursprünglich von mir für sämtliche Konzepte, Dokumentationen und Beschreibungen von Ideen eingesetzt.

Da bei trello-releasenotes der Export-Pfad entsprechend konfiguriert werden kann, ist dieser nur auf den Dokumenten-Pfad von ideamark zu setzen. Läuft dieses, werden durchgeführte Änderungen sofort erkannt und angezeigt.

Es gibt ein eigenes CSS für die Druckansicht, wodurch beispielsweise bei Verwendung von Chrome über Drucken – falls notwendig – ein PDF (ohne Zusatztools) erstellt werden kann (sollten die Release Notes versendet werden müssen).

Wird hierfür nun ein automatischer Job eingerichtet, sind die Release Notes stets aktuell. Bei Bedarf kann ideamark auch so konfiguriert werden, dass zwei Instanzen laufen. Eine bekommt alle Änderungen sofort gesendet, die zweite nur per Publish. Damit können Release Notes nach Abschluss einer Version für potentielle Leser zur Verfügung gestellt werden, während im Zuge der Entwicklung ein aktueller Stand vorliegt bzw. geprüft werden kann.

Fazit

Wie npm können beide Module einfach installiert werden, die Einrichtung von ideamark ist nach der Installation eigentlich abgeschlossen. Für trello-releasenotes müssen einige Einstellungen vorgenommen werden. Hauptsächlich jedoch nur, um Zugriff auf Trello zu erhalten. Beide Projekte sind – denke ich – ganz gut dokumentiert, wodurch man innerhalb kürzester Zeit lauffähig sein sollte. Es muss nur noch jeder Release Notes entsprechend der Vorgaben erfassen.

Feedback

Beide Tools (und da wird wohl noch das eine oder andere Werkzeug hinzu kommen) werden von mir intensiv betreut und weiterentwickelt, allerdings vorerst nur mit meinen eigenen Anforderungen gefüttert. Wer dies ebenfalls verwenden möchte und Fragen hat, kann sich gerne an mich wenden, ebenfalls bin ich auch offen für jegliches Feedback. Es kann auch gerne jeder der möchte mitmachen :)

Veröffentlicht von Norbert Eder

Ich bin ein leidenschaftlicher Softwareentwickler. Mein Wissen und meine Gedanken teile ich nicht nur hier im Blog, sondern auch in Fachartikeln und Büchern.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Cookie-Einstellungen
Auf dieser Website werden Cookie verwendet. Diese werden für den Betrieb der Website benötigt oder helfen uns dabei, die Website zu verbessern.
Alle Cookies zulassen
Auswahl speichern
Individuelle Einstellungen
Individuelle Einstellungen
Dies ist eine Übersicht aller Cookies, die auf der Website verwendet werden. Sie haben die Möglichkeit, individuelle Cookie-Einstellungen vorzunehmen. Geben Sie einzelnen Cookies oder ganzen Gruppen Ihre Einwilligung. Essentielle Cookies lassen sich nicht deaktivieren.
Speichern
Abbrechen
Essenziell (1)
Essenzielle Cookies werden für die grundlegende Funktionalität der Website benötigt.
Cookies anzeigen