Jak włączyć automatyczne zamykanie problemów za pomocą funkcji SVN Commit w Redmine

Step1: Instrukcje konfiguracji repozytoriów w SVN

GotoRedmine> Administracja> Ustawienia> Repozytoria?and make sure the settings are as shown below:

automatycznie pobierać zobowiązuje

Po włączeniu tej opcji applicationatiojn automatycznie rozpoczyna pobieranie wersji, gdy użytkownik próbuje uzyskać dostęp do strony repozytorium

Wartością domyślną jest: Tak

Możesz wyłączyć tę opcję i zautomatyzować połączenie do repozytorium # fetch_changesets za pomocą crona, aby regularnie pobierać poprawki dla wszystkich repozytoriów w tle.

Dla Velocity: Nie wyłączyliśmy go i jednocześnie automatycznie generujemy pobieranie, gdy tylko zostanie wykonane nowe zatwierdzenie. Aby dowiedzieć się, jak to się stało, przeczytaj dalej.

Przykład: skrypt ruby ​​/ runner "Repository.fetch_changesets" -e production Dla Redmine 2.x: runer skryptu / rails runner "Repository.fetch_changesets" -e production Dla Redmine 3.x: runer bin / rails "Repository.fetch_changesets" -e production Możesz ustawić automatyczne wywoływanie z hakowania po zatwierdzeniu (dla SVN) i po odebraniu (dla GIT) i tworzenia zestawów zmian, które są pobierane po każdym zatwierdzeniu. Zwróć uwagę, że uruchomienie powyższej instrukcji spowoduje pobranie szczegółów dla każdego reporcjonowania dodanego w dowolnym projekcie w Redmine, więc jeśli masz dużą liczbę takich repozytoriów dodanych do projektów, proces ten staje się czasochłonny. Dla mnie było to około 10 sekund dla repozytorium 1. Mam więcej niż repozytoriów 100 dla różnych projektów, więc niepotrzebne czekanie na każde pobranie za każdym razem, gdy dokonywane jest zatwierdzenie w repozytorium, nie ma sensu. Możesz pobrać wszystkie repozytoria za pomocą przeglądarki, używając następującego adresu URL:

http: / / <redmine url> / sys / fetch_changesets? key = <Twój klucz serwisowy>

Aby pobrać tylko jedno repozytorium za pomocą przeglądarki, użyj następującego adresu URL: (Pobieranie tylko repozytorium, dla którego dokonano zatwierdzenia, jest znacznie wydajniejsze i mniej czasochłonne.

Dopóki nie pobierzesz repozytorium, zadania w Redmine nie zostaną zamknięte.

Identyfikator projektu może być numerem projektu, npid = 1?or the identifier name that you gave the project, e.g.,?id = mobileapp

http: / / <redmine url> / sys / fetch_changesets? key = <Twój klucz serwisowy>? id = <identyfikator projektu> i klucz = <twój klucz serwisowy>

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

Przeczytaj więcej o skryptach po popełnieniu błędu:https://www.redmine.org/projects/redmine/wiki/HowTo_setup_automatic_refresh_of_repositories_in_Redmine_on_commit

Włącz WS zarządzania repozytorium

Ta opcja powinna być aktywowana tylko wtedy, gdy zainstalowałeś skrypt do automatycznego tworzenia repozytorium SVN.Domyślnie: Nie.Ale aby automatycznie pobrać każde repozytorium przy zatwierdzaniu, włącz to, nawet jeśli nie chcesz automatycznie tworzyć repozytorium SVN.

Klucz WS API do zarządzania repozytorium

Tajny klucz do zarządzania WS z repozytorium. Zostanie to wykorzystane do potajemnego pobrania każdego repozytorium.

Maksymalna liczba wersji wyświetlana w dzienniku pliku

Zapewnia to sposób na ograniczenie liczby wersji, które są pobierane z SCM dla określonej, przeglądanej ścieżki.

Odwoływanie się do problemów w komunikatach o zatwierdzeniu

Po pobraniu z repozytoriów wiadomości zatwierdzenia są skanowane pod kątem identyfikatorów powiązanych lub naprawionych. Te opcje pozwalają zdefiniować słowa kluczowe, które mogą być używane w wiadomościach zatwierdzania do automatycznego odnoszenia się do problemów lub ich naprawiania, oraz status, który należy zastosować w przypadku naprawionych problemów. Domyślne słowa kluczowe to:

  • do rozwiązywania problemów: refs :, referencje :, IssueID: (małe i wielkie sprawy)
  • do naprawy problemów: poprawki :, zamyka:

Nie określono statusu domyślnego dla naprawionego problemu. Musisz go określić, jeśli chcesz włączyć automatyczne zamykanie problemów. Jeśli chcesz odnieść się do problemów bez użycia słów kluczowych, wpisz jedną gwiazdkę: * wOdwoływanie słów kluczowych?(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:

Ten commit odwołuje się do #1, #2 i naprawia # 3

Ta wiadomość dotyczy problemów 1 i 2 i automatycznie naprawi problem 3. Po tym, jak identyfikatory błędów słów kluczowych można oddzielić spacją, przecinkiem lub &. Słowa kluczowe są wrażliwe na wielkość drobnoustrojów i potrzebne jest co najmniej jedno puste miejsce lub dwukropek między słowem kluczowym a pierwszym hash, aby utworzyć dopasowanie. Więcej przykładów, które dadzą taki sam wynik jak powyższy przykład:

Ten commit odwołuje się: #1, #2 i poprawia # 3 Ten commit odwołuje się do #1, #2 i naprawia # 3 Ten commit REFS: #1, #2 i poprawia #3

Włącz rejestrowanie czasu

Umożliwia rejestrowanie czasu bezpośrednio z komunikatów o zatwierdzeniu. Ma to sens tylko wtedy, gdy aktywowałeś moduł "Monitorowanie czasu" we wspomnianym projekcie. W takim przypadku możesz dodać specjalne słowa do wiadomości zatwierdzenia, aby wskazać czas poświęcony na problem. Podstawową składnią tego jest:@ <czas>, gdzie czas składa się z kilku godzin lub minut. Oto lista wielu poprawnych wiadomości zatwierdzających, które zadziałają, jeśli chcesz powiedzieć, że spędziłeś N godzin na problemie 1234:

Zaimplementuj funkcję #1234 @2 Zaimplementuj funkcję #1234 @2h Zaimplementuj funkcję # 1234 @2hours Zaimplementuj funkcję #1234 @15m Zaimplementuj funkcję # 1234 @15min Zaimplementuj funkcję #1234 @3h15 Zaimplementuj funkcję #1234 @3h15m Zaimplementuj funkcję #1234 @3: 15 Implementuj funkcję #1234 @3.25 Implementuj funkcję # 1234 @3.25h Implementuj funkcję #1234 @3,25 Implementuj funkcję #1234 @3,25h

Aktywny czas dla zalogowanych

Jest to rodzaj aktywności, która powinna być używana podczas wykrywania czasu logowania w wiadomości zatwierdzenia (patrz wyżej).


Step2: Wprowadzanie zmian w projekcie

2. Upewnij się, że jesteś w stanie zatwierdzić i zaktualizować repozytorium projektów, do którego chcesz uzyskać dostęp z serwera, na którym zainstalowano Redmine.

For Velocity:?For Velocity there is a generic user:?velsofsvnktóra jest dodawana do wszystkich repozytoriów i jest to użytkownik użyty na serwerze Redmine do odświeżania wykazów repozytoriów, gdy mają miejsce zatwierdzenia. Sprawdź, czy ten użytkownik ma dostęp do konfigurowanego repozytorium w celu automatycznego zamknięcia problemów przez SVN. W przypadku problemów z dostępem sprawdź, czy ograniczenia IP są w repozytorium na hoście Assembla / SVN. 2. Przejdź do swojego projektu jako administrator systemu i przejdź do Ustawienia> Moduły. Włącz moduł repozytorium. 3. Wypełnij poniższy pokazany formularz w module Repozytorium dla tego projektu:

Identyfikator:?Any name you wish

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

Zaloguj się:?Username which has access to the above repository. For Velocity: velsofsvn

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

4. Po ukończeniu kroku#3, repozytorium zacznie się wyświetlać w sposób pokazany poniżej:


Step3: Wprowadzanie zmian w Assembla SVN

5. Aby uzyskać dostęp do tej strony, musisz być właścicielem lub członkiem z ALLuprawnienia?(learn more about roles and permissions). To get here, go to your Assembla SVN repository > Settings > General Settings.

Adres wyzwalacza:
Ta funkcja wywołuje określony adres URL po każdym zatwierdzeniu. Nasz serwer wysyła żądanie do usługi zdalnej określonej w adresie URL. Wynik zależy od tego, co użytkownik ustawia dla tej usługi pod tym konkretnym adresem URL. GET URL po każdym zatwierdzeniu może być użyty do wyzwolenia kompilacji na przykład. Tutaj w adresie URL wyzwalacza musisz wpisać adres URL opisany powyżej dla automatycznego pobierania określonego repozytorium: Przykład:https://www.myredmineurl.com/sys/fetch_changesets?id=mypid&&key=djdj57FGDJmkj67

To jest to. Powinieneś być gotowy do pracy.

Nitin Srivastava

Nitin Srivastava is an eCommerce expert, digital marketer and an explorer in the field of technology. A techie by profession and a writer by passion, he likes to share his ideas with his write-ups. He has been in the IT industry for over 10 years and specializes in technical writing.

Leave a Reply

Your email address will not be published. Required fields are marked *