Jenkins Groovy阶段传入Java ArrayList至emailext报错求助
问题描述
在Jenkins的Groovy阶段中执行如下代码:
stage('Post Build Actions') { emailext subject: "(Status ${currentBuild.result})", to: (['test1@test.co.uk', 'test2@test.co.uk']), body: '$DEFAULT_CONTENT' }
出现错误:
class hudson.plugins.emailext.EmailExtStep.setTo() expects class java.lang.String but received class java.util.ArrayList
解决方法
Jenkins的emailext插件to参数要求传入逗号分隔的字符串,而非列表对象。有两种修改方式:
- 将列表转换为逗号分隔的字符串:
stage('Post Build Actions') { def recipients = ['test1@test.co.uk', 'test2@test.co.uk'].join(',') emailext subject: "(Status ${currentBuild.result})", to: recipients, body: '$DEFAULT_CONTENT' }
- 直接传入逗号分隔的字符串:
stage('Post Build Actions') { emailext subject: "(Status ${currentBuild.result})", to: 'test1@test.co.uk,test2@test.co.uk', body: '$DEFAULT_CONTENT' }
内容的提问来源于stack exchange,提问作者lostcoder
相关产品推荐
相关产品推荐

