在jira中使用REST API修改自定义字段名后,CustomFieldManager未获取自定义字段

时间:2016-05-10 07:26:32

标签: jira custom-fields jira-rest-api

我正在使用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);

以上是代码。

1 个答案:

答案 0 :(得分:0)

尝试,获得价值。当您获得customfield对象时,您将获得CF本身,而不是任何问题的自定义字段的值。因此,您获得自定义字段,然后获取特定问题的值:

cfManager.getCustomFieldObjectByName(modByWhomCustomFieldName).getValue(yourIssue)

**编辑: 对于名称显示问题,请尝试在用户对象上使用getDisplayName()方法。 此致