Я получаю только частичный вывод из объекта Groovy - PullRequest
0 голосов
/ 15 марта 2019

У меня есть объект в 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: Получается это извлеченное полетеперь рассматривается как тип "hashmap"

...