2015-06-22 29 views
1

我需要通過他們的API獲取repo的最新travis build狀態。我需要一個與構建狀態標記相同的行爲,即,即使新的「pull_request」失敗,它也會在「push」傳遞時顯示傳遞。通過travis API獲取最新的travis build repo的狀態

實現的一種方法是使用this列出所有回購庫的構建,然後沿相反方向遍歷,直到找到不是拉取請求的構建,然後檢查其狀態。

但是,由於構建狀態標記使用了相同的行爲,因此必須採用簡短的方法。每次遍歷構建以獲得最後的構建狀態看起來都很痛苦。

通過構建狀態批處理來直接獲取回購的最後一個「推」構建狀態的API端點使用了什麼?

回答

1

除非你知道build.id,否則我認爲最好的方法就是使用你所指的API並傳入查詢參數limit。類似這樣的:

repo/{repository.id}/builds/builds?limit=1 
repo/{+repository.slug}/builds/builds?limit=1 

響應仍然是一個數組,但索引0將是最近的版本。 limit沒有記錄,但它被Travis用於分頁。

3

最簡單的解決方案是不使用Travis API,而是構建狀態標誌。測試「通過」或「失敗」作爲文本嵌入到SVG圖像中:

curl -s 'https://api.travis-ci.org/$USER/$REPO.svg?branch=$BRANCH' | grep pass 
curl -s 'https://api.travis-ci.org/$USER/$REPO.svg?branch=$BRANCH' | grep fail