В одном из моих приложений я хочу запустить сборку Travis CI, «наблюдать» за сборкой, как она запланирована, запускаться и заканчиваться, затем извлекать окончательное состояние сборки и журнал сборки для вывода его в мое приложение.
Я начал с , вызвав сборку с API , что дает мне Request
и его request.id
.Это отлично работает.
- Затем я могу получить этот
Request
, который включает Request.state
и встроенный Build
и его Build.id
вместе с Build.state
, используя /repo/.../request/#id
конечная точка . - Затем я мог бы начать опрос
/build/#id
конечная точка для отслеживания состояния каждую секунду. - Как только сборка будет завершенаЯ могу использовать
Job
, который является частью Build
(при запросе от /build/#id
), чтобы загрузить журнал из /job/#id/log
и отобразить его в моем приложении.
Все это звучит довольно неэффективно.
Есть ли лучший способ добиться этого?
Есть ли "более быстрый" способ (= меньше запросов) от создания request
до log
?
Можно ли как-нибудь избежать ручного опроса?