Wie ich die Daten des Tempo-Plugins für Jira Server und Jira Cloud kombiniert und zurück in Jira Cloud migriert habe

Hallo allerseits!

Tempo-Plugins für Atlassian Jira werden auf einer großen Anzahl von Jira-Instanzen sowohl in der Cloud als auch auf Servern installiert. Ich musste die Daten aus der Cloud und dem Server Jira kombinieren und die kombinierten Daten wieder auf Cloud setzen. Zusätzlich zu den Standard-Jira-Daten musste ich auch die Daten aus dem Tempo-Plugin kombinieren. In diesem Artikel werde ich Ihnen erzählen, wie ich die Vereinigung und Migration von Tempo-Daten durchgeführt habe.

Tempo-Daten, die ich migriert habe:


  • Tempo-Konten (Konten)
  • Tempo Teams (Teams)
  • Die Werte der Felder Konto und Team für alle ishui in Jira
  • Arbeitsprotokolle

Der Integrations- und Migrationsprozess:


Ich habe zwei Jira mit der folgenden Konfiguration ausgewählt: Jira Software 7.11.2 und Jira Service Desk 3.14.2. Dann habe ich das Backup aus Jira Cloud entfernt und auf der ersten Instanz installiert, dann habe ich das Backup von Jira Server entfernt und auf der zweiten Instanz installiert. Danach habe ich die Daten mit dem Configuration Manager- Plugin von der zweiten Instanz auf die erste übertragen (obwohl das Project Configurator- Plugin verwendet werden kann).

Als Ergebnis stellte ich fest, dass in der ersten Instanz, in der sich die kombinierten Daten bereits befanden und zur Übertragung in die Cloud bereit waren, die folgenden Daten des Tempo-Plugins fehlten:

  • Tempo-Kontoinformationen
  • Daten über Tempo-Teams
  • Werte im ish für die Felder Konto und Team
  • Autoren von ish Arbeitsaufzeichnungen, die von Jira Cloud heruntergeladen wurden

Diese Daten mussten während der Migration ausgefüllt werden.

Wie ich Tempo Plugin Daten migriert habe


Konten


Ich hatte Glück mit den Konten. Das Tempo-Plugin verfügt über integrierte Funktionen zum Exportieren und Importieren von Konten.

Ich musste lediglich die Konten aus Jira Cloud und Jira Server in Dateien exportieren, bevor ich die kombinierten Daten in Jira Cloud installierte, und diese Dateien nach dem Laden der kombinierten Daten in Jira Cloud in Cloud importieren.

Es gab nur ein Problem, dass einige der Kontoschlüssel in Jira Cloud und Jira Server identisch waren. Daher musste ich diese Schlüssel in einer ihrer Dateien ändern. Andernfalls werden beim Importieren von Kontodaten mit denselben Schlüsseln die Konten entweder aktualisiert oder archiviert, aber keine dieser Optionen hat mir gefallen.

Teams


Mit Teams war es schwieriger. Es gibt keine integrierte Funktionalität zum Übertragen von Befehlen. Daher musste ich Tempo Rest Api verwenden, um Daten zu Befehlen abzurufen und diese Befehle dann in Jira Cloud zu erstellen.

Ich habe die folgenden Rest-Aufrufe verwendet:

  • Teams - um Daten über Teams zu erhalten und Teams zu erstellen
  • Teammitgliedschaft - um Teammitglieder hinzuzufügen
  • team_links - um einen Link zu einem Team in einem Projekt oder Board hinzuzufügen

Ich wollte auch Tempo Rest Api verwenden, um die Berechtigungen des Befehls festzulegen, fand aber einen Fehler in dieser API.

Festlegen der richtigen Werte in den Feldern Konto und Team für alle


Da die kombinierte Jira-Instanz keine Informationen zur Bedeutung der Felder "Konto" und "Team" enthielt, musste ich diese Informationen vor der Migration speichern.

Für Jira Cloud habe ich Jira Rest Api verwendet, um nach allen Elementen zu suchen , in denen Konto- oder Teamfelder ausgefüllt sind. Dann habe ich all diese ishs mit Feldwerten in einer Datei gespeichert.

Für Jira Server habe ich die Jira Java-API verwendet, um die Werte der Felder Konto und Team abzurufen.
Als Ergebnis habe ich zwei Dateien mit Informationen zu Konten und Befehlen für ish von Jira Cloud und Jira Server erhalten.

Das Problem war, dass nach der Migration der kombinierten Daten in Jira Cloud und der Erstellung der Konten und Teams die Team- und Konto-IDs nicht mit den alten IDs übereinstimmten. Wenn ich also die richtigen Werte für die Teams und Konten für ish festlegte, musste ich die alten neu zuordnen ID in neuen.

Um die Felder "Konto" und "Team" zu aktualisieren, habe ich die Standard- Jira Core Rest-API verwendet, um Ishu zu aktualisieren .

Arbeitsunterlagen


Es gab keine Probleme mit den Arbeitsaufzeichnungen, die von ish mit Jira Server stammen. Alles wurde ohne Korrekturen verschoben, aber es gab Probleme mit den Aufzeichnungen über die Arbeit von ish mit Jira Cloud.

Dies liegt an der Tatsache, dass beim Hinzufügen eines Arbeitsdatensatzes in Jira Cloud mithilfe des Tempo-Plugins dieser Datensatz vom Benutzer des Tempo-Plugins und nicht vom Benutzer, der diesen Datensatz erstellt, hinzugefügt wird. Um den richtigen Benutzer zu finden, müssen Sie diesen Benutzer aus der Tempo-Plugin-Datenbank abrufen.

Aus diesem Grund musste ich vor der Migration die richtigen Benutzer der Jira Cloud-Arbeitsdatensätze ermitteln.

Dies wurde wie folgt durchgeführt:

  1. Ich habe alles in Jira Cloud gefunden, wo der Benutzer des Arbeitsdatensatzes ein Benutzer des Tempo-Plugins war. Ich habe dies mit dem Standard- Jira Core Rest-Aufruf gemacht .
  2. Dann habe ich mit Hilfe dieses Rest-Aufrufs alle Jira-ID-Arbeitsaufzeichnungen von denen erhalten, die Ish in Schritt 1 erhalten hat.
  3. Dann erhielt ich Daten vom Tempo-Plugin für alle Arbeitsaufzeichnungen, die in Schritt 2 erhalten und in einer Datei gespeichert wurden. Ich habe Daten mit Tempo Rest Api erhalten .

Nachdem ich das Backup mit den kombinierten Daten installiert hatte, löschte ich alle Arbeitsdatensätze, die vom Standardbenutzer des Tempo-Plugins hinzugefügt wurden, und fügte die Datensätze aus der Datei hinzu, die ich in Schritt 3 erhalten hatte.

Es ist auch besser, das Feld Verbleibende Schätzung festzulegen, wenn Sie einen Jobdatensatz zu optional hinzufügen. In diesem Fall muss der aktuelle Wert des Felds "Verbleibende Schätzung" nicht jedes Mal abgerufen werden, wenn Sie einen Jobeintrag hinzufügen.

Unerwartete Probleme


1. Wenn Sie das Tempo Timesheets-Plugin in Jira Cloud installieren, wird eine Verbindung zwischen der Jira Cloud und der Tempo-Datenbank hergestellt. Diese wird benötigt, damit beim Empfang von Daten vom Tempo-Plugin die Daten für Ihre Jira-Instanz abgerufen werden.

Das Problem ist, dass wenn Sie Jira Cloud aus dem Backup wiederherstellen, diese Verbindung in Jira Cloud nicht mehr sichtbar ist und Sie daher das Tempo-Plugin neu installieren müssen. Dadurch wird eine neue Verbindung zwischen Jira Cloud und Tempo hergestellt. Der alte Link ist jedoch tatsächlich in der Tempo-Datenbank vorhanden.

Wenn Sie mit ish arbeiten, werden die Daten über die alten und neuen Verbindungen abgerufen, und die alte Verbindung ist primär (d. H. Wenn in der alten Tempo-Datenbank ein Befehl mit derselben ID wie in der neuen vorhanden ist, wird der Name dieses Befehls aus der alten abgerufen DB Tempo). Wenn Sie jedoch die Verwaltung von Teams und Konten über die Benutzeroberfläche des Administrators aufrufen, werden die korrekten Daten der letzten Verbindung angezeigt. Wenn wir einen benutzerdefinierten Tempo-Bericht erstellen, werden auch die richtigen Daten angezeigt. Daher muss die alte Verbindung gelöscht werden, und Sie können sie nur entfernen, indem Sie sich an den Tempo-Support wenden. Wahre Unterstützung Tempo hat sehr schnell funktioniert, wofür ich ihr dankbar bin.

2. Nachdem ich Arbeitsdatensätze mit Jira Server migriert hatte, hatten einige Arbeitsdatensätze einen Tag früher als erforderlich ein Abzugsdatum. Dies lag an der Zeitzone des Benutzers und dem Datum der Belastung. Ich musste ein Programm schreiben, um alle diese Arbeitsunterlagen zu finden und das Datum zu ändern.

Im Allgemeinen ist dies alles, was Sie tun und wissen müssen, um Daten vom Tempo-Plugin erfolgreich zu übertragen. Hoffe, diese Informationen sind hilfreich.

Source: https://habr.com/ru/post/de425613/


All Articles