2016-07-22 7 views
5

Mamy pracę Jenkinsa, która uruchamia kompilacje przy użyciu określonych parametrów. Dwa z tych parametrów są dla mnie ważne: komputer, na którym wdrażana jest kompilacja, oraz numer wersji wdrożonego pakietu.Jak znaleźć i zapytać konkretną kompilację w Jenkinsie za pomocą interfejsu API Pythona Jenkinsa

https://jenkinsurl/job/folder_level1/job/folder_level2/job/folder_level3/job_id/

Oto próbka wyjścia json z URL:

https://jenkinsurl/job/folder_level1/job/folder_level2/job/folder_level3/job_id/api/json

{"actions":[{"parameters":[{"name":"lab_name","value":"labA"},{"name":"version_no","value":"1.1"}]} 

używając API Jenkins spoczynku lub opakowanie Python Jenkins , jak mam szukać zadania, jeśli znam folder_level1 i chciałbym dopasować nazwę laboratorium do zadania w folderze level_level3, aby w końcu uzyskać wersję z tego adresu URL?

Odpowiedz

4

Użyj/api/format XML:

https://jenkinsurl/job/folder_level1/api/xml 

która zwraca węzeł action XML, który można przeszukiwać za pomocą XPath:

brał imienia pasującego od tam, aby wyszukać dane w pytaniu:

  • builtOn - maszyna, że ​​budowa jest rozmieszczony na
  • number - numer wersji pakietu, który został wdrożony

Stosując XPath każdy, wraz z węzłem owijki dla grupy, np jako następujące po builtOn:

https://jenkinsurl/job/folder_level1/api/xml?depth=3&xpath=//fullDisplayName[contains(text(),'foo')]/following-sibling::builtOn&wrapper=builtOn_results 

i innej wersji:

https://jenkinsurl/job/folder_level1/api/xml?depth=3&xpath=//fullDisplayName[contains(text(),'foo')]/following-sibling::number&wrapper=version_results 

Odniesienia

+0

rozwiązany za pomocą wersję Twojego rozwiązania, ale nie pamiętam, aby opublikować odpowiedź wcześniej. Dziękuję Ci! – shanwar

Powiązane problemy