最初我们使用Redmine作为问题管理系统,现在我们计划迁移到Tuleap系统。
两个系统都具有将问题导入/导出到.csv文件的功能。
我想知道是否有标准/简单的方法来迁移问题。
问题中的主要内容是status
,title
和description
。
答案 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_effort
,cross_references
。
这两个项目显示在tuleap问题的导出.csv
文件中。
答案 1 :(得分:0)
提醒中有哪些“remaining_effort”和“cross_references”数据?
答案 2 :(得分:0)
有同样的问题,csv解决方案似乎对我来说太有限了:
可以使用REST API或直接读取SQL数据库从Redmine中提取问题。可以使用REST API在Tuleap中创建工件。您只是在中间需要一个脚本从Redmine中提取问题,然后将其导入Tuleap。
我用Python创建了这样的脚本:
使用此方法,我将数百个问题从Redmine移植到了Tuleap,这足以满足我的需求。