我正在将一些代码从Jira Soap Api迁移到Jira Rest API。我有一个行的遗留代码,看起来像的:从jira soap api迁移到jira rest api:与getCustomFieldValues相关的问题
String estimationTypes = issue.getCustomFieldValues().find{it.customfieldId == SOME_STRING_VALUE_HERE}?.values.toString()
的issue
变量是com.atlassian.jira.rpc.soap.beans.RemoteIssue
型的,我试图迁移,并使用新的Issue
接口(com.atlassian.jira.issue.Issue
)的实现,等等我在寻找getCustomFieldValues()
方法的等效被定义为
public RemoteCustomFieldValue[] getCustomFieldValues() {
return this.customFieldValues;
}
但我没有找到它。问题接口定义Object getCustomFieldValue(CustomField customField)
这是不一样的。那么我怎样才能使用相当于getCustomFieldValues
的方法呢?
我想,如果我有一个像
List<CustomField> getCustomFields()
的方法,然后我就能够创建一个方法:像
public List<Object> getCustomFieldValues() {
List<Object> result = new ArrayList<>()
List<CustomField> customFields = getCustomFields()
for(CustomField cs: customFields) {
result.add(issue.getCustomFieldValue(cs))
}
return result
}
我的目标是使移民与上最小的可能影响遗留代码。在那里,我希望尽可能地模仿遗留代码的行为。任何帮助或指示高度赞赏。
好像'com.atlassian.jira.issue.CustomFieldManager'是您正确的 - 它提供了一些'名单 getCustomFields()'查询。 –
xerx593
@ xerx593谢谢。 CustomFieldManager是否是jira-java-rest-api的一部分?有没有办法做到这一点,而不使用java rest api并直接访问jira-rest-api端点? – alainlompo
@alainlompo,你可以勾选这个[link](https://developer.atlassian.com/jiradev/jira-apis/jira-rest-apis/jira-rest-api-tutorials/jira-rest-api-example-查询问题)从atlassian文档并使用'soapui'来测试它。 – Rao