“不明确的表达式可能是无参数的闭包表达式,也可能是Jenkins并行执行中孤立的开放代码块,

qxgroojn  于 2023-01-29  发布在  Jenkins
关注(0)|答案(1)|浏览(242)

以下代码引发以下错误。
if(!跳过语言组件测试){
^
工作流程脚本::脚本中出现Groovy编译错误。错误:"不明确的表达式可以是无参数的闭包表达式,也可以是独立的开放代码块;
解决方案:添加一个显式闭包参数列表,脚本{
2个错误
'

def SkipLanguageComponentTests = false; 
pipeline {
parameters {
    booleanParam(name: 'SkipLanguageComponentTests', defaultValue: false, description: 'XYZ')
}

stages {
    stage('Checkout Source') {
        steps {
            checkout scm
        }
    }      

    stage("Component & Language Tests"){
        steps{
            parallel (
                "componentTestsTask":{
                    //component test start
                    dir("docker"){
                        sh  script: "docker-compose -f blah blah\""
                    }
                    // some xyz step here
                    //component test ends here
                },
                "integrationTestTasks":{
                    // language test script starts
                    if(!SkipLanguageComponentTests){
                        
                        //run lang test and publish report 
                    } else {
                        echo "Skip Language Component Tests"
                    }
                    // language test script ends
                }
            )
            
        }
    }

}
'
我已经按照文档https://www.jenkins.io/blog/2017/09/25/declarative-1/进行了尝试
我已经尝试了这一基础上的答案中提到:Running stages in parallel with Jenkins workflow / pipelinestage("Parallel") { steps { parallel ( "firstTask" : { //do some stuff }, "secondTask" : { // Do some other stuff in parallel } ) } }有人能帮我解决这个问题吗?

hs1ihplo

hs1ihplo1#

您正在使用输入变量,因此请尝试引用Jenkins中的输入:

if(!params.SkipLanguageComponentTests)

相关问题