本文介绍了Jenkinsfile主动选择参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在Multibranch Pipeline jenkinsfile(命令式)中使用此dsl脚本?

How can i use this dsl script in Multibranch Pipeline jenkinsfile(declerative)?

parameters {
        activeChoiceParam('States') {
            description('Select a state option')
            filterable()
            choiceType('SINGLE_SELECT')
            groovyScript {
                script('["Sao Paulo", "Rio de Janeiro", "Parana:selected", "Acre"]')
                fallbackScript('return ["ERROR"]')
            }
        }
        activeChoiceReactiveParam('Cities') {
            description('Active Choices Reactive parameter')
            filterable()
            choiceType('CHECKBOX')
            groovyScript {
                script('''
if (States.equals('Sao Paulo')) {
    return ['Barretos', 'Sao Paulo', 'Itu'];
} else if (States.equals('Rio de Janeiro')) {
    return ['Rio de Janeiro', 'Mangaratiba']
} else if (States.equals('Parana')) {
    return ['Curitiba', 'Ponta Grossa']
} else if (States.equals('Acre')) {
    return ['Rio Branco', 'Acrelandia']
} else {
    return ['Unknown state']
}
                       ''')
                fallbackScript('return ["Script error!"]')
            }
            referencedParameter('States')
        }
    }

当我在jenkinsfile中使用此脚本时,出现此错误:

When i use this script in jenkinsfile i get this error:

WorkflowScript:23:构建参数定义不能在第23行第5列有块. activeChoiceParam('States'){ ^

WorkflowScript: 23: Build parameters definitions cannot have blocks @ line 23, column 5. activeChoiceParam('States') { ^

WorkflowScript:32:构建参数定义不能在第32行第9列有块. activeChoiceReactiveParam('Cities'){ ^

WorkflowScript: 32: Build parameters definitions cannot have blocks @ line 32, column 9. activeChoiceReactiveParam('Cities') { ^

2个错误

at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:310)
at org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:1085)
at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:603)
at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:581)
at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:558)
at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:298)
at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:268)
at groovy.lang.GroovyShell.parseClass(GroovyShell.java:688)
at groovy.lang.GroovyShell.parse(GroovyShell.java:700)
at org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.doParse(CpsGroovyShell.java:131)
at org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.reparse(CpsGroovyShell.java:125)
at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.parseScript(CpsFlowExecution.java:560)
at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.start(CpsFlowExecution.java:521)
at org.jenkinsci.plugins.workflow.job.WorkflowRun.run(WorkflowRun.java:325)
at hudson.model.ResourceController.execute(ResourceController.java:97)
at hudson.model.Executor.run(Executor.java:429)

完成:失败

推荐答案

在Jenkins域特定语言(DSL)期间在声明性Jenkinsfiles中使用Active Choices插件时,会发生此错误.如开发人员所述, .

This error occurs when using the Active Choices Plugin in declarative Jenkinsfiles during Jenkins Domain-Specific-Language (DSL). This is not supported as stated by the developers.

这一系列的插件改变了所有权,并留下了非常过时的Wiki页面,其中充满了垃圾邮件,这会导致浪费大量时间的危险,同时在数十个位置(包括谢谢"/"ping")的垃圾评论区域中搜索相关信息

This whole arrangement of plugins changeing ownership and leaving horribly outdated wiki pages full of spam leads to the danger of an immense waste of time while searching relevant information at dozens of places including "thank you"/"ping"-spammed comment sections.

这篇关于Jenkinsfile主动选择参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-13 12:29