我可以将WORKSPACE中的元素列表传递给Groovy脚本吗?
我的意思是,我在Jenkins工作空间中有一些文件,其中包含元素
"element1", "element2", "element3", "element4"
我想将此文件作为列表传递给Groovy脚本
List components = ["element1", "element2", "element3", "element4"]
我试着用
List componentsList = []
env.Components = sh(script: "cat $WORKSPACE/File", returnStdout: true).trim().componentsList.addAll()
但它不工作(错误消息来自Jenkins)
groovy.lang.MissingPropertyException: No such field found: field java.lang.String componentsList
P.S.我需要这个列表创建一个Map从2列表在未来
顺便说一句,我想我可以避免使用sh
来从文件中获取内容。也许使用Groovy工具更好?
1条答案
按热度按时间zdwk9cvp1#
我不想尝试使用
sh()
,因为它所做的一切就是阅读文件。你可以跳过定义List和sh,使用
readFile
会从当前工作目录(很可能是工作区根目录)将文件读入String。需要考虑的一件事是,如果这些组件位于单独的行上,您可以执行以下操作: