如何将问题从redmine迁移到tuleap

时间:2012-10-18 04:39:12

标签: redmine alm tuleap

最初我们使用Redmine作为问题管理系统,现在我们计划迁移到Tuleap系统。

两个系统都具有将问题导入/导出到.csv文件的功能。

我想知道是否有标准/简单的方法来迁移问题。

问题中的主要内容是statustitledescription

3 个答案:

答案 0 :(得分:0)

由于两个系统都可以导出包含所需项目标题的csv文件,因此某些标题不同。

需要脚本从一个系统映射到另一个系统,代码片段如下所示。

如果他们不支持应用程序(我的意思是迁移),它可以适用于其他ALM系统。

#!/usr/bin/env python
import csv
import sys

# read sample tuleap csv header to avoid some field changes
tuleapcsvfile = open('tuleap.csv', 'rb')
reader = csv.DictReader(tuleapcsvfile)
to_del = ["remaining_effort","cross_references"]
# remove unneeded items
issueheader = [i for i in reader.fieldnames if not i in to_del]

# open stdout for output
w = csv.DictWriter(sys.stdout, fieldnames=issueheader,lineterminator="\n")
w.writeheader()

# read redmine csv files for converting
redminecsvfile = open('redmine.csv', 'rb')
redminereader = csv.DictReader(redminecsvfile)
for row in redminereader:
    newrow = {}
    if row['Status']=='New':
        newrow['status'] = "Not Started"
    # some simple one to one mapping
    newrow['i_want_to' ]= row['Subject']
    newrow['so_that'] = row['Description']
    w.writerow(newrow)

导出的csv中的某些项目无法像tule一样导回到tuleap中 remaining_effortcross_references

这两个项目显示在tuleap问题的导出.csv文件中。

答案 1 :(得分:0)

提醒中有哪些“remaining_effort”和“cross_references”数据?

答案 2 :(得分:0)

有同样的问题,csv解决方案似乎对我来说太有限了:

  • 跟踪器和csv内容之间的字段匹配必须完全匹配
  • 您无法导入附件
  • 您无法链接工件
  • ...

可以使用REST API或直接读取SQL数据库从Redmine中提取问题。可以使用REST API在Tuleap中创建工件。您只是在中间需要一个脚本从Redmine中提取问题,然后将其导入Tuleap。

我用Python创建了这样的脚本:

  • 它具有插件方法,因此可以从任何错误跟踪器导入问题/错误,然后将它们保存到任何其他错误跟踪器中。
  • 目前,它仅支持从Redmine SQL数据库提取问题并使用REST API导出到Tuleap。
  • 一个人可以对其进行扩展(新插件),以从其他跟踪器(bugzilla / mantis / gitlab)中提取问题。
  • 可以扩展它(新插件)以生成Tuleap xml文件,而不是使用Tuleap REST API(此处的XML功能更强大)导入工件。

使用此方法,我将数百个问题从Redmine移植到了Tuleap,这足以满足我的需求。

看看https://github.com/jpo38/TrackerIO