Пользовательская функция в Delcarative Pipeline? - PullRequest
0 голосов
/ 14 сентября 2018

У меня есть этот простой конвейер (я использую более сложный, но этот воспроизводит его):

def test(String name) {
    println test
}

pipeline {
    agent {
        dockerfile {
            label "jenkins-lnx-slave3"
            args "--user root:root"
            dir "CICD"
        }
    }

    stages {
        stage ('Test') {
            steps {
                test(name: 'Hello')
            }
        }
    }
}

И Дженкинс выдает мне эту ошибку «Нет такого метода DSL« тест »найден»:

> [Pipeline] } [Pipeline] // withEnv [Pipeline] } [Pipeline] // node
> [Pipeline] End of Pipeline java.lang.NoSuchMethodError: No such DSL
> method 'test' found among steps [ArtifactoryGradleBuild,

Это продолжается и продолжается для многих строк.Я правильно делаю пользовательскую функцию?

У кого-нибудь есть идеи?

1 Ответ

0 голосов
/ 14 сентября 2018

Вы пытаетесь вызвать test с именованным аргументом, и это приводит к поломке. Этот пост объясняет, что происходит, когда вы пытаетесь использовать именованные параметры в groovy.

Кроме того, у вас есть опечатка внутри test: println test должно быть println name.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...