我目前正在运行一个现场正在使用的开箱即用的JIRA设置。
现在我想要在每个bug中显示一个自定义字段,这个字段将显示总次数并且问题/ bug已经重新打开。
有一个类似的插件(https://answers.atlassian.com/questions/19665/how-to-count-based-on-status-jira),但是,我正在寻找一个不需要购买第三方插件的解决方案(OPS不喜欢插件)
我搜索过高低的论坛,甚至无法找到一个好的起点。我们非常感谢您的帮助。提前谢谢!
编辑:当前JIRA版本:5.2
答案 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包含一些信息(公制,计数器,混合信息等),但它本身并不是逻辑。所以这里的问题是,为了增加(自定义)字段,你必须有一些逻辑这样做。所以你有三个选择:
所以最后没有那么多不需要资源的选项 - 开发或购买一些插件。通常最好购买插件,因为你也购买了支持。但请注意,如果插件不是由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
);