我如何组合用于Jira Server和Jira Cloud的Tempo插件的数据并将其迁移回Jira Cloud

大家好!

Atlassian Jira的Tempo插件安装在云和服务器中的大量Jira实例上。 我必须合并来自云和服务器Jira的数据,并将合并的数据设置回Cloud。 除了标准的Jira数据外,我还需要合并Tempo插件中的数据。 在本文中,我将告诉您如何进行Tempo数据的合并和迁移。

我迁移的速度数据:


  • 节奏帐户(帐户)
  • 节拍队(团队)
  • 吉拉所有ishui的“帐户”和“团队”字段的值
  • 工作日志

集成和迁移过程:


我选择了两个具有以下配置的Jira:Jira Software 7.11.2和Jira Service Desk 3.14.2。 然后,我从Jira Cloud中删除了备份并将其安装在第一个实例上,然后从Jira Server中删除了备份并将其安装在第二个实例上。 之后,我使用Configuration Manager插件将数据从第二个实例传输到第一个实例(尽管可以使用Project Configurator插件)。

结果,我发现,在第一个实例中,合并的数据已经定位并准备好传输到Cloud了,Tempo插件的以下数据丢失了:

  • 节奏帐户信息
  • 有关Tempo团队的数据
  • ish中“客户”和“团队”字段的值
  • 从Jira Cloud下载的ish工作记录的作者

在迁移期间必须填写此数据。

我如何迁移Tempo插件数据


帐目


我很幸运。 Tempo插件具有用于导出和导入帐户的内置功能。

我要做的就是在将合并的数据安装到Jira Cloud中之前,先将帐户从Jira Cloud和Jira Server导出到文件中,然后将合并的数据加载到Jira Cloud中之后,再将这些文件导入Cloud中。

只有一个问题,即Jira Cloud和Jira Server中的某些帐户密钥相同,因此我需要在它们的文件之一中更改这些密钥。 否则,当使用相同的密钥导入帐户数据时,帐户将被更新或存档,但是这些选项都不适合我。

队伍


对于团队而言,这更加困难。 没有用于传输命令的内置功能。 因此,我必须使用Tempo Rest Api来获取命令数据,然后在Jira Cloud中创建这些命令。

我使用了以下Rest调用:


我还想使用Tempo Rest Api设置命令的权限,但是在此Api中发现了一个错误。

在所有帐户和团队字段中设置正确的值


由于在组合的Jira实例上没有有关“帐户”和“团队”字段的含义的信息,因此在迁移之前,我必须保存此信息。

对于Jira Cloud,我使用Jira Rest Api搜索填写了“客户”或“团队”字段的所有项目。 然后,我将所有这些带有字段值的信息保存到文件中。

对于Jira Server,我使用Jira Java API来获取Account和Team字段的值。
结果,我从Jira Cloud和Jira Server获得了两个文件,其中包含有关ish的帐户和命令的信息。

问题是,在我将合并的数据迁移到Jira Cloud并创建了帐户和团队之后,团队和帐户ID与旧ID不一致,因此当我为ish设置了正确的团队和帐户值时,我不得不重新映射旧的ID在新的ID。

要更新“客户”和“团队”字段,我使用了标准的Jira Core Rest Api更新了Ishu

工作记录


Jira Server附带的ish的工作记录没有问题。 一切都推迟了,没有进行任何更正,但是关于在ish上使用Jira Cloud进行工作的记录存在问题。

这是由于以下事实:当使用Tempo插件添加有关Jira Cloud中工作的记录时,该记录是从Tempo插件的用户而不是从创建该记录的用户添加的。 因此,为了获得合适的用户,您需要从Tempo插件数据库中获得该用户。

因此,在进行迁移之前,我必须找到Jira Cloud工作记录的正确用户。

这样做如下:

  1. 我在Jira Cloud中找到了所有内容,其中工作记录的用户是Tempo插件的用户。 我使用标准的Jira Core Rest调用进行了此操作。
  2. 然后,在此Rest调用的帮助下,从步骤1中Ish收到的记录中获取了所有Jira id工作记录。
  3. 然后,我从Tempo插件接收了在步骤2中获得的所有工作记录的数据,并将其保存到文件中。 我使用Tempo Rest Api接收了数据。

然后,在安装了带有组合数据的备份之后,我删除了从Tempo插件的标准用户添加的所有工作记录,并从我在步骤3中收到的文件中添加了记录。

将作业记录添加到可选记录时,最好设置“剩余估算”字段。 在这种情况下,不必在每次添加作业条目时获取“剩余估算”字段的当前值。

意外问题


1.在Jira Cloud中安装Tempo Timesheets插件时,将在Jira Cloud和Tempo数据库之间创建一个连接,这是必要的,以便从Tempo插件接收数据时,它将获取Jira实例的数据。

问题是,如果您从备份中还原Jira Cloud,则从Jira Cloud中将不再可见此连接,因此您必须重新安装Tempo插件,从而在Jira Cloud和Tempo之间形成新的连接。 但是,旧链接实际上存在于Tempo数据库中。

结果,当您开始使用ish时,数据将通过旧的和新的连接拉出,而旧的连接是主要的连接(即,如果在旧的Tempo数据库中有一个与新的ID具有相同ID的命令,则该命令的名称将从旧的中拉出) DB Tempo)。 但是,如果您通过管理员的用户界面输入“团队和帐户管理”,那么我们将从上次连接中看到正确的数据。 而且,如果我们创建自定义的Tempo报告,那么我们还将看到正确的数据。 因此,必须删除旧的连接,并且只能通过与Tempo支持联系来将其删除。 真正的支持Tempo的工作非常迅速,对此我深表感谢。

2.使用Jira Server迁移工作记录后,某些工作记录的扣除日期比需要提前一天。 这是由于用户所在的时区和借记日期。 我必须编写一个程序来查找所有此类工作记录并更改日期。

总的来说,这是从Tempo插件成功传输数据所需要做的一切。 希望此信息对您有所帮助。

Source: https://habr.com/ru/post/zh-CN425613/


All Articles