Я использую декларативные конвейеры и отдельных помощников по конвейеру.В одном из помощников у меня есть файл vars / getTriggerCause.groovy с
/**
* Checks for cause of the job trigger and returns respective cause
* @return user, scm, time or other
*/
def String getCause() {
echo "CAUSE ${currentBuild.rawBuild.getCauses().properties}"
def cause = "${currentBuild.rawBuild.getCauses()}"
if (cause =~ "UserIdCause") {
return "user"
}
}
/**
* Checks if trigger cause of the job is the timer
* @return true if trigger is timer
*/
def boolean isTime() {
return this.call() == "time"
}
Теперь я хочу использовать функцию в Jenkisfile, как это
echo getTriggerCause().isTime()
, что приводит к NPE:
java.lang.NullPointerException: Cannot invoke method getCause() on null object
Когда я смотрю на это , я ожидаю, что это сработает.Единственное отличие от связанного примера в том, что я загружаю библиотеку динамически из scm.