Niekiedy pojawia się potrzeba masowej zmiany daty w polu Resolution dla zamkniętych już zadań. Pola nie można jednak edytować w standardowy sposób. W dzisiejszym poście pokażę jak zrobić to szybko, bezboleśnie i co najważniejsze bez bezpośredniej ingerencji w bazę danych.
Narzędziem, którego użyjemy do tego zadania będzie External System Import. Przyda się jeszcze Microsoft Excel, LibreOffice albo inne narzędzie, w którym będziemy mogli edytować plik CSV. Należy mieć również uprawnienia administratora Jira.
1. Znalezienie zadań, które będziemy edytować
W pierwszej kolejności trzeba znaleźć zadania, którym chcemy zmienić Resolution Date. Robimy to za pomocą zapytania JQL, wybierając z górnego menu Issues -> Search for issues. W moim przypadku było to project = TEST and resolution is not EMPTY and reporter = lprzybyl. Jako wynik dostałem poniższy zestaw zadań.
2. Eksport zadań do CSV i przygotowanie pliku
Jeśli zadań jest więcej wygodnie jest eksportować je do CSV i w edytorze przygotować plik do importu. Opcję tą znajdujemy po prawej stronie w rozwijanym menu Export. Przy eksporcie należy zaznaczyć, aby delimiterem pól był przecinek (coma).
Otwieramy plik CSV w edytorze i zmieniamy daty w kolumnie Resolved. U mnie będzie to data 04/Jan/21 00:00. Do całej operacji będziemy potrzebowali jedynie pól Key, Summary, Resolved oraz Resolution. Resztę możemy spokojnie usunąć. Po tej operacji nasz plik CSV powinien wyglądać jak poniżej. Zapisujemy go rzecz jasna jako .csv.
3. Import zadań
Import zawsze najlepiej jest przeprowadzić najpierw na jednym zadaniu i zweryfikować czy wszystko poszło zgodnie z planem. W takim wypadku z pliku CSV usuwamy pozostałe zadania, zostawiając tylko jedno. Załóżmy, że import testowy został już przeprowadzony, ruszamy więc z importem właściwym. Narzędzie External System Import możemy znaleźć w sekcji System (kółeczko zębate w prawym górnym rogu ekranu -> System), następnie po lewej znajdujemy sekcję IMPORT AND EXPORT i wybieramy to, czego szukaliśmy. Dalej interesuje nas import z CSV. Od tego momentu importer przeprowadzi nas przez kolejne kroki. Oczywiście importer w tym przypadku nie zaimportuje nowych zadań, a zaktualizuje już istniejące.
- File import
- Załączamy plik CSV
- Setup
- Wybieramy projekt, do którego mają być zaimportowane zadania
- Sprawdzamy czy format daty zgadza się z tym, który mamy w pliku CSV. Jeśli zadania eskportowaliśmy z Jira, to powinno tak być
- Map fields
- Ustawiamy mapowanie pól z naszego CSV do pól w Jira. U mnie wygląda to tak:
- Dodatkowo zaznaczam pola Map field value, co pozwoli mi na podejrzenie czy importowane wartości się zgadzają. Jeśli tak jest klikamy Begin Import. STOP! Jeszcze jedna rzecz:) W projekcie do którego importujemy zadania trzeba czasowo wyłączyć powiadomienia. Wchodzimy zatem w Project Settings -> Notifications -> Scheme. Następnie Actions -> Use a different scheme i z rozwijanej listy wybieramy None. Uchroni to użytkowników przed spamem powiadomień podczas masowej edycji zadań.
- Teraz możemy bezpiecznie rozpocząć import.
- Po całej operacji daty powinny być już zmienione:
- Pamiętajmy, żeby na koniec pracy przywrócić powiadomienia w projekcie.
- Ustawiamy mapowanie pól z naszego CSV do pól w Jira. U mnie wygląda to tak:
Mała uwaga na koniec – jeśli coś pójdzie nie tak podczas importu i trzeba będzie go powtórzyć, warto skorzystać z dwóch opcji, które będą dostępne na ekranie po zakończonym imporcie (niezależnie od jego powodzenia):
- download a detailed log – tu możemy zobaczyć co konkretnie poszło nie tak, dzięki czemu będziemy wiedzieli co poprawić
- save the configuration – zapiszmy konfigurację, przyda się nam, abyśmy przy powtórzeniu importu nie musieli ręcznie ustawiać parametrów, mapowania pól etc. Aby skorzystać z takiego pliku należy na ekranie głównym importu zaznaczyć checkbox Use an existing configuration file, a następnie załączyć plik.
Powodzenia! Masz uwagi? Chcesz podzielić się swoją wiedzą! Pisz, czekam na kontakt od Ciebie: contact [at] jiraforthepeople.com