我正在使用JIRA中的REST api更改自定义字段名称。 它正在改变自定义字段名称。 但是当我试图在代码中获取自定义文件时,我的结果是为空。
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);
以上是代码。
答案 0 :(得分:0)
尝试,获得价值。当您获得customfield对象时,您将获得CF本身,而不是任何问题的自定义字段的值。因此,您获得自定义字段,然后获取特定问题的值:
cfManager.getCustomFieldObjectByName(modByWhomCustomFieldName).getValue(yourIssue)
**编辑:
对于名称显示问题,请尝试在用户对象上使用getDisplayName()
方法。
此致