需要通过Travis API调用查看有关Repo Pull请求的Travis CI测试统计信息

时间:2013-11-23 02:19:15

标签: ruby-on-rails api testing github-api travis-ci

我正在为一个类项目构建一个学生管理器rails应用程序。我已经在使用Github API来查看分配拉取请求。作为学生,我们分配我们的教师任务,克隆它,进行我们的更改,然后我们提交已完成任务的拉动请求以交付我们的工作。

我现在正在构建一个集成了所有这些步骤(以及更多)的应用程序,我想在此应用程序中添加travis-ci测试结果。我正在查看他们的API,我似乎无法找到如何显示repos pull请求的travis构建结果?

我想知道是否有其他人会知道,或者可以指出我正确的方向......这是他们的API文档的链接...... https://api.travis-ci.org/docs/

谢谢!

1 个答案:

答案 0 :(得分:1)

我之前没有使用Travis API,所以如果我出错了,我很抱歉。另外,我不确定你是在寻找Travis构建的状态(例如成功或失败),还是完整的日志 - 所以我会尝试覆盖两者。

  1. Fetch the pull request通过其ID。
  2. 从JSON响应中的statuses哈希中提取_links链接。此链接指向pull请求中上次提交的状态,用于确定提取请求的总体状态。
  3. Fetch the statuses link。返回的JSON文档是一个状态描述数组。每个状态都有一个status属性,用于说明构建是pendingsuccesserror还是failure。数组中的第一个状态是最新状态,这是用于拉取请求的整体状态的内容。
  4. 从返回的JSON主体中,提取数组中第一个状态的target_url属性的值。对于Travis CI构建,值将采用以下格式:https://travis-ci.org/rails/rails/builds/:build_id
  5. 从解压缩的target_url解析出构建的ID(:build_id)。
  6. Fetch the build from Travis使用您刚刚解析的ID。
  7. 返回的JSON哈希将包含一组名为matrix的构建作业。迭代此作业列表以查找要获取日志的作业。每个作业的id属性唯一标识作业。
  8. Fetch the job description使用作业的id属性。
  9. 从返回的JSON描述中提取log属性。这是该作业的原始文本日志。