使用此关键字作为Jenkins文件中类构造函数的参数

时间:2018-03-07 02:38:50

标签: java jenkins groovy jenkins-pipeline

我最近在Jenkinsfile中遇到了以下几行

def obj = new Foo(this, params)
obj.someMethod()

这个关键字作为类构造函数的参数有什么用?

1 个答案:

答案 0 :(得分:0)

关键字用于将管道步骤传递给库类,构造函数或仅一个方法

假设我有以下管道

pipeline{
  agent any
  stages {
    stage {
      steps {
        echo "Inside Steps block"
        script {
           echo "Hello World"
           sh 'date'
           def obj = new Bar(this)
           obj.test()
        }
      }
    }
  }
}

这就是类文件的外观

class Bar implements Serializable {
  def steps
  Bar(steps) {
    this.steps = steps
  }

  void test() {
    this.steps.echo 'Hello World inside class Method'
    this.steps.sh 'date'
  }
}

所以基本上你可以在groovy类中使用你可以在管道内执行的任何步骤,方法是将 this 关键字传递给类构造函数

可以从official doc

找到更多信息