通过travis API获取repo的最新travis构建状态

时间:2015-06-22 13:11:27

标签: github build continuous-integration travis-ci

我需要通过他们的API获取repo的最新travis构建状态。我需要一个与构建状态标志相同的行为,即它表示在" push"正在过去,即使是更新的" pull_request"失败了。

实现的一种方法是使用this列出仓库的所有版本,然后反向遍历,直到找到不是拉取请求的构建,然后检查其状态。

但是,必须有一个简短的方法,因为构建状态标记使用相同的行为。每次遍历构建只是为了获得最后的构建状态似乎很痛苦。

构建状态批处理使用的API端点是什么,可以直接获取最后一个" push"建立回购的状态?

3 个答案:

答案 0 :(得分:4)

最简单的解决方案是不使用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

答案 1 :(得分:2)

除非你知道build.id,否则我认为最好的方法是使用你引用的API并传入查询参数limit。像这样:

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

响应仍然是一个数组,但索引0将是最新的构建。 limit未记录在案,但Travis将其用于分页。

答案 2 :(得分:0)

感谢您的提问,我希望实现相同的目标,here 是 API 应该如何工作的一些详细示例。从中我派生出以下步骤来使用 Travis CI 获取存储库默认分支的构建状态。以下是详细说明:

TLDR

travis status -r a-t-0/sponsor_example --com --token <your personal Travis token>

详细说明

  1. 打开终端并登录以使用 Travis Api。您可以先获取 Travis 令牌,然后从终端使用 git 登录:
travis login --com --auto
  1. 如果这不起作用(返回 Not Found),您应该手动添加一个 GitHub 令牌。 来源:https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token

    2.1 要获取此令牌,请先 verify your github 电子邮件地址(如果您还没有这样做)。

    2.2 转到:https://github.com/settings/tokens

    2.3 添加新令牌并选择:

    2.3.1 私有仓库的 repo 控制

    2.3.2 admin:org 控制组织和团队,读写组织项目

    2.3.3 admin:repo_hook 完全控制仓库钩子

    2.3.4 admin:org_hook 组织控制

    2.4 写下来自 github 的秘密个人访问令牌。它可以有如下形式:1somelettersandsomenumbersordigitsandth4

    2.5 接下来,使用此令牌登录 Travis 的 --pro--com--org 帐户类型:

travis login --pro --github-token 1somelettersandsomenumbersordigitsandth4
travis login --com --github-token 1somelettersandsomenumbersordigitsandth4
travis login --org --github-token 1somelettersandsomenumbersordigitsandth4

应该返回:Successfully logged in as <your github username>!

2.6 请注意,api 调用许可证分为三种类型:pro、com、org。这在 `travis status -h

中可见

2.7 获取您的专业代币:

travis token --pro
Your access token is <somepersonalprotoken>

2.8 获取您的 --org 令牌:

travis token --org
Your access token is <somepersonalorgtoken>

2.9 获取您的 --com 令牌:

travis token --com
Your access token is <somepersonalcomtoken>
  1. 在运行测试之前将您的 travis 令牌导出到终端:
COM_TRAVIS_TOKEN="<your secret travis pro/com token>"
  1. 通过以下方式获取构建状态:
travis status -r {your GitHub username}/{your repo name} --com --token $COM_TRAVIS_TOKEN
  1. 例如
travis status -r a-t-0/sponsor_example --com --token $COM_TRAVIS_TOKEN