我正在將一些代碼從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