Как получить все предыдущие сборки для задания Jenkins через API?

Я создаю сценарий python для получения данных истории сборки для заданий Jenkins. Мне это удалось, используя библиотеку запросов для получения вывода json, передачи в фрейм данных и отчета.

Я заметил, что он вытягивает только последние 100 сборок, что похоже на значение по умолчанию. Я тестирую с помощью базового вызова curl, который отлично работает с получением последних 100, чтобы увидеть, как я могу получить все сборки. Я искал в Google и нашел тот, в котором сказано добавить fetch_all_builds = True, но он все равно тянет только 100.

Кто-нибудь знает, как я могу запросить все сборки из работы через вызов API?

Спасибо


person miwiwa    schedule 22.02.2018    source источник


Ответы (1)


Добавление tree=allBuilds даст вам то, что вы хотите.

<JENKINS URL>/job/<Job Name>/api/json?tree=allBuilds[*]&depth=2

Это URL-адрес вызова API.

person SV Madhava Reddy    schedule 22.02.2018
comment
Спасибо за ответ. Как мне добавить к этому глубины? Я попробовал ..../api/json?tree=allBuilds&depth=2, но это не сработало. - person miwiwa; 22.02.2018
comment
На самом деле я забыл упомянуть [*] в URL-адресе. Если вы сделаете это, вы получите все сборки с данными. Вы также можете сделать tree=allBuilds[id,queueId], чтобы указать, какие ключи возвращать. - person SV Madhava Reddy; 23.02.2018
comment
@miwiwa это сработало? Это точно работает. Потому что я использую то же самое. Есть ли у вас какие-либо ошибки или что-то, что вы хотите упомянуть? Если все в порядке, примите чей-то ответ, чтобы эту ветку можно было закрыть. - person SV Madhava Reddy; 30.03.2018
comment
Я получаю { _class: "com.cloudbees.hudson.plugins.folder.Folder" } - person Snowcrash; 11.06.2021