2016-11-25 3 views
0

Ich verwende Job DSL und ich möchte eine Datei herunterladen, lesen und einige env-Variablen festlegen.Verwenden Sie Dateifunktionen auf 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) 

} 

Das ist die Ausnahme, die ich bin

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

Scheint, wie die Merkmale der Datei verwendet wird, kann nicht zu empfangen. Aber in groovy Datei zu sein, die ich erwartet hatte, kann die Job DSL Vorlagen und auch alle groovigen Funktionen verwenden.

Antwort

2

Datei ist null, so NPE wirft, wenn Sie eine Methode nennen

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

wo das Symbol Handfläche ist, wenn Sie es brauchen !!! – paul

Verwandte Themen