Как решить, нет подписи метода с Groovy в трубопроводе Дженкинса - PullRequest
1 голос
/ 21 марта 2019

У меня есть многострочный скрипт

sh """
        SCRIPT_BRANCH=${SCRIPT_BRANCH:-develop}
        curl -o ${LIQUIBASE_CI_SCRIPT} -H "Authorization: token ${GITHUB_AUTH_TOKEN}" --header ${SCRIPT_BRANCH}/src/shell/branch_cut_liquibase_gen.sh
        chmod +x ${LIQUIBASE_CI_SCRIPT}
        curl -o ${LIQUIBASE_GEN_SCRIPT} -H "Authorization: token ${GITHUB_AUTH_TOKEN}" --header ${SCRIPT_BRANCH}/src/shell/liquibase_generation.sh
        chmod +x ${LIQUIBASE_GEN_SCRIPT}
        curl -o ${LIQUIBASE_TRANSFORM_SCRIPT} ${SCRIPT_BRANCH}/src/python/liquibase_transform.py
        chmod +x ${LIQUIBASE_TRANSFORM_SCRIPT} 
        ${LIQUIBASE_CI_SCRIPT}
    """.stripMargin()

    email(${EMAIL}, ${DEFAULT_CONTENT})

def build = bareBuild() {
    buildAction = branchCutAction
}

как в моем отличном файле. Это вызывает Дженкинс, и я получаю эту ошибку.

hudson.remoting.ProxyException: groovy.lang.MissingMethodException: No signature of method: java.lang.String.negative() is applicable for argument types: () values: []Possible solutions: notify(), normalize(), next()

Я действительно в растерянности относительно того, почему это может иметь место. Я просмотрел похожие вопросы, и, похоже, ничто не соответствует моей проблеме

1 Ответ

0 голосов
/ 21 марта 2019

Вам необходимо вызвать stripMargin() до sh, таким образом разделить их на два блока кода.

def cmd = """
        SCRIPT_BRANCH=${SCRIPT_BRANCH:-develop}
        curl -o ${LIQUIBASE_CI_SCRIPT} -H "Authorization: token ${GITHUB_AUTH_TOKEN}" --header ${SCRIPT_BRANCH}/src/shell/branch_cut_liquibase_gen.sh
        chmod +x ${LIQUIBASE_CI_SCRIPT}
        curl -o ${LIQUIBASE_GEN_SCRIPT} -H "Authorization: token ${GITHUB_AUTH_TOKEN}" --header ${SCRIPT_BRANCH}/src/shell/liquibase_generation.sh
        chmod +x ${LIQUIBASE_GEN_SCRIPT}
        curl -o ${LIQUIBASE_TRANSFORM_SCRIPT} ${SCRIPT_BRANCH}/src/python/liquibase_transform.py
        chmod +x ${LIQUIBASE_TRANSFORM_SCRIPT} 
        ${LIQUIBASE_CI_SCRIPT}
    """

sh "${cmd}"

email("${EMAIL}", "${DEFAULT_CONTENT}")
...