Jeśli masz plik o nazwie „a.txt” w roboczej wraz ze skryptu o nazwie „sysgvy.groovy”, że chcesz wykonać jako system porywające scenariusz. Załóżmy, że twój skrypt "sysgvy.groovy" musi odczytać plik "a.txt".
Problem w tym temacie polega na tym, że jeśli twój skrypt czyta "a.txt" bezpośrednio, nie podając żadnej ścieżki, "sysgvy.groovy" wykona i wyświetli błąd mówiąc, że nie może znaleźć "a.txt".
Testowałem i stwierdziłem, że następująca metoda działa dobrze.
def build = Thread.currentThread().executable
Następnie użyj
build.workspace.toString()+"\\a.txt"
jako pełnej lokalizacji ciąg zastąpić "a.txt".
Ważne jest również, aby uruchomić na maszynie głównej Jenkins umieszczając "a.txt" i "sysgvy.groovy" na obszarze roboczym maszyny głównej Jenkins. Wykonywanie na komputerze slave nie działa.
Spróbuj, plik powinien zostać znaleziony i odczytany w skrypcie bez żadnego problemu.
Jeśli występuje problem ze zmienną Wątek, to tylko niektóre moduły muszą zostać zaimportowane. Więc dodaj te linie na początku kodu:
import jenkins.*
import jenkins.model.*
import hudson.*
import hudson.model.*
filename = build.workspace.toString() + "/ a.txt"; myFile = new Plik (nazwa pliku); data = myFile.readLines(); dane println; – gaoithe
groovy.lang.MissingPropertyException: Brak takiej właściwości: wykonywalny dla klasy: java.lang.Thread – saikosen