groovy jenkins,声明性管道-将多行默认值添加到输入文本区域

wljmcqd8  于 2023-05-21  发布在  Jenkins
关注(0)|答案(1)|浏览(143)

我有下面的DynamicReferenceParamter定义,它用于根据用户的选择将输入类型从text更改为textarea。当我使用test1时,它工作得很好,如下面的代码所示-文本区域显示为值1234,当我将其更改为test2时,它具有多行字符串,文本区域不会呈现。我没有看到任何错误,所以很难调试这个...

def test1 = '1234'
def test2 = '''
            1234
            5678
            91011
            '''
                
properties([
    parameters([
        [$class: 'DynamicReferenceParameter', 
            choiceType: 'ET_FORMATTED_HTML', 
            description: 'enter job params',
            name: 'jobArgs', 
            referencedParameters: 'lstSelection, test1, test2',
            script: 
                [$class: 'GroovyScript', 
                script: [
                        sandbox: true, 
                        script: """
                            def html
                            if (lstSelection == 'build'){
                               html = '<textarea name="value" rows="5" class="setting-input">' + '${test1}' + '</textarea>'
                            }else{
                                html = '<input type="text" name="value" placeholder="{args}" >'
                            }
                            return html
                        """
                    ] 
            ],
        omitValueField: true
        ],
    ])
])
qni6mghb

qni6mghb1#

我可以使用以下方法解决这个问题:

html = '<textarea name="value" rows="5" class="setting-input">' + `'''${test2}'''` + '</textarea>'

如果没有人有一个更好的答案。。将标记它回答在几天内

相关问题