DeploymentDevelopmentEntwicklertools

PhpStorm mit dem Ticketsystem Redmine nutzen

PhpStorm mit dem Ticketsystem Redmine nutzen

In diesem Tutorial für Webdeveloper zeige ich, wie man die Entwicklungsumgebung PhpStorm mit dem Ticketsystem Redmine verbindet und das Tasksystem von PhpStorm zusammen mit git-flow als Workflow umsetzen kann.

Voraussetzungen für einen erfolgreichen Workflow

Grundlage für den hier gezeigten Workflow sind PhpStorm als IDE mit installiertem git-flow-Plugin sowie ein funktionierendes Ticketsystem Redmine. Natürlich gibt es Alternativen zu dieser Kombination. PhpStorm arbeitet mit sehr vielen Systemen zusammen, und auch andere IDEs haben ähnliche Funktionen. Der Workflow im Versionskontrollsystem basiert auf unserer git-flow-Präsentation und ist aus meiner Sicht zwar im Feinen anpassbar, im Groben aber alternativlos.

Ticketsystem Redmine richtig einstellen

Das Ticketsystem sollte von außen erreichbar sein. Der zur Verknüpfung benutzte User sollte im Ticketsystem aktiv sein und Projekte und Tasks – im Weiteren auch Issues genannt – zugewiesen haben. Zusätzlich muss die REST-Api in der Konfiguration des Ticketsystems aktiviert sein.

Einstellungen im Ticketsystem redmine für PhpStorm
Einstellungen im Ticketsystem redmine für PhpStorm

In PhpStorm geht es weiter

In PhpStorm geht man zunächst über die Tastenkombi cmd+“,“ (Mac) in die Einstellungen und navigiert zu Tools -> Tasks -> Servers. Dort setzt man nach Auswahl des Ticketsystems die URL und Zugangsdaten zu seinem Ticketsystem.

PhpStorm-Einstellungen für die Verbindung mit dem Ticketsystem
PhpStorm-Einstellungen für die Verbindung mit dem Ticketsystem

Ein Klick auf den Test-Button liefert das Ergebnis:

PhpStorm mit dem Ticketsystem Redmine
PhpStorm mit dem Ticketsystem Redmine

Im zweiten Reiter stellt man die Commit-Einstellungen ein. Das Ticketsystem Redmine ist in der Lage, Commit-Nachrichten auszulesen und darauf zu reagieren. Eine sinnvolle Einstellung zur Automatisierung spart hier wertvolle Zeit.

Einstellungen in PhpStorm für die Verbindung mit dem Ticketsystem
Einstellungen in PhpStorm für die Verbindung mit dem Ticketsystem

Optimaler Workflow in PhpStorm mit dem Ticketsystem Redmine

Die Voraussetzungen sind hier ein Projekt im ausgecheckten develop-Branch, ein vorhandenes Ticket und eine eingerichtete Entwicklungsumgebung.

Die Steuerungsleiste für das Taskmanagement befindet sich im rechten oberen Bereich.

Leiste für die Ticketsystemsteuerung
Leiste für die Ticketsystemsteuerung

Über das Dropdown kommt man in den „Task öffnen“-Dialog.

Öffnen einer Issue in PhpStorm
Öffnen einer Issue in PhpStorm

Nach erfolgreichem Öffnen eines Tasks sollte man eine für den Task eingerichtete Changelist in PhpStorm und auf Ebene der Versionskontrolle einen Feature-Branch ausgecheckt haben.

Fortschritt im PHP-Projekt
Fortschritt im PHP-Projekt

Sollte man seine relevanten Entwicklungen lokal abgeschlossen haben, kommt der Zeitpunkt, an dem man seinen Code committet. Durch die Nutzung der taskrelevanten Changelisten ist dies selbst bei Bearbeitung mehrerer Issues in einem Projekt durchschaubar. Zudem verringern die voreingestellten Informationen aus dem Ticketsystem die manuell einzugebenden Informationen.

Commit der neuen Dateien
Commit der neuen Dateien

Vor dem anschließenden Push zeigt PhpStorm eine Zusammenfassung der Änderungen.

Push in unser zentrales Versionskontrollsystem
Push in unser zentrales Versionskontrollsystem

Als Abschluss muss man das Feature leider noch manuell über das git-flow-Plugin schließen, aber ich hoffe, dass das in naher Zukunft automatisiert wird.

Der Feature Branch wird geschlossen
Der Feature Branch wird geschlossen

Als Meldung sollte PhpStorm einblenden, dass der Feature-Branch erfolgreich zurückgemerged wurde.

Erfolgsmeldung aus PhpStorm für unseren Workflow
Erfolgsmeldung aus PhpStorm für unseren Workflow

Es kann zudem vorkommen, dass PhpStorm die Changelist nicht löscht. Um die Ordnung nicht zu verlieren, hilft das manuelle Löschen.

Manuelles Löschen der Changelist in PhpStorm
Manuelles Löschen der Changelist in PhpStorm

Außerdem kann es helfen, bei zu vielen Issues in der Liste auch diese manuell zu löschen.

Entfernen der Issue aus der Taskliste
Entfernen der Issue aus der Taskliste

Überprüfung in der Versionskontrolle und im Ticketsystem Redmine

Wer ähnlich wie wir Redmine mit gitolite und dem redmine git hosting nutzt, kann jetzt in seinem Projekt bei Redmine im Projektarchiv seinen neuen Workflow überprüfen.

Workflow Ansicht im Ticketsystem Redmine
Workflow-Ansicht im Ticketsystem Redmine

Weiterführende Informationen zum Beispiel vom PhpStorm-Hersteller Jetbrains bekommt ihr hier.

Nutzt ihr in euren PHP-Projekten eine andere Kombination von Ticketsystem, Versionskontrolle und IDE? Wenn ja, dann schreibt uns hier doch bitte mal, welche das sind. Denn von einem solchen Know-how-Austausch profitieren ja letztlich alle. Die oben beschriebene Kombination schulen wir übrigens auch.

Schreibe einen Kommentar

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