Доступ к конвейеру Jenkins WorkflowScript во время выполнения - PullRequest
0 голосов
/ 15 января 2020

Я хотел бы знать, есть ли способ получить доступ к объекту сценария Jenkins Workflow во время его выполнения.

У меня есть общая библиотека, и я могу передать этот объект в любой класс groovy как аргумент, либо непосредственно из файла Jenkins, используя ключевое слово this, либо из любого DSL в папке vars, также используя ключевое слово this.

Но я бы хотел получить к нему доступ, используя метод, даже если это подразумевает использование рефлексивности.

Возможно ли это?

1 Ответ

1 голос
/ 15 января 2020

Вот пример с конвейером, где this - это объект script. Некоторые другие примеры здесь :

MyClass myClass = new MyClass()

pipeline {
    agent any

    environment {
        VAR1 = "var1"
        VAR2 = sh(returnStdout: true, script: "echo var2").trim()
        VAR3 = "var3"
    }

    stages {
        stage("Stage 1") {
            steps {
                script {
                    myClass.myPrint(this, "${VAR1}", "${VAR2}", "${VAR3}")
                }
            }
        }
    }
}

class MyClass implements Serializable {
    void myPrint(def script, String var1, String var2, String... vars) {
        script.echo "myPrint: ${var1}"
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...