Удаленный API Jenkins - ждать завершения сборки и получения результата?
При использовании Jenkins CLI я могу использовать build
команда с опциями -v
а также -s
запустить сборку, ожидая ее завершения и распечатав вывод.
Можно ли каким-то образом добиться того же результата (дождаться выполнения и получить выходные данные) с помощью одного вызова REST API? Я знаю, что это можно сделать, опрашивая статус сборки до его завершения и затем запрашивая его вывод, но я хочу знать, есть ли простой вариант для кратковременных заданий.
1 ответ
Вы можете сделать это так или иначе. Но даже если вы это сделаете, вы не сможете применить тот же код для других заданий. Там будет период ожидания для next available executor
или могут произойти некоторые условия гонки, как это. И удержание API остальных в течение этого длительного периода не будет хорошим вариантом. И никто не предполагает это.
Таким образом, вместо поиска REST API, у вас может быть алгоритм для опроса. вместо каждой секунды возьмите результаты предыдущих сборок, обработайте их и попытайтесь предсказать ближайшее возможное время, а затем опросите. Как этот вид алгоритмов или вы можете использовать Jenkins build remaining time
также. Надеюсь, это имеет смысл.