AI-Powered Release Notes App

Für unser Unternehmen haben wir den Prozess der Release-Notes-Erstellung automatisiert, wodurch manuelle Arbeit und Fehler reduziert wurden. Dies sparte jährlich 140 Stunden Aufwand und sorgte für transparente, gut strukturierte Updates.
Branche

Softwareentwicklung

Thema

Automatisierung, GenAI,
Machine Learning

Tools

Jira, Azure OpenAI

Generierte Mehrwerte

Zeitersparnis

Die automatisierte Erstellung der Release Notes reduziert den manuellen Aufwand um bis zu 75%. Für das Projekt bedeutet dies eine Einsparung von etwa 140 Stunden pro Jahr.

Konsistenz und Genauigkeit

Die Nutzung von KI-Modellen stellt sicher, dass die Release Notes konsistent und frei von menschlichen Fehlern sind.

Verbesserte Effizienz

Die schnelle und effiziente Generierung von Release Notes ermöglicht es den Entwicklern, sich auf wichtigere Aufgaben zu konzentrieren.

Skalierbarkeit

Die Lösung kann leicht auf andere Projekte übertragen werden, was zu weiteren Zeiteinsparungen führt.

Projektbeschreibung

Release Notes sind essenzielle Dokumente im Bereich der Softwarelösungen, da sie die Änderungen in der aktuellen Softwareversion transparent darlegen. Sie informieren die Nutzer über neue Funktionen, Verbesserungen und Fehlerbehebungen und tragen somit wesentlich zum Verständnis und zur effizienten Nutzung der Software bei. Die manuelle Erstellung von Release Notes ist ein zeitaufwändiger und fehleranfälliger Prozess. Für jedes Release müssen Entwickler und Projektmanager relevante Informationen aus Jira-Tickets und GitLab-Merge-Requests sammeln und in verständliche und gut strukturierte Release Notes umwandeln.

Das Durchsuchen von Jira-Tickets nach relevanten Einträgen und Informationen.
Das Extrahieren und Strukturieren von Informationen aus Merge-Requests und Commits.
Das Erstellen eines zusammenhängenden und lesbaren Dokuments zu Änderungen und Funktionen.

Lösung

Um diese Herausforderungen zu adressieren, entwickelten wir die "AI-Powered Release Notes" App. Diese Anwendung automatisiert den gesamten Prozess der Erstellung von Release Notes durch die Nutzung von GenAI- und Machine Learning-Technologien. Die Lösung umfasst folgende Schritte:

Initiierung des Prozesses

Der Benutzer startet den Prozess zur Erstellung der Release Notes durch Angabe des Jira-Projekts, der GitLab-Repository-URL und des Anfangsdatums.

Datenaggregation

Jira-Tickets mit dem Flag „Release Notes“, dazugehörige Merge Requests sowie relevante Commits und Kommentare aus GitLab werden erfasst, um eine klare Nachverfolgbarkeit sicherzustellen.

KI-gestützte Analyse und Strukturierung

Ein Large Language Model (LLM) analysiert und strukturiert die gesammelten Daten, kategorisiert sie und bereitet sie für die Generierung der Release Notes vor.

Generierung der Release Notes

Die vorbereiteten Daten werden mithilfe eines Text-Generierungsmodells (Azure OpenAI) in verständliche und gut strukturierte Release Notes umgewandelt.

Dokumentengenerierung

Die generierten Release Notes werden in ein exagon Word-Template integriert und können als Word- und PDF-Dokument heruntergeladen werden.

Technologien

Frontend-Entwicklung

Streamlit

Ein Framework zur Erstellung interaktiver Webanwendungen in Python. Es ermöglicht eine einfache und schnelle Erstellung von Benutzeroberflächen direkt aus Python-Skripten.

Interaktive Benutzeroberfläche

Ermöglicht die Auswahl des KI-Modells, das Abrufen und Anzeigen von Jira-Tickets sowie die Generierung und Anzeige von Release Notes.

Dynamische Visualisierung

Die abgerufenen Jira-Tickets werden in einer interaktiven Tabelle angezeigt, und die generierten Release Notes werden im Markdown-Format dargestellt.

Backend-Entwicklung

FastAPI

Ein modernes, schnelles Web-Framework für die Erstellung von APIs mit Python.

API-Endpunkte

Stellt verschiedene API-Endpunkte bereit, um Jira-Tickets abzurufen, Release Notes zu generieren und Dokumente herunterzuladen.

Dokumentengenerierung

Integriert die Release Notes in ein exagon Word-Template und konvertiert diese in Word- und PDF-Dokumente.

Skalierbarkeit

Docker

Das Frontend und das Backend laufen in Docker-Containern, die über Portainer verwaltet werden. Dies ermöglicht eine einfache Bereitstellung und Skalierbarkeit der Anwendung.

Projektexposé

Die "AI-Powered Release Notes" App stellt eine bahnbrechende Lösung für die Herausforderungen dar, die mit der manuellen Erstellung von Release Notes verbunden sind. Durch den Einsatz von Generativer KI und Machine Learning wird der gesamte Prozess automatisiert, was zu erheblichen Zeit- und Ressourceneinsparungen führt. Die Anwendung ermöglicht eine konsistente und fehlerfreie Erstellung von Release Notes, wodurch die Effizienz und Genauigkeit deutlich gesteigert werden. Entwickler und Projektmanager können sich dank der automatisierten Prozesse stärker auf ihre Kernaufgaben konzentrieren, während die App gleichzeitig eine skalierbare Lösung bietet, die problemlos auf andere Projekte übertragen werden kann. Insgesamt zeigt das Projekt eindrucksvoll, wie moderne Technologien die Arbeitsweise in der Softwareentwicklung revolutionieren können, indem sie repetitive und zeitaufwändige Aufgaben übernehmen und so den Weg für mehr Innovation und Produktivität ebnen.