使用 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 java client API实际应用

如何使用 JIRA REST API 将 JIRA Agile 问题分配给当前用户的当前 sprint?

JIRA REST API cors

如何使用 JIRA Cloud REST API 创建对 jira 问题的内部评论

SonarQube 无法使用 REST API 连接到 JIRA 7

如何使用 java rest api 在 jira 中创建问题