2016-11-25 8 views
0

Я использую Job DSL, и я хотел бы загрузить файл, прочитать его и установить некоторые переменные env.Использование функций файла в Job DSL

def static setSecrets(Job delegate, Map overrides = [:]) { 
    def liveUsername 
    def livePassword 
    def file 
    new URL('https://path/file').withInputStream { i -> 
     file.withOutputStream { 
      it << i 
     } 
    } 
    file.withReader { liveUsername = it.readLines().get(0) } 
    file.withReader { livePassword = it.readLines().get(1) } 

    def options = [ 
      IDENTITY_USER: liveUsername, 
      IDENTITY_PASSWORD: livePassword] 

    setEnv(delegate, options, overrides) 

} 

Это исключение, I'm получение

java.lang.NullPointerException: Cannot invoke method withOutputStream() on null object 

Похоже особенности файла не используются. Но, находясь в groovy файле, я ожидал, что вы сможете использовать шаблоны Job DSL, а также все отличные функции.

ответ

2

Файл является недействительным, так бросает NPE при вызове метода на нем

def file 
... 
file.withOutputStream { // BANG! 
+0

где значок лицо ладонью, когда вам это нужно !!! – paul