从bugzilla迁移数据到jira

原创 2005年05月31日 18:58:00

公司终于还是决定买jira。于是要开始把bugzilla上面原有的bug数据迁移到jira上面。

一开始考虑的方法是导出成csv文件再在jira中导入,可是这样做的话很多关联的数据就很难处理,而且所有的附件(截屏)都无法迁移。

搜索了一下,http://www.atlassian.com/software/jira/docs/v3.1.1/bugzilla_import.html 上面介绍说现在直接从mysql迁移数据过来已经可以保留所有附件了,不过看到其他一些人的评论,估计迁移过程还是会有各种麻烦。先不管,按照说明动手倒倒看。果然出错了:

Select Bugzilla projects to import

Step 2 of 3: Select Bugzilla projects to import

Form Errors:

  • Error importing data from bugzilla: java.sql.SQLException: Unknown type '246 in column 25 of 28 in binary-encoded result set. at com.mysql.jdbc.MysqlIO.extractNativeEncodedColumn(MysqlIO.java:3710) at com.mysql.jdbc.MysqlIO.unpackBinaryResultSetRow(MysqlIO.java:3620) at com.mysql.jdbc.MysqlIO.nextRow(MysqlIO.java:1282) at com.mysql.jdbc.MysqlIO.readSingleRowSet(MysqlIO.java:2198) at com.mysql.jdbc.MysqlIO.getResultSet(MysqlIO.java:413) at com.mysql.jdbc.MysqlIO.readResultsForQueryOrUpdate(MysqlIO.java:1899) at com.mysql.jdbc.MysqlIO.readAllResults(MysqlIO.java:1347) at com.mysql.jdbc.ServerPreparedStatement.serverExecute(ServerPreparedStatement.java:1393) at com.mysql.jdbc.ServerPreparedStatement.executeInternal(ServerPreparedStatement.java:958) at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1705) at com.atlassian.jira.util.BugzillaImportBean.createIssues(BugzillaImportBean.java:224) at com.atlassian.jira.util.BugzillaImportBean.create(BugzillaImportBean.java:169) at

......

 

查了一下,有可能是数据库版本太高造成的。因为bugzilla和其他的项目共用了一个mysql5.0Unknown type '246 大概是mysql5.0里面新的数据类型标记,旧的jdbc连接器无法识别它。

http://downloads.mysql.com/snapshots.php 下了最新的connector(就是jdbc驱动)回来解压后把里面的jar文件放到jiraWEB-INF/lib目录下,关掉jira后删掉旧的connector,重开jira,迁移成功了。

jira看看,bug都过来了,附件也都可以看,可是全部中文提示都变成乱码了

试试将jdbcurl加上useUnicode=true&characterEncoding=gbk,还是一样。

 

clark的提醒下,改了my.ini里面的default-character-set=latin1改成default-character-set=gbk了,不但jdbc出来的仍旧是乱码,连bugzilla都显示乱码了,还是改回去。

 

上网继续搜,终于在java mysql 中文问题的处理 看到了令人比较满意的解释:MysqlconnectorJ里面有bug(可是这么久了就是没有改正呢?)。现在有两个解决方案,一是改mysql的源码,自己编译connectorJ,二是是改BugzillaImportBean.java 的代码,自己编译并替换jiraBugzillaImportBean.class

 

网上 有人在抱怨BugzillaImportBean.java很不好改,那么长一串import要一个一个添到classpath里面都要办天,不知道那位老兄是不是只用VIjava的。我们用IDE的比他幸福多了。在jira目录下搜出来全部jar文件,拷贝到一个目录下,然后在JBuilderconfig libraries 里面添加一个jira目录,把这下jar文件全部天到这个目录下,顺便把jiraclasses目录的路径也添加到这个目录下,然后开一个工程引用这个目录进来,在工程里面建com.atlassian.jira.util包,然后把BugzillaImportBean.java放进去就可以编译通过了。改一个试试看:

 

fields.put(IssueFieldConstants.SUMMARY, new String(resultSet.getString("short_desc").getBytes("ISO8859-1")));

 

编译后替换调jiraBugzillaImportBean.class,果然不错。


改后的完整源码和编译后的类文件在这里

至于方案一,请看我的另一篇文章:MySQL 的jdbc为何不能正确的编码汉字

相关文章推荐

开源缺陷管理工具Bugzilla与JIRA的对比

JIRA是澳大利亚Atlassian公司开发的一款不错的商业问题跟踪工具,包括bug、需求变更、评审记录等均可以在这个软件中进行管理。而Bugzilla则是一款开源免费的bug跟踪工具。在本文,我将B...

windows 安装部署JIRA & mysql数据迁移

【白纸菜鸟部署JIRA可费劲了,花了好长时间,期间也碰到许多问题,经过一番周折,参考大家的攻略,终于成功了。这文章仅作工作备忘吧,目测略啰嗦。】 一、准备工作 1、服务器准备:IP地址,管理员账号...

bugzilla如何备份数据,导入导出数据库

bugzilla使用的数据库是MySQL中的bugs,那么如何备份bugs?有手动备份和自动备份两种方式。   一、手动备份与导入:         以管理员身份打开windows   cmd命令行,...

bugzilla迁移需要修改的文件

数据库授权: grant all on bugs.* to root@localhost identified by "root"; #授权 flush privileges; # 刷新 ----...

JIRA的敏捷过程度量数据

  • 2015年08月26日 19:19
  • 631KB
  • 下载

python实战三:通过任务计划定期获取jira数据并保存到csv

配置任务计划,每天获取一次jira.bug统计数据并保存到csv,为后续制作报表提供基础数据...

python实战一:将excel数据导入到jira

excel&jira同步背景: 第三方测试会以excel形式提交buglist,这个buglist需要同步到jira中,在jira进行跟踪,并将处理结果反馈给第三方;以往都是复制粘贴,为了减轻繁...

Jira数据导出,Java写mpp文件

关键字: Jira和MsProject互导/java写MsProject文件/java写Mpp文件/nileader/ni掌柜         1.       从JIRA上读取数据。 2....

Jira平台数据自动化获取(三)--获取数据并写入Mysql

我们现在已经得到了需获取的数据,现研究如何记录数据。 开始想着将数据写入到excel中,查了一些资料,发现nodejs写入到xls文件中自己还是实现不了逐列去写数据,故放弃写入excel中,直接写入到...

记一次服务器迁移,包括jira、svn

公司新买的一个服务器,放在公司内部使用,准备将原来放在阿里云服务器上的jira迁移过来。原先将jira部署在阿里云上是由于公司还没有购买服务器,所以暂时部署在云上,结果用了一段时间之后,同事们经常反映...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:从bugzilla迁移数据到jira
举报原因:
原因补充:

(最多只允许输入30个字)