Groovy Split 在 Jenkins Pipeline 中未按预期工作

Jos*_*ose 1 groovy split jenkins jenkins-groovy jenkins-pipeline

我正在尝试根据分隔符“.”拆分字符串。(点)在Jenkins 管道中使用常规 split 函数,我想将拆分子字符串分配给单行中的多个变量。以下是我的代码(它在 groovy 中工作),并且我在 Jenkins 管道中不断收到错误,我在这里做错了什么?有没有其他方法可以做到这一点?非常感谢任何指点。

    IP="192.168.234.20"
    def (env.W, env.X, env.Y, env.Z) = IP.split('\\.')
    
    Error:
    WorkflowScript: 543: expecting an identifier, found ',' @ line 543, column 28.
     (env.W, env.X, env.Y, env.Z) = IP.split('\\.')
           ^
Run Code Online (Sandbox Code Playgroud)
    IP="192.168.234.20"
    (env.W, env.X, env.Y, env.Z) = IP.split('\\.')
    
    Error:
    WorkflowScript: 543: expecting ')', found ',' @ line 543, column 24.
     (env.W, env.X, env.Y, env.Z) = IP.split('\\.')
           ^
Run Code Online (Sandbox Code Playgroud)

Alt*_*taf 6

您需要定义变量IP,并且可以使用splittokenize
下面是一个工作示例:

def IP = "192.168.234.20"
def (W,X,Y,Z) = IP.split('\\.')
                    println(W)
                    println(X)
                    println(Y)
                    println(Z)
// OR
def (A,B,C,D) = IP.tokenize('\\.')
                    println(A)
                    println(B)
                    println(C)
                    println(D)

Run Code Online (Sandbox Code Playgroud)