使用 jira 中的 REST api 修改自定义字段名称后,CustomFieldManager 未获取自定义字段
Posted
技术标签:
【中文标题】使用 jira 中的 REST api 修改自定义字段名称后,CustomFieldManager 未获取自定义字段【英文标题】:CustomFieldManager is not getting the custom field after modifying the custom field name using REST api in jira 【发布时间】:2016-09-05 00:56:31 【问题描述】:我正在使用 JIRA 中的 REST api 更改自定义字段名称。 它正在成功更改自定义字段名称。 但是当我尝试在代码中获取自定义文件时,结果为 null。
String modByWhomCustomFieldName = pluginConfigService.getMUFCustomFieldName();
System.out.println("+++++++++++++++++++In flagCustomField() modByWhomCustomFieldName is:"+modByWhomCustomFieldName);
//CustomField modByWhomCustomField = cfManager.getCustomFieldObjectByName("Description Changed By");
CustomField modByWhomCustomField = cfManager.getCustomFieldObjectByName(modByWhomCustomFieldName);
if(modByWhomCustomField != null)
System.out.println("++++++++++++++ "+modByWhomCustomField.getDescription());
在上面它没有进入 if 条件。
从这里编辑。 每当用户更改问题的描述时,我都会显示该用户。为此,我创建了一个类型为 "UserCFType" 的自定义字段。它正在显示修改描述的用户。但是对于用户 admin,它显示的是 admin(admin) 。我只想要“admin”而不是“admin(admin)”。
Object modByWhomCustomFieldOldValue = issue.getCustomFieldValue(modByWhomCustomField);
Object modByWhomCustomFieldNewValue = user;
System.out.println("+++++++++++++++++++In flagCustomField() current user is:"+modByWhomCustomFieldNewValue.toString());
ModifiedValue<Object> modifVal2 = new ModifiedValue<>(modByWhomCustomFieldOldValue, modByWhomCustomFieldNewValue);
modByWhomCustomField.updateValue(null, issue, modifVal2, changeHolder);
上面是代码。
【问题讨论】:
【参考方案1】:尝试,获得价值。当您获得 customfield 对象时,您将获得 CF 本身,而不是该自定义字段的值。因此,您获得了自定义字段,然后是针对特定问题的值:
cfManager.getCustomFieldObjectByName(modByWhomCustomFieldName).getValue(yourIssue)
**编辑:
对于名称显示问题,请尝试在用户对象上使用getDisplayName()
方法。
问候
【讨论】:
好的。您是否声明了 CfManager?并且您确定该问题对该自定义字段具有价值吗?并且customField的名称与正确的名称完全相同(区分大小写)? 是的,我已经声明了自定义字段管理器,并且问题也具有该字段的值。 那么,你能发布错误traze吗?也许你可以用 trycatch(Exception e)System.out.println(e.getStackTrace()) 包装你的代码 您好,感谢您的帮助。我知道 Jira 管理员必须将现有的自定义字段名称修改为新名称,即使用 rest api 修改的名称。 所以是空的,因为管理员没有改名?大声笑你可能会发疯!大声笑以上是关于使用 jira 中的 REST api 修改自定义字段名称后,CustomFieldManager 未获取自定义字段的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 JIRA REST API 将 JIRA Agile 问题分配给当前用户的当前 sprint?
如何使用 JIRA Cloud REST API 创建对 jira 问题的内部评论