我在Groovy中有一个对象,在这个对象中似乎有一个地图。我试图从此对象映射中获取“值”而不是键。我该如何做这样的事情?
这是我在控制台中收到的输出,第一个是对象,第二个是fromValues属性的输出...
<com.atlassian.jira.issue.changehistory.ChangeHistoryItem@b791639b id=10130 changeGroupId=10113 userKey=Charley field=status projectId=10000 issueId=10217 issueKey=ICB-128 created=2019-03-12 14:19:22.0 nextChangeCreated=292278994-08-17 02:12:55.807 fromValues=[10003:To Do] toValues=[3:In Progress]>
[runner.ScriptRunnerImpl]: 10003
以下是我到目前为止正在与我合作的代码,以尝试获取此信息:(请您理解上下文...我正在从Jira软件中提取一个问题并提取该特定问题的历史。)
IssueManager issueManager = ComponentAccessor.getIssueManager();
def issue = issueManager.getIssueObject("ICB-128");
def changeHistoryManager = ComponentAccessor.getChangeHistoryManager()
def changeItems = changeHistoryManager.getAllChangeItems(issue)
//def changeItems = changeHistoryManager.getChangeHistoriesSince(issue, since)
changeItems.eachWithIndex { item, index ->
//log.warn(changeItems.dump())
def last_change = changeItems[index]
log.warn(last_change.dump())
def text = "LAST MODIFIED FIELD:"+ last_change["field"] + "; FROM VALUE:"+ last_change["fromValue"] + "; TO VALUE:"+ last_change["toValue"]
if (last_change["fromValue"])
{
log.warn(last_change["fromValue"])
}
}
编辑1:我已经纠正了@vahid的建议,现在两个值都返回了我想要的值。我尝试了很多方法来调用和检索该地图的值,但没有任何效果(.get或.value甚至是.key)...有什么建议吗?
编辑2:原来,此提取的字段现在被视为类型“哈希图”