首页 文章

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

提问于
浏览
2

我需要通过他们的API获得repo的最新travis构建状态 . 我需要一个与构建状态标记相同的行为,即它表示在“push”传递时传递,即使较新的“pull_request”失败也是如此 .

实现的一种方法是使用this列出repo的所有构建,然后反向遍历,直到找到不是pull请求的构建,然后检查其状态 .

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

构建状态批处理使用什么API endpoints 直接获取repo的最后“推送”构建状态?

2 回答

  • 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

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

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

    响应仍然是一个数组,但索引0将是最新的构建 . limit 没有记录,但是Travis用它们进行分页 .

相关问题