Knowband Blog | Ecommerce Modules

Aktivieren der automatischen Beendigung von Problemen über SVN Commit in Redmine

Step1: Setup-Anweisungen für Repositories in SVN

GotoRedmine> Verwaltung> Einstellungen> Repositories?and make sure the settings are as shown below:

Fetch Commits automatisch

Wenn Sie diese Option aktivieren, startet die Anwendung automatisch die Revisionen, wenn der Benutzer versucht, auf die Repository-Seite zuzugreifen

Standardwert ist: Ja

Sie können diese Option deaktivieren und den Aufruf von Repository # fetch_changesets mithilfe von cron automatisieren, um die Revisionen für alle Repositorys im Hintergrund regelmäßig abzurufen.

Für Velocity: Wir haben es nicht deaktiviert und gleichzeitig einen automatischen Abruf durchgeführt, wenn ein neues Commit gemacht wird. Um zu wissen, wie das gleiche getan wurde, lesen Sie bitte weiter.

Beispiel: ruby script / runner “Repository.fetch_changesets” -e production Für Redmine 2.x: ruby script / rails runner “Repository.fetch_changesets” -e production Für Redmine 3.x: bin / rails runner “Repository.fetch_changesets” -e Produktion Sie können den automatischen Aufruf von Post-Commit (für SVN) und Post-Receive (für GIT) Hook einrichten und die Changesets nach jedem Commit abrufen. Bitte beachten Sie, dass beim Ausführen der obigen Anweisung Details für jedes in Redmine hinzugefügte Protokoll abgerufen werden. Wenn Sie also eine große Anzahl solcher Repositorys in den Projekten hinzugefügt haben, wird dies ein zeitaufwändiger Prozess. Für mich war es um 10 Sekunden für 1-Repository. Ich habe mehr als 100-Repositorys für verschiedene Projekte und warte daher unnötig auf jeden Abruf, wenn ein Commit in einem Repo gemacht wird. Sinnvoll Sie können alle Repositories über einen Browser mit der folgenden URL abrufen:

http: / / <Redmine-URL> / sys / fetch_changesets? Schlüssel = <Ihr Dienstschlüssel>

Um nur ein Repository über einen Browser abzurufen, verwenden Sie die folgende URL: (Das Abrufen nur des Repositorys, für das das Commit durchgeführt wurde, ist wesentlich effizienter und zeitsparender.

Bis Sie das Repository abrufen, werden die Aufgaben in Redmine nicht geschlossen.

Die Projektkennung kann entweder die Nummer des Projekts sein, zid = 1?or the identifier name that you gave the project, e.g.,?id = mobileApp

http: / / <Redmine-URL> / sys / fetch_changesets? Schlüssel = <Ihr Dienstschlüssel>? id = <Projektkennung> & Schlüssel = <Ihr Dienstschlüssel>

Beispiel:https://www.myredmineurl.com/sys/fetch_changesets?id=mypid&&key=djdj57FGDJmkj67

Lesen Sie mehr über Post-Commit-Skripte:https://www.redmine.org/projects/redmine/wiki/HowTo_setup_automatic_refresh_of_repositories_in_Redmine_on_commit

Aktivieren WS für Repository-Management

Diese Option sollte nur aktiviert werden, wenn Sie das Skript für die automatische SVN-Repository-Erstellung installiert haben.Standard: NeinUm jedoch jedes Repository beim Commit automatisch zu holen, aktivieren Sie dies, auch wenn Sie SVN Repo nicht automatisch erstellen möchten.

WS-API-Schlüssel für Repository-Verwaltung

Ein geheimer Schlüssel für das Repository-Management WS. Dies wird verwendet, um jedes Repository heimlich zu holen.

Maximale Anzahl der im Dateiprotokoll angezeigten Revisionen

Es bietet eine Möglichkeit, die Anzahl der Revisionen zu begrenzen, die vom SCM für einen bestimmten, überprüften Pfad abgerufen werden.

Auf Probleme in Commit-Nachrichten verweisen

Wenn Commit-Nachrichten aus den Repositorys abgerufen werden, werden sie nach referenzierten oder festen Problem-IDs durchsucht. Mit diesen Optionen können Sie Schlüsselwörter definieren, die in der Commit-Nachricht verwendet werden können, um automatisch auf Probleme zu verweisen oder sie zu beheben, sowie den Status, der für behobene Probleme gelten soll. Standardschlüsselwörter sind:

Für das Problem wurde kein Standardstatus definiert. Sie müssen es angeben, wenn Sie das automatische Schließen von Problemen aktivieren möchten. Wenn Sie Probleme ohne Verwendung von Schlüsselwörtern referenzieren möchten, geben Sie einen einzelnen Stern ein: * in derReferenzierung Schlüsselwörter?(Administration/Repository) setting. In this case, any issue ID found in the message will be linked to the changeset.

Example of a working commit message using default keywords:

Dieses Commit verweist auf #1, #2 und korrigiert #3

Diese Nachricht verweist auf Probleme 1 und 2 und behebt Problem 3 automatisch. Nach einem Schlüsselwort können IDs mit einem Leerzeichen, einem Komma oder & getrennt werden. Die Schlüsselwörter sind casesensitiv, und zwischen dem Schlüsselwort und dem ersten Hash wird mindestens ein Leerzeichen oder ein Doppelpunkt benötigt, um eine Übereinstimmung zu erzeugen. Weitere Beispiele, die das gleiche Ergebnis wie im obigen Beispiel ergeben:

Dieses Commit verweist auf: #1, #2 und Fixes #3 Dieses Commit verweist auf #1, #2 und korrigiert #3. Dies schreibt REFS: #1, #2 und korrigiert #3

Aktivieren Zeiterfassung

Ermöglicht die Zeitprotokollierung direkt von Commit-Nachrichten. Dies ist nur sinnvoll, wenn Sie das Modul “Zeiterfassung” in diesem Projekt aktiviert haben. In diesem Fall können Sie Ihrer Commit-Nachricht spezielle Wörter hinzufügen, um die für ein Problem aufgewendete Zeit anzugeben. Die grundlegende Syntax dafür lautet:@ <Zeit>, wo die Zeit in einer Anzahl von Stunden oder Minuten besteht. Hier ist eine Liste mit vielen gültigen Commit-Nachrichten, die funktionieren würden, wenn Sie sagen möchten, dass Sie N Stunden mit 1234 verbracht haben:

Implement Funktion #1234 @2 Implementieren Funktion #1234 @2h Funktion #1234 @2hours Implementieren Funktion implementieren #1234 @15m Funktion implementieren #1234 @15min Funktion implementieren #1234 @3h15 Funktion #1234 @3h15m Implementieren Funktion #1234 @3 implementieren: 15 Implementieren Sie die Funktion #1234 @3.25 Implementieren Sie die Funktion #1234 @3.25h Implementieren Sie die Funktion #1234 @3,25 Implementieren Sie die Funktion #1234 @3,25h

Aktivität für protokollierte Zeit

Dies ist der Typ der Aktivität, der verwendet werden sollte, wenn eine Log-Zeit in einer Commit-Nachricht gefunden wird (siehe oben).


Step2: Änderungen im Projekt vornehmen

2. Stellen Sie sicher, dass Sie das Project Repository, auf das Sie zugreifen möchten, von dem Server, auf dem Redmine installiert ist, festschreiben und aktualisieren können.

Für Geschwindigkeit:?For Velocity there is a generic user:?velsofsvnDies wird zu allen Repositories hinzugefügt und dies ist der Benutzer, der auf dem Redmine-Server verwendet wird, um die Repository-Listen zu aktualisieren, wenn Commits stattfinden. Überprüfen Sie, ob dieser Benutzer Zugriff auf das Repository hat, das für das automatische Schließen von Problemen über SVN eingerichtet ist. Falls Probleme mit dem Zugriff auftreten, überprüfen Sie, ob die IP-Einschränkungen im Repository auf dem Assembla / SVN-Host vorhanden sind. 2. Gehe zu deinem Projekt als Systemadministrator und dort zu Einstellungen> Module. Repository-Modul aktivieren 3. Füllen Sie das folgende Formular im Repository-Modul für dieses Projekt aus:

Identifikator:?Any name you wish

URL:?URL of the Assembla repository. Example:?https://subversion.assembla.com/svn/protocol.cdms/trunk

Anmeldung:?Username which has access to the above repository. For Velocity: velsofsvn

Passwort:?Password which has access to the above repository. For Velocity: Password here:??https://docs.google.com/spreadsheets/d/1DuvyfZgCx125Mv04mhCgXqrOcTW7BQPtSGPbvO9pu-g/

4. Sobald Sie Schritt abgeschlossen haben#3, wird das Repository wie folgt angezeigt:


Step3: Änderungen in Assembla SVN vornehmen

5. Um auf diese Seite zugreifen zu können, müssen Sie ein Eigentümer oder ein Mitglied mit ALL seinBerechtigungen?(learn more about roles and permissions). To get here, go to your Assembla SVN repository > Settings > General Settings.

Auslöser-URL:
Diese Funktion ruft nach jedem Commit eine bestimmte URL auf. Unser Server sendet eine Anfrage an den in der URL angegebenen Remote-Service. Das Ergebnis hängt davon ab, was ein Benutzer unter diesem bestimmten URL für diesen Dienst festlegt. GET URL nach jedem Commit kann verwendet werden, um beispielsweise einen Build auszulösen. Hier in Trigger URL müssen Sie die URL eingeben, die oben für das automatische Abrufen eines bestimmten Repository beschrieben wurde: Beispiel:https://www.myredmineurl.com/sys/fetch_changesets?id=mypid&&key=djdj57FGDJmkj67

Das ist es. Sie sollten in Betrieb sein.