0

我有一个已经有一些信息的 JIRA 环境,我正在尝试将所有 bugzilla 错误合并到 JIRA 中。我正在尝试使用导入器表单 JIRA "BugzillaImportBean.java‎" 但是当它尝试插入 OS_CURRENTSTEP 表时它失败了,因为唯一的密钥冲突,本质上该 ID 已经存在于该表中的 JIRA 中。

所以它在最终的 GenericValue issue = createIssue(resultSet, getProductName(resultSet, true), componentName);

从 Bugzilla 导入数据时出错:com.atlassian.jira.exception.CreateException:无法为 #259350 创建新的当前步骤:根本原因:插入时:[GenericEntity:OSCurrentStep][id,357430][startDate,2010-07-23 05:32:14.414][status,Open][owner,][finishDate,null][actionId,0][stepId,1][dueDate,null][entryId,259350](执行以下操作时出现 SQL 异常:INSERT INTO OS_CURRENTSTEP(ID,ENTRY_ID,STEP_ID,ACTION_ID,OWNER,START_DATE,DUE_DATE,FINISH_DATE,STATUS,CALLER)值(?,?,?,?,?,?,?,?,?,?)(重复条目'357430'对于键 1))

解决此问题的最佳方法是什么?Bugzilla 数据库架构:http : //tldp.org/LDP/bugzilla/Bugzilla-Guide/dbschema.html Jira 数据库架构:http ://confluence.atlassian.com/display/JIRA/Database+Schema http://confluence。 atlassian.com/display/JIRA/Modifying+the+Bugzilla+Importer

创建表`OS_CURRENTSTEP`(
  `ID` 十进制(18,0)不为空,
  `ENTRY_ID` 十进制(18,0) 默认 NULL,
  `STEP_ID` 十进制(9,0) 默认 NULL,
  `ACTION_ID` 十进制(9,0) 默认 NULL,
  `OWNER` varchar(60) 默认为 NULL,
  `START_DATE` 日期时间默认 NULL,
  `DUE_DATE` 日期时间默认 NULL,
  `FINISH_DATE` 日期时间默认 NULL,
  `STATUS` varchar(60) 默认为 NULL,
  `CALLER` varchar(60) 默认为 NULL,
  主键(`ID`),
  KEY `wf_entryid` (`ENTRY_ID`)
) 引擎=MyISAM 默认字符集=utf8;
4

2 回答 2

1

看起来 Bugzilla 导入器对状态和工作流程步骤感到困惑。我不记得它是否尝试动态创建新的工作流程步骤?那个进口商是正确的狗的早餐,这就是为什么我编写自己的产品来进口到 JIRA。事实上,我明天再做一个。

无论如何,缩小问题范围的一种方法是导入问题的子集。也许您没有完成从 Bugzilla 状态(自定义?)到 JIRA 状态的映射?

在http://confluence.atlassian.com/display/JIRA/Issue+status+and+workflow上有更多关于这个内容的信息

〜马特

于 2010-08-09T18:30:01.673 回答
1
  1. 问题可能是重复的序列值。查看 SEQUENCE_VALUE_ITEM 表,查找“OSCurrentStep”之类的行(如果这不是名称,则表到实体名称的映射在 WEB-INF/classes/entitydefs/entitymodel.xml 中)

    select * from SEQUENCE_VALUE_ITEM where SEQ_NAME='OSCurrentStep'

    • 检查最大使用值是多少: select MAX(ID) from OS_CURRENTSTEP

    • 将 SEQ_ID 设置为大于最大使用值,四舍五入为 10 的倍数。(在http://confluence.atlassian.com/display/JIRA/Database+Schema #SEQUENCE_VALUE_ITEM 中描述)

    • 失败的重复键“357430”是 10 的倍数,这表明这是原因

  2. 一个更简单但不太可能的解决方案:您是否尝试再次导入相同的问题?

    如果是这样,那么“单击导入器中的“仅导入新问题”复选框”,如下所述:http: //confluence.atlassian.com/display/JIRA/Importing+Data+from+Bugzilla

    • (您会注意到失败的语句在此条件内 if (!onlyNewIssues || !previouslyImportedKeys.containsKey...:)
于 2010-10-07T08:15:17.037 回答