Необходимо просмотреть статистику тестирования Travis CI по запросам на вытягивание репо через вызовы API Travis

Я создаю приложение Rails для менеджера студентов для проекта класса. Я уже использую Github API для просмотра запросов на вытягивание заданий. Будучи студентами, мы разветвляем наше задание инструктора, клонируем его, вносим свои изменения, а затем отправляем запросы на вытягивание наших выполненных заданий, чтобы сдать нашу работу.

Сейчас я создаю приложение, которое объединяет все эти шаги (и многое другое), и я хотел бы добавить в это приложение результаты теста travis-ci. Я смотрю на их API и не могу найти, как я могу показать результаты сборки travis для запросов на вытягивание репозиториев?

Мне было интересно, знает ли кто-нибудь еще или может указать мне правильное направление... вот ссылка на их документы API... https://api.travis-ci.org/docs/

Спасибо!


person devintraining    schedule 23.11.2013    source источник


Ответы (1)


Я раньше не использовал Travis API, поэтому извините, если что-то не так. Кроме того, я не уверен, ищете ли вы только статус сборки Travis (например, успех или неудача) или полные журналы, поэтому я постараюсь охватить и то, и другое.

  1. Получить запрос на вытягивание по его идентификатору.
  2. Извлеките ссылку statuses из хэша _links в ответе JSON. Эта ссылка указывает на статусы последней фиксации в запросе на вытягивание, которые используются для определения общего состояния запроса на вытягивание.
  3. Получить ссылку на статусы. Возвращаемый документ JSON представляет собой массив описаний состояния. Каждый статус имеет атрибут status, который описывает, является ли сборка pending, success, error или failure. Первый статус в массиве — это последний статус, и именно он используется для общего статуса запроса на вытягивание.
  4. Из возвращенного тела JSON извлеките значение атрибута target_url первого статуса в массиве. Для сборок Travis CI значение будет иметь следующий формат: https://travis-ci.org/rails/rails/builds/:build_id.
  5. Из извлеченного target_url извлеките идентификатор сборки (:build_id).
  6. Получите сборку от Travis, используя идентификатор, который вы только что проанализировали.
  7. Возвращенный хэш JSON будет содержать массив заданий сборки с именем matrix. Просмотрите этот список заданий, чтобы найти задание, для которого вы хотите получить журналы. Атрибут id каждого задания однозначно идентифицирует задание.
  8. Получить описание вакансии, используя атрибут id вакансии.
  9. Извлеките атрибут log из возвращенного описания JSON. Это необработанный текстовый журнал для этого задания.
person Ivan Zuzak    schedule 23.11.2013
comment
Иван, это сработало отлично! Большое спасибо! Чтобы получить необработанный текстовый журнал, мне действительно пришлось сделать это jobs/:id/log, это было не совсем то, что было в документах для API ... еще раз спасибо! :-) - person devintraining; 24.11.2013