2011-11-14 13 views
7

W Jenkins/Hudson, przy pomocy Postbuild Groovy skryptu, chciałbym dostać jedną z następujących czynności:Jak uzyskać szczegółowe informacje o bieżącym projekcie budowy w Jenkins z Groovy?

  • zmiennej środowiskowej (np aktualny job_name, BUILD_NUMBER etc.)
  • wynikiem specyficzny numer kompilacji aktualnego projektu
  • numer kompilacji ostatniego nie udanej produkcji w bieżącym projekcie

w tej chwili tylko znaleźć w następujący sposób, ale to raczej ograniczony:

def item = hudson.model.Hudson.instance.getItem("GroovyMultipleFailTest") 
def build = item.getLastBuild() 
build.getNumber() 

Odpowiedz

0

zmienną środowiska (np Prąd job_name, BUILD_NUMBER itp)

String jobName = System.getenv('JOB_NAME') 
+2

Próbowałem, ale niestety to nie zadziałało. Jednak udało mi się uzyskać nazwę projektu/zadania przez manager.build.project.getName(). – datka

+0

Wygląda na to, że ten sposób działa podczas uruchamiania "groźnego" skryptu - np. w tej samej maszynie wirtualnej, co proces Jenkins/Hudson, natomiast metoda System.getenv() działa podczas uruchamiania zewnętrznego skryptu. – Robert

+0

Uzyskuje dostęp do zmiennych środowiska komputerowego, zamiast do zmiennych zadań. – Stoinov

4
${manager.build.getEnvironment(manager.listener)['BUILD_NUMBER'] } 
3

Bo Persson miał najlepszą odpowiedź, ale był trochę krótki.

Aby uzyskać dostęp do zmiennych środowiskowych z kompilacji w Postoku Groovy, można pobrać je z kompilacji. Ten przykładowy kod jest przydatna dla dumping wszystkich zmiennych środowiskowych kompilacji do konsoli:

manager.build.getEnvironment(manager.listener).each { 
    manager.listener.logger.println(it); 
} 
2

Jeśli używasz skryptu Groovy wewnątrz „Env Inject”, można uzyskać aktualną wersję i bieżącą pracę poprzez:

currentJob.getName() 
currentBuild.toString() 
+0

Jak uzyskać tylko numer BUILD_NUMBER zamiast BUILD_NAME + #BUILD_NUMBER? – MKD

0

jedynym sposobem, mam go do pracy dla mnie było z build.properties.environment.BUILD_NUMBER

1

Korzystanie Jenkins v2.17 działa to dla mnie:

echo „Bui LD_NUMBER = $ {env.BUILD_NUMBER} "

Powiązane problemy