You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Jenkins声明式流水线中将多行字符串参数转为数组

解决Jenkins声明式流水线多行参数转数组的问题

问题分析

你的代码存在几个关键问题:

  1. 参数定义语法不完整,缺少闭合的括号和引号
  2. 换行分隔符使用错误,应该用\n而非/n
  3. 默认输入里的空行和缩进会被带入结果,需要额外处理

修正后的完整代码

pipeline {
    agent any
    parameters ([
        text(
            defaultValue: '''
A
B
C''', 
            description: 'Enter alphabet in above format', 
            name: 'Alphabet'
        )
    ])
    stages {
        stage('Process') {
            steps {
                script {
                    // 处理步骤:去首尾空白→按换行分割→去每个元素首尾空白→过滤空行
                    def alphabetArray = params.Alphabet.trim().split('\n').collect { it.trim() }.findAll { it != '' }
                    
                    // 验证转换结果
                    echo "转换后的数组:${alphabetArray}"
                    alphabetArray.each { letter ->
                        echo "处理字母:${letter}"
                    }
                }
            }
        }
    }
}

关键说明

  • 直接通过params.Alphabet获取参数,无需额外转字符串操作
  • trim()去除参数首尾的空白和空行,避免默认值开头的空行混入数组
  • split('\n')按换行符将多行字符串分割为数组
  • collect { it.trim() }清理每个元素的前后缩进或空格
  • findAll { it != '' }过滤分割后产生的空字符串元素

内容的提问来源于stack exchange,提问作者Sourav Biswas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 09:33:15