通过 AppVeyor 获取开源项目的构建历史 API
Getting open source project's build history via AppVeyor API
我正在对开源 GitHub 存储库进行研究,我想了解有关存储库的这条特定信息:它当前是否正在使用 CI-service 与否。
为此,我找到 *.yml
配置文件,识别 CI-provider 并查询其 API 以获取最新的构建历史记录。然后我可以验证 master
分支的最新提交是否有关联的 CI-build.
例如,如果项目使用 Travis,那么查询 https://api.travis-ci.org/repos/{owner}/{repo}/builds
会提供有关最新 50 个构建的信息,这正是我所需要的。
但我在使用 AppVeyor 时遇到了一些问题。根据他们的 documentation,可以通过以下方式获取构建历史:https://ci.appveyor.com/api/projects/{accountName}/{projectSlug}/history?recordsNumber={records-per-page}
。 API 服务请求相应地提供了强制性标题(Accept
和 Authorization
)。但是,当我尝试获取项目的构建历史记录时(例如 Octokit/Octokit.net
),我总是收到 "Project not found or access denied."
.
因此,我假设 AppVeyor 仅限注册项目合作者访问构建信息是否正确?
谢谢!
要验证 master
分支的最新提交是否具有关联的 CI 构建,您甚至不需要调用 CI API - 所需的信息是已经 GitHub 了!您所需要的只是使用 Statuses API 检查提交状态。每个 CI 系统都有自己独特的状态 context
值。例如,AppVeyor 上下文从 continuous-integration/appveyor
.
开始
我正在对开源 GitHub 存储库进行研究,我想了解有关存储库的这条特定信息:它当前是否正在使用 CI-service 与否。
为此,我找到 *.yml
配置文件,识别 CI-provider 并查询其 API 以获取最新的构建历史记录。然后我可以验证 master
分支的最新提交是否有关联的 CI-build.
例如,如果项目使用 Travis,那么查询 https://api.travis-ci.org/repos/{owner}/{repo}/builds
会提供有关最新 50 个构建的信息,这正是我所需要的。
但我在使用 AppVeyor 时遇到了一些问题。根据他们的 documentation,可以通过以下方式获取构建历史:https://ci.appveyor.com/api/projects/{accountName}/{projectSlug}/history?recordsNumber={records-per-page}
。 API 服务请求相应地提供了强制性标题(Accept
和 Authorization
)。但是,当我尝试获取项目的构建历史记录时(例如 Octokit/Octokit.net
),我总是收到 "Project not found or access denied."
.
因此,我假设 AppVeyor 仅限注册项目合作者访问构建信息是否正确?
谢谢!
要验证 master
分支的最新提交是否具有关联的 CI 构建,您甚至不需要调用 CI API - 所需的信息是已经 GitHub 了!您所需要的只是使用 Statuses API 检查提交状态。每个 CI 系统都有自己独特的状态 context
值。例如,AppVeyor 上下文从 continuous-integration/appveyor
.