Как найти и запросить конкретную сборку в Jenkins с помощью API Python Jenkins
у нас есть задание Дженкинса, которое запускает сборки с использованием определенных параметров. Два из этих параметров важны для меня: машина, на которой развертывается сборка, и номер версии развернутого пакета.
https://jenkinsurl/job/folder_level1/job/folder_level2/job/folder_level3/job_id/
вот пример вывода JSON 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"}]}
используя API REST Jenkins или оболочку Python Jenkins, как я буду искать работу, если я знаю folder_level1 и хотел бы сопоставить имя лаборатории с заданием в folder_level3, чтобы, наконец, получить версию из этого URL?
1 ответов
используйте формат / api / xml:
https://jenkinsurl/job/folder_level1/api/xml
возвращает action
XML-узел, который можно запросить через XPath:
возьмите соответствующее имя оттуда для поиска данных, о которых идет речь:
- builtOn-машина, на которой развертывается сборка
- number - номер версии пакета, который является развернуто
используя XPath для каждого, вместе с узлом оболочки для группировки, например, следующее для builtOn:
https://jenkinsurl/job/folder_level1/api/xml?depth=3&xpath=//fullDisplayName[contains(text(),'foo')]/following-sibling::builtOn&wrapper=builtOn_results
и еще одна версия:
https://jenkinsurl/job/folder_level1/api/xml?depth=3&xpath=//fullDisplayName[contains(text(),'foo')]/following-sibling::number&wrapper=version_results
ссылки