Jira Scriptrunner - 修改子字段

时间:2017-10-02 15:36:33

标签: groovy jira

在Jira中,我们有一系列子任务都属于一个共同的父任务。为了便于解释,这些子任务将被称为这样,并且父任务将被称为课程。

在每个子任务上,都有一个字段'Percent Complete',当用户在子任务上取得进展时,该字段由用户手动更新。

课程还会有一个“完成百分比”字段,用户无法手动更新。相反,当用户更新子任务的“完成百分比”字段时,我希望通过执行Groovy脚本来更新它,因为课程的完成百分比将包含子子任务的完成百分比字段的加权和。

我是一名没有Jira定制经验的程序员。获得Lesson任务的Percent Complete值背后的实际逻辑非常简单,但我不知道如何“将所有东西都挂起来”。所以我的问题是:

当子(子任务)字段的值发生变化时,如何触发父任务(课程)中的字段更新为计算值?

我最初的想法是在子任务中创建自定义脚本字段,并在附加的groovy脚本中找到其父任务(课程),然后遍历其所有子任务,执行相关的计算。必填字段,然后将结果写入属于父级的自定义字段。

这是正确的方法吗?

1 个答案:

答案 0 :(得分:1)

脚本字段不是您尝试实现的方法的好方法。每次请求问题时,都会对脚本字段进行评估并运行其脚本,因此它会经常运行以满足您的需求。例如。每当执行jira reindex或用户查看问题时,它也会针对每个问题运行。

Zeddzull评论了一个更好的方法。在脚本侦听器中,您可以响应问题更新事件并检查哪个字段已更新,并且仅在需要时更新您的父问题。

有更多文档here。 如果您稍微google一下,您还会找到有关如何检查更改字段或如何更新自定义字段的信息。

获取您的父问题就像在问题实例上调用getParentObject()一样简单。