实践-jira 报错处理

1、使用jira的plugin okr board 。创建group之类的操作,会报错:

There was a SQL exception thrown by the Active Objects library: Database: - name:MySQL - version:5.7.32-0ubuntu0.16.04.1 - minor version:7 - major version:5 Driver: - name:MySQL Connector Java - version:mysql-connector-java-5.1.44 ( Revision: b3cda4f864902ffdde495b9df93937c3e20009be ) com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '0' for key 'PRIMARY'

google 了一下
参考文档:https://confluence.atlassian.com/confkb/duplicate-entry-0-for-key-primary-exceptions-during-plugin-update-815261206.html

解决方式就是:you have to remove sql_mode = NO_AUTO_VALUE_ON_ZERO from MySQL configuration file

  1. Stop the application.
  2. Stop MySQL
  3. Edit th
<think>我们正在处理一个关于JIRA显示“div/0”错误的问题。根据用户描述,部分内容显示为“div/0”,这通常表示在计算中出现了除以零的情况。在JIRA中,这很可能发生在自定义字段的计算公式中,或者是仪表盘上的小工具(如报告)中。 原因分析: 1. **自定义字段公式错误**:如果用户使用了自定义的数值型字段,并且编写了计算公式,那么当公式中的分母为零时,就会显示“div/0”错误。 2. **报告中的计算**:在JIRA的仪表盘上,有些小工具(如“两维筛选过滤器”或“计算过的自定义字段”)可能会进行数值计算。如果计算中分母为零,就会显示此错误。 3. **Velocity模板错误**:虽然不太常见,但如果是自定义的Velocity模板中进行了除法运算且分母为零,也可能导致此问题(但通常不会显示“div/0”,而是抛出异常,所以可能性较低)。 解决方法: 1. **检查自定义字段的计算公式**: - 进入JIRA的“管理”>“问题”>“自定义字段”,找到相关的自定义字段(尤其是计算类型的字段)。 - 编辑该字段,检查其计算公式,特别是分母部分。确保分母不会为零,或者使用条件语句避免除以零。 - 例如,将公式改为:`if(denominator == 0, 0, numerator/denominator)` 或者类似的逻辑(具体语法取决于自定义字段的公式语言)。 2. **检查仪表盘小工具**: - 如果错误出现在仪表盘的小工具中,检查该小工具的配置。特别是那些涉及比率计算的小工具(如完成率、进度等)。 - 尝试编辑小工具,查看其配置中是否有计算字段,并确保分母不为零。如果分母可能为零,则需要在计算中避免除以零。 3. **检查报告或筛选器**: - 如果错误出现在某个报告中,检查该报告所使用的筛选器(JQL)是否可能返回零条记录(导致在计算平均值等时出现分母为零)。 - 调整筛选器,确保不会出现零记录的情况,或者在报告的计算公式中加入条件判断。 4. **查看日志**: - 如果以上步骤无法确定问题来源,可以查看JIRA的日志文件(位于JIRA安装目录的`logs`文件夹中),搜索“div/0”或“除以零”等关键词,以定位具体的错误位置。 5. **更新插件**: - 如果使用了第三方插件(如ScriptRunner)来创建计算字段,确保插件是最新版本,因为旧版本可能存在bug。 6. **临时解决方案**: - 如果暂时无法修改公式或配置,可以考虑使用CSS或JavaScript来隐藏这些错误显示(不推荐,只是临时措施)。例如,使用浏览器插件或自定义JIRA样式表(如果允许)将包含“div/0”的元素隐藏。 注意:由于JIRA的具体配置和使用的插件不同,以上方法可能需要根据实际情况调整。 根据引用[3],我们可以利用DeepSeek的代码理解能力来帮助分析错误,但这里的问题不是代码错误,而是配置问题。因此,重点应放在检查配置和公式上。 如果用户无法自行解决,建议提供具体的错误出现位置(如哪个页面、哪个字段、哪个小工具)以及相关的配置信息,以便进一步分析。 相关问题: 1. 如何创建JIRA的自定义计算字段? 2. JIRA仪表盘小工具配置的常见错误有哪些? 3. 如何查看JIRA的日志文件?</think>### JIRA 部分内容显示 "div/0" 错误的原因及解决方法 #### **错误原因** "div/0" 错误表示 **除零异常**,通常发生在以下场景: 1. **自定义字段计算** - 当使用公式型自定义字段(如 ScriptRunner 的 Calculated Field)时,若公式分母出现零值(如 `$fieldA / $fieldB` 且 `$fieldB=0`),系统会返回 "div/0" 错误[^1]。 2. **仪表盘小工具配置** - 在报表小工具(如 "问题统计" 或 "二维筛选统计")中,若统计字段的分母为零(如计算完成率时未完成任务数为零),会触发此错误[^2]。 3. **Velocity 模板缺陷** - 自定义 JIRA 界面时,若 Velocity 模板中的数学运算未处理除零情况,会导致页面渲染异常[^3]。 #### **解决方法** ##### 1. **修复自定义字段公式** - **添加零值校验**:在公式中增加条件判断,例如: ```groovy // ScriptRunner 示例 if (issue.get("分母字段") != 0) { return issue.get("分子字段") / issue.get("分母字段"); } else { return 0; // 或返回提示文本 } ``` - **操作路径**:`管理 → 问题 → 自定义字段 → 编辑目标字段` ##### 2. **调整仪表盘小工具** - **修改统计逻辑**:在报表配置中避免分母为零的场景: - 例如将公式 `完成数/总任务数` 改为 `完成数/(总任务数 + 1e-5)` 防止除零。 - **操作路径**:`仪表盘 → 编辑小工具 → 配置报表` ##### 3. **检查 Velocity 模板** - 在自定义模板中加入安全处理: ```velocity #set($denominator = $customField.getValue()) #if($denominator != 0) $numerator / $denominator #else N/A #end ``` - **操作路径**:`管理 → 系统 → 用户界面 → 编辑模板` ##### 4. **临时应急方案** - 使用 CSS 隐藏错误显示(不推荐长期使用): ```css /* JIRA 自定义样式 */ div:contains("div/0") { display: none; } ``` #### **预防措施** - **数据校验**:在字段配置中设置分母字段的最小值(如必须 >0)。 - **单元测试**:通过 JIRA 的测试管理插件(如 Xray)验证公式的边界条件[^2]。 - **日志监控**:检查 `atlassian-jira.log` 定位具体报错模块: ```log grep "ArithmeticException" /var/atlassian/jira/logs/atlassian-jira.log ``` > **根本原因**:该错误本质是计算逻辑未处理边界条件,属于**缺陷管理中的异常处理缺失**[^1]。通过强化公式的鲁棒性即可解决。 --- ### 相关问题 1. 如何在 JIRA 中安全地使用 ScriptRunner 公式字段? 2. JIRA 仪表盘小工具配置有哪些常见错误需要避免? 3. Velocity 模板在 JIRA 自定义开发中的最佳实践是什么?
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值