首页 > 解决方案 > 我只接收来自对象 Groovy 的部分输出

问题描述

我在 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:原来这个提取的字段现在被认为是一种“哈希图”

标签: javagrailsgroovyjira

解决方案


推荐阅读