我想编写自定义代码来支持以下行为: 父A有一个名为" ABC"父母A的每个子任务都有这个字段" ABC"作为只读" ABC"在Parent中编辑的每个孩子每次更新时都应过滤掉。显然,这不是真正的实时同步,但是一旦最终用户刷新页面以查看更新的值,就应该调用相同的值。
我真的想要一个脚本函数来读取父任务上的自定义字段以进行更改,如果更改则将该值传递给子任务。我正在使用" Script Runner"但我无法弄清楚如何做到这一点。你能否提供可以在脚本运行器中使用的脚本,我也希望自动完成所有问题的工作& s&我们实例中的子任务。
我知道这可以通过自定义脚本侦听器完成,但我需要一个可以完成此任务的脚本。
答案 0 :(得分:0)
您可以使用脚本字段轻松完成此操作。 documentation非常好。
基本上你首先要得到你的父母问题。问题对象有一个方法getParentObject(),可以执行此操作:
问题getParentObject()
如果此问题是子任务,请返回其父级。
返回:
父问题,如果问题不是子任务,则返回null。
然后您可以获得父问题的自定义字段的值。假设这是一个简单的文本字段,它看起来像这样:
String customFieldName = "My fancy custom field"
CustomFieldManager customFieldManager = ComponentAccessor.getCustomFieldManager()
Collection<CustomField> customFields = customFieldManager.getCustomFieldObjectsByName(customFieldName)
parentIssue.getCustomFieldValue(customFields.first()) as String