Использование этого ключевого слова в качестве аргумента для конструктора классов в файле Jenkins

Недавно я встретил следующие строки в файле Jenkinsfile

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

каково использование этого ключевого слова в качестве аргумента для конструктора классов?

1 ответ

это ключевое слово используется для передачи шагов шага в класс библиотеки, в конструкторе или только один метод

Предположим, у меня есть следующий конвейер

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, передав это ключевое слово конструктору класса

Более подробную информацию можно найти в официальном документе

licensed under cc by-sa 3.0 with attribution.