显示在JIRA中重新打开问题的频率

时间:2013-01-30 21:46:52

标签: jira jira-plugin

我目前正在运行一个现场正在使用的开箱即用的JIRA设置。

现在我想要在每个bug中显示一个自定义字段,这个字段将显示总次数并且问题/ bug已经重新打开。

有一个类似的插件(https://answers.atlassian.com/questions/19665/how-to-count-based-on-status-jira),但是,我正在寻找一个不需要购买第三方插件的解决方案(OPS不喜欢插件)

我搜索过高低的论坛,甚至无法找到一个好的起点。我们非常感谢您的帮助。提前谢谢!

编辑:当前JIRA版本:5.2

3 个答案:

答案 0 :(得分:3)

创建一个自定义字段,用于计算打开问题的时间,并将其默认值设置为1。然后使用Behaviours Plugin将验证脚本添加到您想要计算的转换中。在验证脚本中,递增自定义字段并返回true。应该是这样的:

FormField formComponent = getFieldById(fieldChanged)
FormField formUserField = getFieldByName("UserFieldA"
formUserField.setFormValue(Integer.valueOf(formUserField.getFormValue()) + 1)

如果您在编码时遇到问题,请查看here或在此处询问。

更简单的方法是使用后续功能攻击后续功能 Jira Scripting Suite并使用它来增加字段,但它还不支持Jira 5.2。

如果您不想使用任何插件,可以使用附加到重新打开的工作流转换的Webhooks,该转换将发布到网址,而网址又会使用{{3}连接回来并增加该字段。

答案 1 :(得分:0)

A Custom field包含一些信息(公制,计数器,混合信息等),但它本身并不是逻辑。所以这里的问题是,为了增加(自定义)字段,你必须有一些逻辑这样做。所以你有三个选择:

  1. 使用您正在谈论的插件
  2. 为此
  3. 自定义构建插件
  4. 使用定制的外部应用程序,利用REST API轮询问题的变化,并在检测到“重新开放”时增加自定义字段的值。
  5. 手动分配此字段(不是真正的选项)
  6. 所以最后没有那么多不需要资源的选项 - 开发或购买一些插件。通常最好购买插件,因为你也购买了支持。但请注意,如果插件不是由Atlassian开发的,那么它可能不支持未来的JIRA版本,或者在新的JIRA版本发布后它可能不兼容。

答案 2 :(得分:0)

我的解决方案是使用以下代码将后期功能添加到“重新打开”转换中(假设您已安装并启用了Script Runner插件;还必须将自定义字段“重新打开计数”添加到相应的视图屏幕):

import com.atlassian.jira.ComponentManager
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.util.DefaultIssueChangeHolder
import com.atlassian.jira.issue.ModifiedValue

def componentManager = ComponentManager.getInstance()
def customFieldManager = componentManager.getCustomFieldManager() 
def reopenCount = customFieldManager.getCustomFieldObjects(issue).find {it.name == 'Reopen count'}
def changeHolder = new DefaultIssueChangeHolder();
def reopenCountValue = issue.getCustomFieldValue(reopenCount)
if(reopenCountValue == null) reopenCountValue = 0.0d
reopenCount.updateValue(
    null, 
    issue, 
    new ModifiedValue(
        reopenCountValue, 
        ++reopenCountValue
    ), 
    changeHolder
);