首页 > 解决方案 > Groovy:我如何 grep 字符串

问题描述

在 groovy 中,我正在尝试 grep 字符串name:并将它们添加到列表中(唯一)

我的代码:

def transitions = jiraGetIssueTransitions idOrKey:  jira_id
echo transitions.data
def valid_transitions = transitions.data.grep("name:")
echo "valid_transitions : ${valid_transitions}.data"

电流输出transitions.data

[expand:transitions, transitions:[[id:111, name:Apple to:[self:https://abc.atlassian.net/rest/api/2/status/10700, description:, iconUrl:https://abc.atlassian.net/images/icons/statuses/generic.png, name:Apple, id:10700, statusCategory:[self:https://abc.atlassian.net/rest/api/2/statuscategory/2, id:2, key:new, colorName:blue-gray, name:To Do]], hasScreen:false, isGlobal:true, isInitial:false, isConditional:false, fields:[:]], [id:161, name:Banana, to:[self:https://abc.atlassian.net/rest/api/2/status/11600, description:, iconUrl:https://abc.atlassian.net/images/icons/statuses/generic.png, name:Banana, id:11600, statusCategory:[self:https://abc.atlassian.net/rest/api/2/statuscategory/3, id:3, key:done, colorName:green, name:Done]], hasScreen:false, isGlobal:true, isInitial:false, isConditional:false, fields:[:]], [id:101, name:Mango, to:[self:https://abc.atlassian.net/rest/api/2/status/10707, description:, iconUrl:https://abc.atlassian.net/images/icons/statuses/generic.png, name:Mango, id:10707, statusCategory:[self:https://abc.atlassian.net/rest/api/2/statuscategory/4, id:4, key:indeterminate, colorName:yellow, name:In Progress]], hasScreen:false, isGlobal:false, isInitial:false, isConditional:false, fields:[:]]]]

预期输出:

 valid_transitions : ['Apple', 'Banana' , 'Mango']

标签: groovygrepjenkins-groovy

解决方案


你在那里“输出”的是已经“好”数据的 toString 。所以agrep是错误的。直接使用数据即可:transitions.data.transitions*.name


推荐阅读